破解小随笔

PE: WINDOWS预安装环境名称PE,可运行,可移置的程序

    WinPE是简化版的Microsoft Windows

 

程序的OEP,一开始以 push ebp 和mov ebp esp这两句开始。

 

原因:c程序的开始是以一个主函数main()为开始的,而函数在访问的过程中最重要的事情就是要确保堆栈的平衡,而在win32的环境下保持平衡的办法是这样的: 

 

1.让EBP保存ESP的值。

 

2.在程序运行完毕的时候调用 

 

 

 

mov esp,ebp 

 

pop ebp 

 

retn

 

或者是 

 

leave

 

retn

 

通过EBP保存程序运行前ESP的值,那么程序运行过程中,不管ESP被Push还是Pop多少次,最终都可以通过EBP还原最开始的值。

 

posted @ 2015-07-04 22:00  Cizel丶攻城狮  阅读(243)  评论(0编辑  收藏  举报