本帖最后由 無涯 于 2015-3-21 09:01 编辑
前辈们说得好,脱壳要多动手,要有耐心,今天刚刚看完ximo得脱壳教程第一个,打铁趁热,动手实践一下,顺便提几个疑问 疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
步骤一:查壳
这个是教程提供的加了UPX壳的软件 疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
步骤二:加载程序,寻找OEP(我这里偷下懒,使用ESP定律法,快速定位OEP了) 1、如下图,pushad是关键句,保存寄存器,保存环境(我记得是这样)
2、F8单步走,这时ESP突变,如下图的右边寄存器窗口,ESP显示为红色,我们在这里点击右键,选中 在数据窗口跟随 疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
3、接着如下图,在数据窗口中下断点(图3-1), 然后点击运行到断点(图3-2),中断下来后选中菜单栏中的调试,选中硬件断点,先删除断点,(图3-3)
图3-1
图3-2
图3-3 4、如图3-2,我们看到这里地址从005791EF 将 jmp 0047738C这是一个大的跳转,说明很可能是跳转到入口地址啦,单步F8,程序已经到达OEP,接下来就是脱壳,脱壳就不截图啦
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,不一定大跳转后就是OEP的吧,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
还请路过的大神们耐心解答,谢谢!!!如果有什么说得不对的地方希望提出来,我会及时更改! 如果图片打不开的话,请转到http://blog.csdn.net/keweidong888/article/details/44507733#comments 如有违规行为望告知,我会及时更改 |