对于显示“ jmpq * 0x400850”的行,实际上没有这样的行具有0x400850。在这种情况下,由于我不能跳到提到的地方,我是否只跳过此命令并转到下一行中的命令?
所以答案告诉我在终端中键入“ objdump”,所以我键入了
objdump -d ./bin-lab-ref > output.txt
,终端上没有输出。 在这种情况下我该怎么办?
答案 0 :(得分:2)
指令jmpq *0x400850(,%rax,8)
跳转到地址0x400850(,%rax,8)
上存储的值,而不是地址0x400850(,%rax,8)
本身。可能在此地址处有一个跳转表,rax
从跳转表中选择一个条目来跳转。
检查0x400850
周围的内存,以查找跳转表具有的条目以及跳转的位置。您可以使用objdump -s
转储可执行文件的映像。