1.用PEiD查壳 UPX或者FSG、PECompact、ASPack 2.12
2.使用OD载入程序,第一个为入口点
3.手动寻找OEP
一:查找尾部跳转指令,通常情况下,它是一条jmp指令,这条指令的后面,存在着非常多的0x00字节。我们在这个jmp的位置下一个断点,并执行过来 ,再按F8步过,就可以来到OEP的位置了。
二:用OD的一个插件:插件->ollydump->find OEP by section hop(trace over)
三:一 二失败后。在尾部跳转的位置之前会有popad或者popfd指令,通过这个就可以找到OEP了。
![](https://img-blog.csdnimg.cn/6ef818b35e524f03891c153c585233ea.png)
![](https://img-blog.csdnimg.cn/9d6cfca9acf24e18ab3e9471cd5576d9.png)
![](https://img-blog.csdnimg.cn/671065d91ca841c38427ce931fd3737f.png)
![](https://img-blog.csdnimg.cn/5348bba50fe54f2cbb9cadf8572073b9.png)
四、初识堆栈平衡原理
![](https://img-blog.csdnimg.cn/be35715e51ef4d549fa37557569f3b7b.png)
![](https://img-blog.csdnimg.cn/1c5e6bff75904323b82273d26570b7c9.png)
![](https://img-blog.csdnimg.cn/ac0dbbc8309a4e95afe255bb88c8181f.png)
![](https://img-blog.csdnimg.cn/fcb88887a4d845188ae190c81228aedd.png)
五、万能的ESP定律
![](https://img-blog.csdnimg.cn/d4a421e139124aaba90e08adb24e28b7.png)
4.右键第一行 分析->分析代码
5.右键选择Dump debugged process
取消rebuild import选项,后边专门修复
记下modify后的数,即OEP
最后单击Dump,输入文件名
6.打开importREC,选择脱壳前的程序
输入新的OEP
单击IAT Autosearch
确定
get imports
fix dump
附加在unpacked.exe上
7.再用peid查壳
IDAPRO
按快捷键“F5”(查看伪代码)
shift + f12 查看字符串