可执行文件中和动态链接有关的段section

本文详细阐述了Linux中动态链接器的工作原理,包括interp、dynamic、dymsym、rel.dyn,.rel.plt等关键组件的作用及查看方法,特别介绍了内核虚拟共享对象linux-gate.so.1和动态符号表的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 .interp

内容是一个字符串,保存了动态链接器的路径,如/lib/ld-linux.so.2
有几种查看方式:
objdump -s a.out
readelf -l a.out | grep interpreter

0x02 .dynamic

保存了动态链接器所需的基本信息,具体可以看elf.h文件或LSB手册:
依赖于哪些共享对象
动态链接符号表.dynsym的位置
动态链接重定位表的位置
共享对象初始化代码的地址

查看方式:
readelf -d Lib.so
ldd Program1

关于linux-gate.so.1,是一个内核虚拟共享对象(Kernel Virtual DSO)

0x03 .dymsym动态符号表

保存了与动态链接相关的符号,而.symtab则保存了所有符号,包括模块内部的符号
.dynstr动态符号表
.hash辅助的符号哈希表,用于加快符号查找速度
查看方式:
readelf -sD Lib.so

0x03 .rel.dyn, .rel.plt动态链接重定位相关

.rel.dyn是对数据引用的修正
.rel.plt是对函数引用的修正
查看方式:
readelf -r Lib.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值