我正在编写 Linux 的 readelf 的简化版本。
我想打印部分信息,所以我需要部分的名称。在 Elf64_Shdr 结构中,sh_name 变量仅将我指向 shstrtab 中的索引。但这似乎不是 shstrtab 标头中的索引。它是其相关数据的索引。我想知道如何到达那里,因为 ELF 标头仅将我指向 shstrtab 部分标头,而不指向其相关数据。从我在文件的 hexdump 中可以看到,文件的结构如下:
ELF HEADER
phdr1
phdr2
segment1
segment2
shstrtab strings (i want this address, to make use of the sh_name indices)
shdr1
shdr2
shdr3 (this is the shstrtab section)
我想错了吗?任何人都可以指导我获取部分名称吗?