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