如何处理 objdump 产生的这个“错误”指令?

逆向工程 拆卸 小精灵 转储
2021-06-22 02:02:13

所以基本上我是objdump用来在 32 位 Linux x86 上从 GNU Coreutils 反汇编二进制文件的。

在反汇编的代码中,我发现了一条“坏掉的”指令,如下所示:

 804b4db:       ff 24 85 e4 09 05 08    jmp    *0x80509e4(,%eax,4)

好像是反汇编错误

而且,通过深入研究部分信息,我找出了部分0x80509e4内部的信息.rodata

那么这是否意味着这0x80509e4是一个跳转表

1个回答

这只是丑陋的 AT&T 语法。在英特尔语法中,它是:

jmp dword ptr [eax*4+0x80509e4]

是的,它很可能是一个跳转表。

您可以objdump通过添加-M intel到命令行来切换到 Intel 语法