破解入门(五)-----实战"ESP定律法"脱壳
本帖最后由 涛之雨 于 2018-7-28 16:33 编辑上一篇:传送门破解入门(四)-----实战"单步跟踪法"脱壳
https://static.52pojie.cn/static/image/hrline/4.gifhttps://static.52pojie.cn/static/image/hrline/4.gif
《《《《《《《《《《《《《《《《《《《《《《《《《《《原文开始》》》》》》》》》》》》》》》》》》》》》》》》》》》
ESP定律法的步骤
ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)
(1)开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
(2)在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车
(3)选中下断的地址,断点--->硬件访--->WORD断点
(4)按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP
实战
1 查壳
用PEID查壳的结果如下图,可以看出程序加了ASPack2.12的壳
http://my.csdn.net/uploads/201206/10/1339302161_1373.png
2 寻找OEP
(1)用OD载入该程序
http://my.csdn.net/uploads/201206/10/1339302184_8523.png
(2)按下F8单步步过,发现ESP此时是红色,记下此时ESP寄存器中的值0012FF6C(载入程序处的下一个ESP是红色,当然每个人机器上运行这个值有可能不同)
http://my.csdn.net/uploads/201206/10/1339302205_7281.png
(3)在命令行下输入dd 0012FF6C,然后按下回车键
http://my.csdn.net/uploads/201206/10/1339302227_3588.png
(4)选中要下断点的0012FF6C那行,依次选择断点 -> 硬件访问 -> Word
http://my.csdn.net/uploads/201206/10/1339302242_5131.png
(5) 在菜单栏调试(D)下的硬件断点(H)下选项下可以看到我们设置的硬件断点
http://my.csdn.net/uploads/201206/10/1339302256_9978.png
(6)然后按下F9运行程序,运行到程序停止
http://my.csdn.net/uploads/201206/10/1339302271_8982.png
(7)删除前面下的硬件断点,选择调试(D)下的硬件断点(H),弹出如下对话框,点击删除1按钮删除前面下的硬件断点
http://my.csdn.net/uploads/201206/10/1339302287_9269.png
(8)运用F8很快会到达程序的OEP(此时需要使用F8单步步过)
http://my.csdn.net/uploads/201206/10/1339302315_1836.png
3 脱壳
可以使用OD自带插件,也可以用LordPE,方法和前面"单步跟踪法"中使用方法一样
4 修复
可以使用ImportFix,方法和前面"单步跟踪法"中使用方法一样
文中用到的加壳程序下载地址:http://download.csdn.net/detail/qiurisuixiang/4363770
《《《《《《《《《《《《《《《《《《《《《《《《《《《原文结束》》》》》》》》》》》》》》》》》》》》》》》》》》》
https://static.52pojie.cn/static/image/hrline/4.gifhttps://static.52pojie.cn/static/image/hrline/4.gif
ps:原地址:https://blog.csdn.net/qiurisuixiang/article/details/7649799
下一篇:
破解入门(六)-----实战“内存镜像法”脱壳
看见讲得挺轻松的,现实中不是这样简单。
linuxprobe 发表于 2018-7-28 16:20
看见讲得挺轻松的,现实中不是这样简单。
那我也没办法啊
(不过好像确实是这样
自己动手总是有意想不到的“收获”。。。
好像每次学习别人经验都要重复好几次才能理解一些。。。) 学习学习,讲的很明白~ 看见讲得挺轻松的,现实中不是这样简单。 讲的好明白啊 多谢啦 好好学习天天向上 感谢分享 学习学习,讲的很明白~ 支持一下吧 谢谢分享,小白学习一下