您的位置:首页 > 其它

脱壳(初学)-- 手脱UPX壳及一点疑问

2015-03-21 02:39 267 查看
原地址:http://blog.csdn.net/keweidong888/article/details/44507733#comments

前辈们说得好,脱壳要多动手,要有耐心,今天刚刚看完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的吧,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征

还请路过的大神们耐心解答,谢谢!!!如果有什么说得不对的地方希望提出来,我会及时更改!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: