readelf命令在linux系统里是用于查看分析可执行文件,共享库等文件的ELF格式的信息。包括文件头,节头,程序头,动态节和重定位等信息,同时也可以查看目标文件的编译器版本,链接器版本等信息。
语法格式:readelf 参数 文件名;参数不可为空。
图1
参数说明-a参数:显示全部信息,包括ELF Header,Section Headers等信息。
图2
-h参数:显示ELF文件开始的头信息,包括文件类型,入口地址,以及节头表偏移等信息。
图3
-S参数:显示是节头表信息,包括节点,节类型,大小等信息。
图4
-s参数:显示符号表信息,包括符号名,值,大小等。
图5
-r参数:显示重定位表信息,包括偏移,类型,符号等信息。
图6
-d参数:显示动态节信息,包括动态节名,动态符号表信息。
图7
-V参数:显示版本段的信息。
图8
readelf命令可以帮助用户用于分析程序性能,通过查看程序里的符号表信息等,了解程序内部结构,可以更好的优化程序。