指令将覆盖先前的结果

时间:2019-12-18 16:23:00

标签: c++ reverse-engineering disassembly

我目前正在分析二进制文件,并遇到以下三个指令:

movzx   ecx, byte [rax+r9]
movzx   edx, byte [rbx+r9]
lea     ecx, [rcx+rdx]

这些说明中每条的含义对我来说都很清楚,但是将第一个和第三个说明结合使用没有任何意义。第一个movzx将[rax + r9]处的值复制到ecx中,然后lea指令再次覆盖ecx?为什么我们需要这里的第一个movzx?

我想我只是缺少了一些东西,这是一个令人讨厌的编译器技巧,因此,我感谢任何帮助。

0 个答案:

没有答案