目 录
1
简介.....................................................................................................................................1
2
相关标准.............................................................................................................................1
2.1 S
YSTEM
V
ABI........................................................................................................................................ 1
2.2 LSB ........................................................................................................................................................ 2
3
ELF文件格式 .....................................................................................................................2
3.1 简介........................................................................................................................................................ 2
3.1.1 目标文件中的数据表示................................................................................................................ 2
3.2 目标文件格式........................................................................................................................................ 3
3.3 ELF
H
EADER
部分 .................................................................................................................................. 3
3.4 节区(S
ECTIONS
) ................................................................................................................................6
3.4.1 节区头部表格................................................................................................................................6
3.4.2 节区头部 ....................................................................................................................................... 7
3.4.3 特殊节区 ..................................................................................................................................... 10
3.5 字符串表(S
TRING
T
ABLE
)............................................................................................................... 12
3.6 符号表(S
YMBOL
T
ABLE
) ................................................................................................................. 13
3.6.1 关于st_info的说明....................................................................................................................... 13
3.6.2 符号类型 ..................................................................................................................................... 14
3.6.3 特殊的节区索引.......................................................................................................................... 15
3.6.4 STN_UNDEF符号....................................................................................................................... 15
3.6.5 符号取值 ..................................................................................................................................... 15
3.7 重定位信息.......................................................................................................................................... 16
3.7.1 重定位表项.................................................................................................................................. 16
3.7.2 重定位类型.................................................................................................................................. 17
3.8 程序加载和动态链接.......................................................................................................................... 19
3.8.1 程序头部(Program Header) ................................................................................................... 19
3.8.2 程序加载 ..................................................................................................................................... 21
3.8.3 动态链接 ..................................................................................................................................... 23
3.8.4 全局偏移表(GOT) ................................................................................................................. 27
3.8.5 过程链接表(PLT)................................................................................................................... 28
3.8.6 哈希表(Hash Table)................................................................................................................ 30
3.8.7 初始化和终止函数...................................................................................................................... 31
3.9 C库 ....................................................................................................................................................... 31
3.9.1 关于C库函数............................................................................................................................... 31
3.9.2 全局数据符号.............................................................................................................................. 33