ELF:如何让 IDA 显示正确的 PLT(程序链接表)内容?

逆向工程 艾达 拆卸 蟒蛇 小精灵 血小板
2021-06-20 05:14:21

我想让 IDA.plt正确反汇编ELF 文件部分,例如 objdump 所做的:

objdump -D -M intel asdf | grep "Disassembly of section .plt" -A80

objdump 反汇编

我不知道为什么,但 IDA 给了我这个(注意dw ?dq ?): IDA拆解

甚至 IDA hexeditor 也没有向我显示相应地址处的正确值,而是给了我??s.

我尝试选择和取消选择IDA 在线帮助(搜索“PLT”)中描述的设置,但这没有帮助...

0:将“程序链接表”的 PIC 形式替换为非 PIC 形式

1:直接从PLT(不带GOT)跳转,不分形式

2:转换_GLOBAL_OFFSET_TABLE_[]地址加载PIC形式

3: 删除 PLT & GOT 中的辅助字节以进行“最终自动分析”

4:可重定位文件中PIC GOT地址加载的自然形式

5:可重定位文件中未修补形式的 PIC GOT 引用

如何配置 IDA 以便我可以.plt使用 IDAPython访问ELF 文件部分中的说明?

1个回答

对于 32 位(但不是64 位)x86 ELF 二进制文件,选择以下选项有效:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

更新:

IDA 6.8(可能还有更早的版本)中存在一个错误:对于 64 位 x86 ELF 二进制文件,只有在另外取消选择“替换 PIC 形式的...”时才能获得所需的反汇编结果。

这就是我困惑的原因,并让我发布了我的问题。

Hex-rays 给我发送了一个补丁来修复它(并且可能会成为未来版本的一部分......)