0x1、概述
readelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。以下命令的使用是基于android编译出来的so文件上面去运行。
0x2、readelf常用命令
语法:readelf (选项)(参数:文件),除了-v和-H之外,其它的选项必须有一个被指定参数
1、选项 -h(elf header),显示elf文件开始的文件头信息。后面文章会补上具体说明。
2、选项 -l(program headers),segments 显示程序头(段头)信息(如果有数据的话)。后面文章会补上具体说明。
3、选项 -S(section headers),sections 显示节头信息(如果有数据的话)。后面文章会补上具体说明。
4、选项 -g(section groups),显示节组信息(如果有数据的话)。
5、选项 -t,section-details 显示节的详细信息(-S的)。
后面还有其它数据,就不列出来了。
6、选项 -s,symbols 显示符号表段中的项(如果有数据的话)。
7、选项 -e,headers 显示全部头信息,等价于: -h -l -S 。
8、选项 -n,notes 显示note段(内核注释)的信息 。
9、选项 -r,relocs 显示可重定位段的信息。
10、选项 -u,unwind 显示unwind段信息。当前只支持IA64 ELF的unwind段信息。
11、选项 -d,dynamic 显示动态段的信息。
12、选项 -V,version-info 显示版本段的信息。
13、选项 -A,arch-specific 显示CPU构架信息。
14、选项 -I,histogram 显示符号的时候,显示bucket list长度的柱状图。
15、选项 -x,hex-dump=<number or name> 以16进制方式显示指定段内内容。number指定段表中段的索引,或字符串指定文件中的段名
16、选项 -D,use-dynamic 使用动态段中的符号表显示符号,而不是使用符号段 。
17、选项 -a,all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I。
18、选项 -v,version 显示readelf的版本信息。
19、选项 -H,help 显示readelf所支持的命令行选项。