002 PECompact 1.84

查壳

在这里插入图片描述

今天来脱一下PECompact 1.84这个壳,脱这个壳的目的是为了了解一个技巧——当遇到无法向下跟随的时候,可以找到附近没有实现的大跳转,下断点继续跟踪。

单步跟踪到OEP

接下来OD载入这个程序,采用单步跟踪的方法脱掉这个压缩壳。

在这里插入图片描述

在这里插入图片描述

当程序执行到这个位置的时候,这里有一个jmp是往上跳的,按照常规的单步跟踪脱壳的方法,我们应该直接在下一条命令处F4,让他执行到下一条命令。但是当你在下一条命令直接F4的时候,程序会直接跑飞。

这个时候就要用到刚才的技巧了,在附近寻找一个没有实现的大跳转,一般是在上面。一直往上拉,

在这里插入图片描述

在程序上面我们看到一个je,后面的OpCode的offset代表这是一个大跳转,而且是没有实现的。

在这里插入图片描述

那么我们就可以直接跟进去,下断点,让程序断下,然后继续单步跟踪。

在这里插入图片描述

这里也是一个大跳转,按照刚才的方法,回车跟进去下断点,F9跑起来,就到了这里。继续往下跟

在这里插入图片描述
跟到这里的时候,同样,回车跟进去下断点F9

在这里插入图片描述

这里还是一样的套路,继续跟

在这里插入图片描述

在这里插入图片描述

当跟到这里的时候,可以知道马上就到了OEP了,和大部分壳的套路一样,会push一个地址,然后返回回去。

在这里插入图片描述

接着就来到了熟悉的OEP。

修复导入表

在这里插入图片描述

然后在OD里dump文件,然后修复导入表,输入OEP,自动查找IAT,获取输入表,转储文件。

在这里插入图片描述

脱壳后的程序正常运行,这个壳也就完成了。当然了,这个壳用ESP定律也是可以秒脱的,我这里纯粹是为了练习这个技巧而已。

需要相关文件可以到我的Github下载:https://github.com/TonyChen56/Unpack-Practice

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼手56

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值