![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
翻译
狼群一一先锋
他日仙界如相见,一声道友尽沧桑。
展开
-
2——man elf的翻译——Program header (Phdr)
Program header (Phdr) program header 是一个 array of structures,每一个描述了 a segment 或者是系统需要的程序执行的信息。 一个 object 文件的 segment 包含一个或几个 sections。program header 只有在 executable 和 shared object file 中才有...翻译 2019-03-25 10:18:56 · 875 阅读 · 0 评论 -
1——man elf的翻译——ELF header (Ehdr)
学习ptrace,学习linux本质,elf是无法绕开的一个基础知识。所有的网上知识都没有man elf来的准确和优秀,唯一艰难的一点就是英文。这么多年,我也没在网上找到一个翻译版本,所以我觉得好好阅读一下,并用自己的话翻译出来于大家分享是一件不错的事情。抽空我会进行翻译和更新。在翻译结束之前就暂时不排版了,等都结束了,我会再汇总,认真设计一下结构。名字 elf——可执行和链接格式文件...翻译 2019-03-19 09:53:14 · 634 阅读 · 0 评论 -
7——man elf的翻译——动态标签 (Dynamic tags(Dyn))
.dynamic section保存的是一系列和动态链接相关的结构。d_tag成员控制着d_un结构体的内容。 typedef struct { Elf32_Sword d_tag; union { Elf32_Word d_val; Elf32_Addr ...翻译 2019-04-05 10:54:56 · 535 阅读 · 0 评论 -
8——man elf的翻译——Notes (Nhdr)
Notes (Nhdr) ELF notes允许附加任意信息供系统使用。它们大部分情况是被内核文件使用(e_type of ET_CORE), 但是很多projects定义它们自己的扩展。例如,GNU tool chain使用ELF notes将信息从链接器 传递到C库。 Note sections 包含一系列的notes(请看下面的定义)。Ea...翻译 2019-04-05 13:58:07 · 396 阅读 · 0 评论 -
4——man elf的翻译——所有Sections说明
各种各样的sections保存了程序和控制信息: .bss 此节保存的是contributes to the program's memory image的未初始化的数据。当然,程序运行起来之后, 系统会把这些数据初始化为零。此节的类型是SHT_NOBITS。参数类型是SHF_ALLOC和SHF_WRITE。 ...翻译 2019-04-01 10:13:53 · 208 阅读 · 0 评论 -
5——man elf的翻译——字符串和符号表 (String and symbol tables)
字符串和符号表 string table sections保存的是以NULL结尾的字符串序列,通常叫做strings。目标文件使用这些字符串去代表符号和节名字。它们 中的一个字符串被用作到string table section的索引。其中第一个字节,也就是索引号位0的,被赋值‘\0’。同样的,一个字符串表 的最后一个字节也被赋值‘\0’,确保是以NULL结尾。 ...翻译 2019-04-02 09:40:15 · 502 阅读 · 0 评论 -
3——man elf的翻译——Section header (Shdr)
Section header(Shdr) 通过section header table能够定位文件所有的section。section headertable 的格式是Elf32_Shdr或者Elf64_Shdr。 ELF header 的e_shooff字段是section header table从文件开始位置的偏移量。e_shnum是section header tables...翻译 2019-03-29 09:24:10 · 247 阅读 · 0 评论 -
6——man elf的翻译——重定位条目 (Relocation entries(Rel & Rela))
重定位是一种用符号定义连接符号引用的过程。可重定位文件必须拥有描述如何去修改它们section contents的信息,好让 可执行或共享目标文件保存程序镜像的正确信息。可重定位条目就是这些数据。 重定位结构不需要附加信息: typedef struct { Elf32_Addr r_offset; uint32...翻译 2019-04-03 10:23:50 · 1037 阅读 · 0 评论