ELF文件格式

参考链接

参考链接

objdump

ELF文件格式

Unix/Linux平台下主要有三种可执行文件格式。

  1. a.out(assembler and link editor output 汇编器和连接器的输出)
  2. COFF(Common Object File Format 通用对象文件格式)
  3. ELF(Excutable and Linking Format 可执行和链接格式) 重点

可执行文件的要素:

  • 代码和数据
  • 重定位和符号信息
  • 辅助信息:调试信息,硬件信息

ELF文件有三种类型:

  1. .o 目标文件,可重定位文件
  2. .so 库文件,共享文件
  3. 可执行文件(通常无扩展名)

ELF可执行文件

查看ELF文件

  1. 文件头:对ELF文件的整体描述,在32位系统下是56的字节,在64位系统下是64个字节。主要包括以下和进程启动相关的信息:

e_entry 程序入口地址
e_phoff segment偏移
e_phnum segment数量

  1. segment表
  2. 主题:数据和代码段
  3. section表

查看文件

命令:readelf/objdump

>> read -h hello
>> read -x hello

你可能感兴趣的:(ELF文件格式)