所以基本上我是objdump
用来在 32 位 Linux x86 上从 GNU Coreutils 反汇编二进制文件的。
在反汇编的代码中,我发现了一条“坏掉的”指令,如下所示:
804b4db: ff 24 85 e4 09 05 08 jmp *0x80509e4(,%eax,4)
好像是反汇编错误?
而且,通过深入研究部分信息,我找出了部分0x80509e4
内部的信息.rodata
。
那么这是否意味着这0x80509e4
是一个跳转表?
所以基本上我是objdump
用来在 32 位 Linux x86 上从 GNU Coreutils 反汇编二进制文件的。
在反汇编的代码中,我发现了一条“坏掉的”指令,如下所示:
804b4db: ff 24 85 e4 09 05 08 jmp *0x80509e4(,%eax,4)
好像是反汇编错误?
而且,通过深入研究部分信息,我找出了部分0x80509e4
内部的信息.rodata
。
那么这是否意味着这0x80509e4
是一个跳转表?
这只是丑陋的 AT&T 语法。在英特尔语法中,它是:
jmp dword ptr [eax*4+0x80509e4]
是的,它很可能是一个跳转表。
您可以objdump
通过添加-M intel
到命令行来切换到 Intel 语法。