因此,基本上,我使用objdump在32位Linux x86上从GNU Coreutils分解二进制文件。 />
 804b4db:       ff 24 85 e4 09 05 08    jmp    *0x80509e4(,%eax,4)


好像是反汇编错误?

然后,通过深入研究部分信息,我发现0x80509e4部分中的.rodata。 br />那么,0x80509e4是跳转表吗?

评论

该指令的操作码是什么?

@perror您好,我更新了我的问题

@perror基本上我认为这应该是典型的跳转表指令,对吗?

因此,伊戈尔回答了,但指示完全没有中断。它只是遵循一种奇怪的语法。保留为空时,在内存寻址中假定参数为1。而且,是的,这很可能是跳转表。

#1 楼

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

jmp dword ptr [eax*4+0x80509e4]


是的,它最有可能是一个跳转表。到命令行。