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

原地址: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的吧,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征


还请路过的大神们耐心解答,谢谢!!!如果有什么说得不对的地方希望提出来,我会及时更改!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值