gpt4 book ai didi

c - 如何获取shstrtab的字符串?

转载 作者:行者123 更新时间:2023-11-30 16:09:27 25 4
gpt4 key购买 nike

我正在编写 Linux readelf 命令的简化版本。

我想打印部分信息,所以我需要部分的名称。在 Elf64_Shdr 结构中,sh_name 变量仅将我指向 shstrtab 中的索引。但这似乎不是 shstrtab header 中的索引。它是相关数据的索引。

我想知道如何到达那里,因为 ELF header 仅将我指向 shstrtab 部分 header ,而不是其关联的数据。从文件的十六进制转储中可以看到,文件的结构如下:

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)

我这样想有错吗?有人可以指导我获取部分名称吗?

最佳答案

我自己找到了解决方案!

要获取第一个部分的关联数据,只需使用 Elf64_Shdr 结构中的 sh_offset 即可。如果将 sh_offset 添加到文件的起始地址,则可以直接获取节数据。

关于c - 如何获取shstrtab的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com