- UID
- 28519
注册时间2007-2-21
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
今天给大家带来个菜鸟教程: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 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|