动态链接
2016-03-14 20:00
393 查看
0x01 全局偏移表GOT
GOT(Global Offset Table).got位于数据段中,内容是指向全局变量的指针数组
0x02 延迟绑定PLT
PLT(Procedure Linkage Table).got.plt位于数据段中,保存函数引用的地址
所有对于外部函数的引用全部被分离出来放到了.got.plt中
.got.plt的前3项具有特殊意义:
1,第一项保存.dynamic段的地址,描述了本模块动态链接相关的信息
2,第二项保存的是本模块的ID
3,第三项保存的是_dl_runtime_resolve的地址
以上2和3由动态链接器在装载共享模块的时候负责初始化
…,其余项分别对应每个外部函数的引用
.got.plt为可读可执行段,和代码段一起合并成一个可读可执行的Segment被装入内存
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍