ELF文件格式
Unix/Linux平台下主要有三种可执行文件格式。
- a.out(assembler and link editor output 汇编器和连接器的输出)
- COFF(Common Object File Format 通用对象文件格式)
- ELF(Excutable and Linking Format 可执行和链接格式) 重点
可执行文件的要素:
- 代码和数据
- 重定位和符号信息
- 辅助信息:调试信息,硬件信息
ELF文件有三种类型:
- .o 目标文件,可重定位文件
- .so 库文件,共享文件
- 可执行文件(通常无扩展名)
ELF可执行文件
查看ELF文件
- 文件头:对ELF文件的整体描述,在32位系统下是56的字节,在64位系统下是64个字节。主要包括以下和进程启动相关的信息:
e_entry 程序入口地址
e_phoff segment偏移
e_phnum segment数量
- segment表
- 主题:数据和代码段
- section表
查看文件
命令:readelf/objdump
>> read -h hello
>> read -x hello
网友评论