hmily 发表于 2007-10-29 22:57:18

ExeInfo PE 0.0.1.7 B脱壳+优化+去校验

今天给大家带来个菜鸟教程:ExeInfo PE 0.0.1.7 B脱壳+优化+去校验

首先洋PEID查壳,普通扫描显示没有,点核心扫描显示UPX V2.00-V3.0X -> Markus Oberhumer & Laszlo Molnar & John Reiser   * Sign.By.fly *,其实从区段也可以看出是UPX的壳。

好,目标程序载入OD



壳脱起来还是很简单的,直接在00498E0D用ESP定律,F9运行,程序停在这里



删除硬件断点,F8单步到OEP 00498E0C



现在开始脱下来,首先做好心理准备,这东西脱完巨大,机器配置不好可能会导致机器卡死,还好偶是2G内存的挖,用LordPE修正下镜像大小,再点完整储存,再用ImportREC修复下



OK,脱完了,PEID查壳显示是Delphi写的程序,大小也从377 KB巨增到154 MB!吓人,打开程序,出现



看来是有校验了,再次把脱壳好的程序载入OD
下断bp CreateFileA,F9运行
OD中断,ALT+F9执行到用户代码



下面就是F8单步跟踪了



程序在0048EE23处出现对话框,很明显,在0048EDF9处的跳转就是关键跳了
直接将0048EDF9   /7E 38                jle short dumped_.0048EE33
改成0048EDF9   /7E 38               jmp dumped_.0048EE33
保存下,运行成功

把脱好的程序载入ResScope,发现有非标准资源结构,那就用Fix Resource修正下资源,再次再入ResScope,这次可以修改资源了,但是问题又来了

打开修正好的程序,程序只是一闪而过就自动关闭了,看来还有校验,继续操起OD,再次载入程序

下断bp CreateFileA,F9运行
OD中断,ALT+F9执行到用户代码,继续F8单步走



0048EE5F出OD就会跑非了,显然0048EE5D处的跳转又是关键跳啦,
把0048EE5D   /74 05                je short 1.0048EE64
改成0048EE5D   /74 05                jmp 1.0048EE64
就OK了,保存,运行一切正常

现在程序太大,我们再用CxLrb大侠汉化的Resource Binder V2.6处理一下!
挖塞,程序一下从154M缩小到1.13 MB,这样的结果还是让人满意的

但是一运行,程序又是一闪而过,还有校验,OK,继续
OD载入程序,这次可能会比较卡
下断bp CreateFileA,F9运行
OD中断,ALT+F9执行到用户代码,继续F8单步走



0048EE3F处OD跑飞,也很明显了0048EE3D处就是关键跳啦,
把0048EE3D   . /74 05            je short 2.0048EE44
改成0048EE3D   . /74 05            jmp 2.0048EE44
保存,运行成功,感觉048EE4A处的跳转应该也是个校验吧,只是没用到,程序处理到这里就差不多了,有是不妥之处还望大侠们指点!


By:Hmily

由于先前接的是JPG格式的图片,不能上传,就做了个WORD文档,里面有图,大家自己看吧~

[ 本帖最后由 hmily 于 2007-10-29 22:59 编辑 ]

wangwei.hebtu 发表于 2007-10-30 10:27:01

这是好东西-我得好好学学

gongsui 发表于 2007-10-30 20:11:19

感谢楼主分享
这个软件很有前途
脱壳后,速度快多了

crackforchina 发表于 2007-10-31 11:11:30

为什么脱壳和每次优化后就激发校验呢?是不是有不更好的方法一次性解决这个校验呢?

CxLrb 发表于 2007-11-2 17:19:16

一次性把那些跳转修改掉便可,使用upx -d脱壳就不用优化了。

11424549 发表于 2007-11-3 12:25:38

这是好东西,/:001 我得好好学学
页: [1]
查看完整版本: ExeInfo PE 0.0.1.7 B脱壳+优化+去校验