ELF的.gnu.version节

前面说过要对.gnu.version节进行拆分,现在兑现。.gnu.version节保存的是一个符号版本表,表中有多个条目,每个条目的大小相等,条目的数量与动态符号表.dynsym中所有符号的条目数量相同,并且一一对应。

继续使用前面的示例文件。.gnu.version节在哪儿呢?我们看看节头表中的偏移量和大小即可找到,从ELF节头这篇文章已经知道了.gnu.verions节的描述条目是15136,条目大小是64,我们根据该描述条目即可知道.gnu.version的偏移量和大小

%title插图%num

如图.gnu.version节的偏移量是0x45a,十进制是1114,大小是0xe,十进制是14

得到偏移量和大小,.gnu.version节的位置和内容就可以呈现出来了

%title插图%num

数据内容是什么呢?上面说过.gnu.version节保存的是一个符号版本表,与.dynsym中所有符号的条目一一对应的,已知.gnu.version节是每2个字节为1个条目,图中正好是7个条目,.dynsym节也是一共7个条目。

发表回复