- 论坛徽章:
- 0
|
本文是一篇原创文档,详细讲解了ELF文件格式,并配有示例。
“最初,我只是想仔细地学习一下ELF文件格式规范以满足自己技术方面的好奇;在阅读ELF规范的过程中,觉得不如一边读一边把文本翻译过来,以分享给更多的人;当翻译完成的时候,发现“规范”文本由于要保持其严格性,因而损失了可读性,再加上我理解和翻译水平的限制,译文比原文又差了一些,所以最后决定改变文章的结构,加入一些自己的描述,并配以实例,提高可读性,这样可能会满足更多人的需要。因此本文也就不再是一篇严格的译文了。”
下面是目录:
修订历史 4
前言 5
名词对照表 7
第1章 ELF文件的静态结构 8
1.1 介绍 8
1.2 文件格式概述 9
1.3 ELF文件头 12
1.4 节 20
1.5 特殊节 28
1.6 字符串表 33
1.7 符号表 35
1.8 重定位 41
第2章 ELF文件的装载与动态连接 46
2.1 介绍 46
2.2 程序头 47
2.2.1 程序头结构 47
2.2.2 基地址 50
2.2.3 段权限 50
2.3 段内容 52
2.4 注释段 54
2.5 程序装载 56
2.6 动态连接 60
2.6.1 程序解析器 60
2.6.2 动态连接器 60
2.6.3 动态段 62
2.6.4 共享目标的依赖关系 67
2.6.5 全局偏移量表 68
2.6.6 函数地址 69
2.6.7 函数连接表 70
2.6.8 解析符号 71
2.7 哈希表 73
2.8 初始化和终止函数 75
2.9 程序解析器 77
第3章 示例程序 78
3.1 ELF文件头 78
3.2 节头表 80
3.3 节头字符串表 82
3.4 字符串表 82
3.5 代码节 83
3.6 符号表 85
3.7 段 86
3.8 动态节 87
附录A 源文件清单 90
附录B 输出文件清单 92
Understanding_ELF.pdf
(629.09 KB, 下载次数: 1918)
|
|