我正在研究解释.dynsym
ELF 可执行文件的动态符号表 ()。我可以成功地解释符号表.symtab
(每个符号 16 个字节),使用value
属性表示符号的地址,使用属性name
表示节中字符串开头的偏移量.strtab
。但我无法.dynsym
使用相同的方法解释动态符号表 ()。我参考了阿里的博客[1]。
我查看了 Ali 的 [2] 的另一个博客,但我不明白如何使用哈希表解释动态符号表。显然,它与符号表使用的映射不同。我应该如何解释动态符号表(.dynsym)?
此外,我正在查看的 ELF 可执行文件有两个部分,即.hash
和.gnu.hash
. 我应该参考哪个部分的哈希值?
[1] http://blogs.oracle.com/ali/entry/inside_elf_symbol_tables
[2] http://blogs.oracle.com/ali/entry/gnu_hash_elf_sections