关于几种常用的脱壳方法总结

本文总结了七种常用的PE壳破解方法,包括ESP定律、单步跟踪、SFX、模拟跟踪、出口标志、异常法以及秒到OEP等。这些方法在不同情况下各有优势,通过实践能提升壳的分析和脱壳技能,同时强调了耐心和经验在脱壳过程中的重要性。

最近一直在学习壳的破解,和大家分享一下几种常用的脱壳方法

1.esp定律

使用PEID查壳,了解壳的属性

载入OD,F8单步运行,注意寄存器的窗口

这个时候会发现只有ESP后面对应得数据为红色,我们就应该知道,可以使用ESP定律了,单击红色的ESP右键会出现HW break esp的选项

然后重载运行,单击F8,到达OEP,然后使用OD自带的脱壳插件

(oep的标志)you

2.单步跟踪

同样的壳,不用ESP,F8单步步过,这时会遇到跑飞的情况,单步跟踪注意call和向上的跳转,遇到跑飞的call就重载F7进入,F8不断的向下运行,这时会遇到向上的跳转,在向上跳转的下面一行代码出右键 选择断点运行到选定位置(F4),注意红线(跳转实现)的要在底下设置,灰色的不用管。一直F8继续向下走

走到最后会出现壳的OEP,同第一种方法的最后(强烈推荐)

3.SFX

这种方法是一种自动脱壳的方法,很简单步骤为 OD载入————>找到选项 调试设置中的SFX————>选择 按字节方式跟踪真正入口处 重载等待

不建议用这种方法,有时会很长时间,还是锻炼技术为好

4.模拟跟踪

ALT+M,在.rsrc处下断点,SHIFT+F9返回,然后在.text处在下一断点,同样的办法处理, 在底下的命令行输入tc eip<01013000回车

这种方法用在不知道OEP是什么样子的时候可以试试

5.出口标志
开始按Ctrl+F,输入:popad(只适合少数壳,包括UPX,ASPACK壳),然后按下F2,F9运行到此处。来到大跳转处,点下F8,到达OEP!

6.方法五:最后一次异常法
点击选项——调试选项——异常,把里面的对号全部去掉!CTRL+F2重载下程序,如果一开始程序就是一个跑飞,在这里我们按SHIFT+F9,直到程序运行,记下从开始按SHIFT+F9到程序运行的次数m!CTRL+F2重载程序,按SHIFT+F9(这次按的次数为程序运行的次数m-1次)在OD的右下角我们看见有一个"SE 句柄",这时我们按CTRL+G,输入SE 句柄前的地址!按F2下断点!然后按SHIFT+F9来到断点处!去掉断点,按F8慢慢向下走!到达程序的OEP!

7.秒到OEP

运行,观察右下角的栈窗口,翻到最底下顺着边框找到第一个

然后 反汇编窗口中跟随,然后在反汇编窗口中不断的向上走,走到INT3断点处就会发现,下面就是OEP的标志,在标志处(push xxxx)右键选择在数据窗口中跟随,这时左下角的数据窗口出现


在灰色区点击右键下硬件执行断点,重载直接秒到OEP并脱壳

我所说得办法对一个壳不可能通用,大家要多尝试,脱壳需要的是耐心和经验,另外大家还要熟悉各种语言编写壳的OEP,这有事半功倍的效果。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值