ELF 动态链接 - so 的 .dynamic 段
动态链接文件中最重要的段就是 .dynamic段
这个段里保存了动态链接器需要的最基本的信息
比如:1. 依赖于哪些共享对象, d_tag = DT_NEED, d_ptr 表示共享对象文件名
2. 动态链接符号表的位置 d_tag = DT_SYMTAB, d_ptr 表示“.dynsym”的地址
3. 动态链接重定位表的位置 d_tag = DT_REL/DT_RELA
4. 共享对象初始化代码的地址
5. 共享对象结束代码的地址
6. 动态链接Hash表地址
7.动态链接字符串表地址
8.动态链接字符串表大小,d_val表示大小
9.依赖的共享对象的搜索路径等等
.dynamic段中往往保存着多个元素,元素的数据结构为(定义在elf.h中):
1 typedef struct { 2 Elf32_Sword d_tag; 3 union { 4 Elf32_Word d_val; 5 Elf32_Addr d_ptr; 6 } 7 } Elf32_Dyn
本文作者:明月照江江
本文链接:https://www.cnblogs.com/gradyblog/p/8963879.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步