强制解释 x64dbg 中的代码

逆向工程 x64dbg
2021-06-29 19:09:04

我只是想知道是否有办法强制解释 x64dbg 中的代码块。

我分析的部分在此之间波动:

在此处输入图片说明

还有这个:

在此处输入图片说明

1个回答

您遇到了向后反汇编的问题当你给 x64dbg 一个反汇编的地址时,它会在这个地址开始解码,转到下一条指令,等等。

例如,如果您有字节:

EB 00 48 83 C4 38 C3

然后你开始反汇编你会看到的第一个字节:

0 | EB 00       | jmp 2
2 | 48 83 C4 38 | add rsp,38
6 | C3          | ret

如果从第二个字节开始反汇编,您将看到:

1 | 00 48 83    | add byte ptr ds:[rax-7D],cl
4 | C4          | ???
5 | 38 C3       | cmp bl,al

您在向上滚动时看到这样的垃圾的原因是 x64dbg 不知道指令开始并尝试基于字节启发式地确定前一条指令是什么。如果这个算法的结果是错误的,x64dbg 将在不正确的位置反汇编,导致看起来很奇怪的指令。您可以在此处找到该算法的实现它基于 OllyDbg 内部使用的算法。

正如一些用户建议您可以使用分析,但在向后反汇编期间不使用此结果,因为通常一切正常。