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

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




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


即使IDA十六进制编辑器也没有在相应地址显示正确的值,但给我?? s。在IDA联机帮助中(搜索“ PLT”),但这没有帮助...


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

1:直接从PLT跳转(不使用GOT),无论其形式如何

2:转换PIC加载地址的_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形式的...”时,我才能获得所需的反汇编结果。

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

六角形射线给我发送了一个修复它的补丁(可能是将来版本的一部分) ...)

评论


您好,如何达到“ ELF修补(用于PIC)和查看模式”设置?我找不到它

–user3097712
16-2-28在15:14

@ user3097712:在“加载新文件”窗口中,选择“加载选项”。请参阅左侧屏幕快照中的复选标记。之后,在“加载新文件”窗口中单击“确定”后,您要求的窗口应自动出现。请告诉我是否可行。

– gogo_gorilla
16-2-28在15:18



@ user3097712:如果这对您有用,您当然可以支持我的回答:-)

– gogo_gorilla
16年2月28日在18:15