我目前正在用 C 语言实现我自己的 objdump 实现。
For my -s
选项,我必须显示 ELF 文件各部分的完整内容。
我做得很好,但我显示的部分比“真正的”objdump 更多。
事实上,它并没有输出.bss
, .shstrtab
, .symtab
and .strtab
部分。
我环顾四周sh_flags
值于Shdr
结构,但我找不到任何逻辑......
为什么objdump -s <ELF file>
不显示这些部分?
为什么 objdump -s 不显示这些部分?
objdump 基于libbfd
,它抽象出了 ELF 的许多复杂性,是在对象倾向于only有三个部分。
像这样,objdump
安静缺乏的。除了不向您显示(某些)现有部分之外,它还可能“合成”根本不存在的部分,并执行其他奇怪的技巧。这更多的是一个libbfd
错误——它的抽象层根本不告诉 objdump 关于“丢失”的部分。
TL;DR:不要使用objdump
. Use readelf
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)