可執行與可鏈接格式

admin2025-06-11 00:56:28747

每个 ELF 文件都由一个 ELF 首部和紧跟其后的文件数据部分组成。数据部分可以包含:

程序头表(Program header table):描述 0 个或多个内存段信息。

分段头表(Section header table):描述 0 段或多段链接与重定位需要的数据。

程序头表与分段头表引用的数据,比如 .text .data。

ELF 文件结构

内存段中包含了用于某个 ELF 文件运行时执行所需的信息,而片段中包含了用于链接和重定位的重要数据。整个文件中的任何一个字节至多只能属于一个片段,也就是说可能存在不属于任何片段的孤立字节。

00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|

00000010 02 00 3e 00 01 00 00 00 c5 48 40 00 00 00 00 00 |..>......H@.....|

ELF 文件首部的 16 进制内容举例