<转>汇编中的enter和leave
1.enter等价于:
push ebp
movebp, esp
在函数的入口时常用。
2.leave等价于:
movesp, ebp
popebp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
一段常见的代码格式如下:
.text:00401450 push ebp
.text:00401451 mov ebp, esp
.text:00401453 sub esp, 18h
。。。。。。。。。。。。。。。。。。。。。。。。。(此处省略代码20行O(∩_∩)O哈哈~)
.text:0040146E call sub_401B10
.text:00401473 mov eax, 1
.text:00401478 mov esp, ebp
pop ebp
xoreax, eax
.text:00401479 retn 0Ch
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
用enter和leave替代了以后,就可以变成这个样子。
.text:00401450 enter
.text:00401453 sub esp, 18h
。。。。。。。。。。。。。。。。。。。。。。。。。(此处省略代码20行O(∩_∩)O哈哈~)
.text:0040146E call sub_401B10
.text:00401473 mov eax, 1
.text:00401478 leave
xoreax,eax
.text:00401479 retn 0Ch
本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232