NAME
readelf - Displays information about ELF files.
readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。
SYNOPSIS
readelf [-a|--all] [-h|--file-header] 显示在elf文件头里包含的所有信息 [-l|--program-headers|--segments] 显示程序头(段头)信息(如果有的话) [-S|--section-headers|--sections] 显示节头信息(如果有的话) [-g|--section-groups] 显示节组信息(如果有的话) [-t|--section-details] 显示节的详细信息 [-e|--headers] 显示全部头信息,等价于: -h -l -S [-s|--syms|--symbols] 显示符号表段中的项(如果有的话) [-n|--notes] 显示note段(内核注释)的信息。 [-r|--relocs] 显示所有定位入口的信息 [-u|--unwind] 显示unwind段信息。当前只支持IA64 ELF的unwind段信息 [-d|--dynamic] 显示动态段的信息。
ELF文件
在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。
是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式
ELF文件由4部分组成
ELF头(ELF header)
程序头表(Program header table)
节(Section)
节头表(Section header table)
实际上,一个文件中不一定包含全部内容,而且他们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息由ELF头中的各项值来决定。