ESP脱壳定律
原理:在加了壳的软件下,程序刚开始加载的时候,最先开始就是执行解密程序,而ESP栈顶指针会伴随解密程序执行完后,要跳到真正的程序时,就会有一个大幅度的跳转,会弹回原来的指针地址,也就是ESP指针归位,根据这个特性,只要跟踪到ESP指针归位的那一刻,就说明已经找到了程序的入口点(EP点),也俗称为“ESP脱壳定律”
1. 首先运行到只有ESP指针入栈开始的时候
2. 然后在ESP地址上右键->数据窗口跟随->查看左下角的数据窗口
3. 然后再数据窗口中下硬件访问断点
4. 然后一直F8运行到一段看似空白汇编代码处(说明要有一个大的跳转),然后右键分析->从模块中删除分析,然后就会跳到入口点(EP点)
5. 然后删除掉所有断点,使用ollydbg插件开始脱壳
下面介绍两种脱壳的方式:
1、 右键选择“使用OllyDump脱壳调试检测”-》勾选重建输入表(方式1、方式2)-》点击脱壳
2、右键选择“使用OllyDump脱壳调试检测”-》取消勾选重建输入表-》点击脱壳