安全中国首页 > 文章中心 > 脱壳技术
 

Armadillo V2_xx标准加壳方式的脱壳--Virtual Personality4.0

更新时间:2008-5-13 0:12:55
责任编辑:果果龙
热 点:

FTBirthdayArmadillo全程教程--第一章.标准加壳方式

第一章.标准加壳方式

[实例解析二] Armadillo V2_xx标准加壳方式的脱壳--Virtual Personality4.0

程序名:Virtual Personality 4.0

 

※软件简介※:A professional telephone voice changer utility. High quality natural voice.

Works with your PC speakers as well as over a telephone line. Needs only a standard voice

 modem. 24 different voices. Supports voice recording of the PC (or any standard phone

device on the same line). Supports Windows 95/98/Me/NT/2000/Xp…………

 

软件语言: 英文

软件类别: 国外软件/音频处理

运行环境: Windows 98/NT/2000/ME/XP

软件大小: 2.24M

软件作者: Triplebit

下载页面: http://www.sharewareorder.com/Virtual-Personality-download-21449.htm

 

※软件限制※:采用了ARMADILLOKEY加密,启动要你输入KEY,还有30天试用期,所以,如果脱了壳,上述现象都将没有了.现在开始脱壳历程.!!  

 

※破解工具※:DriverSuite2.7中的softice4.2.7PEiDLordPE

 

※调试平台※:Windows XP

 

Armadillo是当今猛壳之一,加壳方式有两种,一种是标准方式(Standard Protections Only)加壳,

另一种是CopyMem-II+Debug-Blocker的加壳,其标准加壳方式相对来说则容易的多.COPYMEMII的一般可用DILLODUMP,而用标准加壳用DILLODUMP是脱不了的。

 

首先确信你已经牢固的理解了PE文件格式,因为那是重建PE映象的基础,并且清楚Armadillo保护的理论和方法。

 

理论:首先一点是Armadillo是通过类似于调试的方法来运行程序的.新版本Armadillo脱壳的一个难点是它的代码段是分页解密的,我估计它的做法是将代码段锁定,即将其属性设为不可读、写、执行,当被执行到时会产生一个页面保护错误,而调试程序就会捕获这个错误,将对应的页面解锁并解密,然后返回执行.Armadillo 2.xx只是附加了一些新特性,使得逆向工程变得更有趣.Armadillo调试由它自身保护的软件,这一点使得我们这些crackers在跟踪调试目标时,遇到了很大的困难.

 

※开始吧※ 

PEiD侦测知其用Armadillo 1.xx - 2.xx加壳,Virtual Personality很狡猾,在运行时,它有两个进程,一开始我还以为是CopyMem-II方式加壳,其实是标准方式加壳.

 

[],DUMP出程序

标准的流程如下, bpx VirtualProtect去找OEP一旦softice中断了,检查softice是否在

Virtual Personality的领空,如果不在则按F5直到softiceVirtual Personality 的领空中断.

然后按F12辅之以F10跟踪过去一些指令,直到你看到一个"call EDI"指令,停在那儿,然后写下EDI的值.那就是OEP.

 

具体如下:

运行softice4.2.7,开启Virtual Personality直到出现注册框,ctrl+D调出softice,

在按OKBPX VirtualProtect.到中断38次时程序运行了,重新来一遍,当在37次出现中断

VirtualProtect时停下,BC *清除所有断点,然后按F10单步返回到主程序.

001B:005FA207  83C404              ADD       ESP,04

001B:005FA20A  8945FC              MOV       [EBP-04],EAX

001B:005FA20D  837DECFF            CMP       DWORD PTR [EBP-14],-01

001B:005FA211  740B                JZ        005FA21E

001B:005FA213  8B55EC              MOV       EDX,[EBP-14]

001B:005FA216  891518C06200        MOV       [0062C018],EDX

001B:005FA21C  EB10                JMP       005FA22E

001B:005FA21E  837DFC01            CMP       DWORD PTR [EBP-04],01

001B:005FA222  740A                JZ        005FA22E

001B:005FA224  C70518C0620001000000MOV       DWORD PTR [0062C018],00000001

001B:005FA22E  837DB000            CMP       DWORD PTR [EBP-50],00

001B:005FA232  740A                JZ        005FA23E

001B:005FA234  8B45B0              MOV       EAX,[EBP-50]

001B:005FA237  50                  PUSH      EAX

001B:005FA238  FF1504626200        CALL      [USER32!DestroyWindow]

001B:005FA23E  8B45FC              MOV       EAX,[EBP-04]

001B:005FA241  8BE5                MOV       ESP,EBP

001B:005FA243  5D                  POP       EBP

001B:005FA244  C3                  RET

再耐心地用F10单步走,因为有一堆的JMP,JNZ,JO,用不了多久的就可来到这:

001B:005FB6F8  7511                JNZ       005FB70B      

001B:005FB6FA  6878BC6200          PUSH      0062BC78

001B:005FB6FF  FF159CBC6200        CALL      [0062BC9C]     ,这个CALLF8跟进 

001B:005FB705  83C404              ADD       ESP,04

005FB6FF这个CALLF8跟进,然后继续F10,几次后就来到这:

001B:00F8EEE9  334824              XOR       ECX,[EAX+24]

001B:00F8EEEC  334808              XOR       ECX,[EAX+08]

001B:00F8EEEF  2BF9                SUB       EDI,ECX

001B:00F8EEF1  FFD7                CALL      EDI    =====>EDI=0041657E

看到最后这个CALL EDI,0041657E就是程序的OEP,我们F8跟进:

001B:0041657E  55                  PUSH      EBP

001B:0041657F  8BEC                MOV       EBP,ESP

001B:00416581  6AFF                PUSH      FF

001B:00416583  68B0794400          PUSH      004479B0

001B:00416588  6820B54100          PUSH      0041B520

001B:0041658D  64A100000000        MOV       EAX,FS:[00000000]

001B:00416593  50                  PUSH      EAX

001B:00416594  64892500000000      MOV       FS:[00000000],ESP

001B:0041659B  83EC58              SUB       ESP,58

1 2 下一页

 
相关文章
48小时热门文章
 
48小时热门软件
48小时热门动画