13
69A8AB13  int         3    
69A8AB14  int         3    
69A8AB15  mov         edi,edi 
69A8AB17  push        ebp  
69A8AB18  mov         ebp,esp 

mov edi,edi 对我来说没有意义,这是为了什么?

4

2 回答 2

34

这是一个 2 字节的 NOP 指令。它包含在使用 /hotpatch 选项编译的映像中的任何函数的开头:

http://msdn.microsoft.com/en-us/library/ms173507.aspx

-斯科特

于 2010-09-16T15:27:05.290 回答
5

根据这个页面:StackExchange的逆向工程

在 x86-64 mov edi 中,edi 不是 NOP。在 x86-64 中,它将 rdi 的前 32 位归零。

我认为指出这一点很重要,以补充snoone的回答。

于 2017-08-22T14:34:02.940 回答