【发布时间】:2019-04-17 13:19:33
【问题描述】:
对于说“jmpq *0x400850”的行,实际上没有这样的行有0x400850。在这种情况下,由于我无法跳转到它提到的地方,我是否跳过该命令并转到下面一行中的命令?
所以答案告诉我在终端输入“objdump”,所以我输入了
objdump -d ./bin-lab-ref > output.txt
我在终端中没有输出。 在这种情况下我该怎么办?
【问题讨论】:
-
*表示间接跳转,即通过内存中的指针。0x400850是该指针的地址,而不是跳转的目标。 PS:请不要使用图像作为代码,而是将其复制粘贴为文本。 -
这是一个无条件的
jmp;它永远不会失败。在机器代码中,jmp不会“搜索”目标行或地址,它只是跳转到那里。 -
请注意,程序集是由指令而不是命令组成的。尽量使用正确的术语,这样其他人更容易帮助你。
-
使用 Intel 语法,你也许能读懂一些东西 ;)
-
下次请不要发代码图片。始终以文本而不是图片的形式发布代码!
标签: assembly x86 reverse-engineering att