8.6.1. readelf¶
备注
Linux、Unix专用,mac下参考 otool 命令
用于显示 ELF(Executable and Linkable Format)文件信息的工具。它是 binutils 工具集的一部分,广泛应用于 Linux 和 Unix 系统下分析和调试 ELF 文件。
常用选项及其说明:
-h:显示 ELF 文件头信息。
readelf -h <filename>
示例输出包括 ELF 文件类型、目标架构、入口点地址等信息。
-l:显示程序头信息。
readelf -l <filename>
示例输出包括可执行段的加载地址、段大小等信息。
-S:显示节头信息。
readelf -S <filename>
示例输出包括每个节的名称、类型、地址、偏移量、大小等信息。
-s:显示符号表信息。
readelf -s <filename>
示例输出包括符号名称、符号类型、绑定信息、符号所在节、符号值和大小等信息。
-r:显示重定位表信息。
readelf -r <filename>
示例输出包括重定位条目、重定位类型、符号名称、重定位偏移等信息。
-d:显示动态段信息。
readelf -d <filename>
示例输出包括动态库依赖项、动态符号表、动态重定位等信息。这是检查共享库 soname 的重要选项。
-a:显示所有信息(等同于 -h -l -S -s -r -d -V)。
readelf -a <filename>
示例输出包括 ELF 文件的所有详细信息。
示例:
$ readelf -d test.so | grep SONAME
0x000000000000000e (SONAME) Library soname: [test]