gpt4 book ai didi

c - 为什么 objdump 不显示 .bss、.shstratab、.symtab 和 .strtab 部分?

转载 作者:太空狗 更新时间:2023-10-29 16:41:27 25 4
gpt4 key购买 nike

我目前正在用 C 实现自己的 objdump。

对于我的 -s选项,我必须显示 ELF 文件各部分的全部内容。

我做得很好,但我展示的部分比“真正的”objdump 多。

事实上,它并没有输出.bss。 , .shstrtab , .symtab.strtab部分。

我正在查看 sh_flags Shdr 上的值结构,但我找不到任何逻辑...

为什么 objdump -s <ELF file>不显示这些部分?

最佳答案

Why objdump -s does not shows these sections ?

Objdump 基于 libbfd,它抽象掉了 ELF 的许多复杂性,并且是在对象往往具有三个部分时编写的。

因此,objdump 非常不足。除了不向您显示(某些)现有部分之外,它还可能“合成”根本不存在的部分,并执行其他奇怪的技巧。这更像是一个 libbfd 错误——它的抽象层根本不告诉 objdump 关于“丢失”的部分。

TL;DR:不要使用 objdump。请改用 readelf

关于c - 为什么 objdump 不显示 .bss、.shstratab、.symtab 和 .strtab 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160621/

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