我正在研究如何解析 ELF 可执行文件的动态符号表(
我查看了 Ali 的另一篇博客[2],但我不理解如何使用哈希表解析动态符号表。显然,它不是与符号表使用相同的映射方式。我应该如何解析动态符号表(
此外,我正在查看的 ELF 可执行文件有两个段,分别是
[1] http://blogs.oracle.com/ali/entry/inside_elf_symbol_tables
[2] http://blogs.oracle.com/ali/entry/gnu_hash_elf_sections
.dynsym
)。我已经成功地解析了符号表 .symtab
(每个符号占用 16 字节),使用 value
属性来表示符号的地址,name
属性来表示字符串在 .strtab
段中的偏移量。但是,我无法使用同样的方法解析动态符号表(.dynsym
)。我参考了 Ali 的博客[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