readelf命令讀取elf文件的詳細(xì)信息(推薦)
readelf命令
概述
readelf用于查看elf文件的文件信息,關(guān)于elf文件及其格式的介紹在【ctf權(quán)威競賽指南筆記】(2)二進(jìn)制文件中有比較詳細(xì)的介紹。
常用參數(shù)
在這里使用一個(gè)elfDemo.rel作為示例,elfDemo.rel是elfDemo.c使用如下指令生成的。
gcc -c elfDemo.c -o elfDemo.rel
elfDemo.c內(nèi)容如下:
#include<stdio.h>
int global_inited_var = 10;//global var inited
int global_uninited_var;//global var uninited
char* global_char_x = "saa";
void func(int sum)
{
printf("%d\n",sum);
}
void main(){
static int local_static_inited_var = 20;//local static inited
static int local_static_uninited_var;//local static uninited
int local_inited_var = 30;//local inited
int local_uninited_var;//local uninited
func(local_static_inited_var+local_static_inited_var+local_inited_var +local_uninited_var);
}-a 全部
顯示全部信息,等同于附參數(shù)-h -l -S -s -r -d -V -A -I
readelf -a elfDemo.rel

-h 文件頭
查看elf文件的文件頭。
readelf -a elfDemo.rel

-l 程序頭
顯示elf文件的程序頭信息。需要注意,參數(shù)為小寫L而不是大寫的i。
等同于--program-headers或--segments
readelf -l elfDemo.rel

rel文件需要鏈接而不可以直接執(zhí)行,所以沒有程序頭。
-S section頭
顯示段頭內(nèi)容。
等同于--section-headers或--sections
readelf -l elfDemo.rel

-e 全部頭
等同于-h -l -S,顯示三個(gè)頭部信息。
readelf -e elfDemo.rel

-s 符號表
等同于--symbols。顯示符號表。
readelf -e elfDemo.rel

-n 內(nèi)核注釋
顯示內(nèi)核注釋信息。
-r 重定位
顯示重定位信息。
readelf -r elfDemo.rel

-d 動(dòng)態(tài)段
顯示動(dòng)態(tài)段信息。
這個(gè)文件沒有.dynamic段。

-V 版本
顯示elf文件的版本信息。

-A CPU架構(gòu)
顯示CPU架構(gòu)信息。
-x 16進(jìn)制展示段
以16進(jìn)制形式顯示指定段的內(nèi)容,可以用段的索引或者段名來指定。
如在section頭中可以看到,.text段索引為1,所以可以使用。、
readelf -x 1 elfDemo.rel readelf -x .text elfDemo.rel
兩種形式之一來查看.text段內(nèi)的內(nèi)容。


到此這篇關(guān)于readelf命令讀取elf文件的詳細(xì)信息的文章就介紹到這了,更多相關(guān)readelf命令讀取elf文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本實(shí)現(xiàn)監(jiān)控shell腳本的執(zhí)行流程及變量的值
這篇文章主要介紹了shell腳本實(shí)現(xiàn)監(jiān)控shell腳本的執(zhí)行流程及變量的值本文使用shell完成對執(zhí)行過程中條件語句中的變量的變化的監(jiān)控和整個(gè)程序的執(zhí)行流程的觀察功能,需要的朋友可以參考下2015-03-03
一個(gè)監(jiān)控Squid運(yùn)行進(jìn)程數(shù)并自動(dòng)重啟的簡潔Shell腳本分享
這篇文章主要介紹了一個(gè)監(jiān)控Squid運(yùn)行進(jìn)程數(shù)并自動(dòng)重啟的簡潔Shell腳本分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
使用SHC對Shell腳本進(jìn)行封裝和源碼隱藏的方法
shc是一個(gè)由C語言編寫的Shell腳本加密程序,它可以將你的腳本編譯成二進(jìn)制可執(zhí)行文件,從而隱藏源碼,這篇文章主要介紹了如何使用SHC對Shell腳本進(jìn)行封裝和源碼隱藏,需要的朋友可以參考下2023-10-10
shell腳本實(shí)現(xiàn)ssh-copy-id批量自動(dòng)發(fā)送公鑰到遠(yuǎn)程主機(jī)
這篇文章主要介紹了shell腳本實(shí)現(xiàn)ssh-copy-id批量自動(dòng)發(fā)送公鑰到遠(yuǎn)程主機(jī)的方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
使用shell腳本實(shí)現(xiàn)ping對應(yīng)IP所對應(yīng)的人名(推薦)
這篇文章主要介紹了使用shell腳本實(shí)現(xiàn)ping對應(yīng)IP所對應(yīng)的人名的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
linux網(wǎng)絡(luò)編程用到的網(wǎng)絡(luò)函數(shù)詳解用和使用示例
本文對linux網(wǎng)絡(luò)編程用到的網(wǎng)絡(luò)函數(shù)做了簡單介紹,提供了使用示例供大家參考2013-11-11

