• 标 题:Vbox 4.3脱壳实战 (2千字)
  • 作 者:冰毒
  • 时 间:2000-5-20 23:57:40
  • 链 接:http://bbs.pediy.com

标题:Vbox 4.3脱壳实战
   
教程写作: 冰毒
作者信箱: break_ice@hotmail.com
写作日期: 2000年5月18日
版权声明: 转贴请保持完整

目标程序:Derive 5 Trial
程序网址:http://www.derive.com/
文件大小:文件包 2,936,029字节;主文件 Dfw.exe 1,192,384字节
使用工具:Softice 3.23; ProcDump 1.6.2 Final; FrogsICE 1.00 Final

引言

Vbox被认为是现今最强悍的加壳工具,不少商用软件借它加以保护。
Vbox 4.3是最新版本,防跟踪能力很强,对Cracker们提出了新的挑战。
不久前,dEZZY / Drink or Die写了一篇了不起的教程,提供了手动
除掉Vbox 4.3加壳保护的办法。dEZZY的原文可在http://go.to/tsehp
处下载。本文所用的方法,基本上和dEZZY描述的过程相同。只是本人
偷懒完全靠FrogsICE来对付Vbox的防Softice的手段。如果你的英语好,
本人劝你还是去读dEZZY的教程。本人这篇教程并无新意,不过拿一个
特定程序示范一下而已。Derive 5是个商业版的数学辅助软件,30天的
试用期。本人在网上见到有人问起它的破解,于是拿它试刀。

详细脱壳步骤

1. 安装目标程序Derive 5 Trial。重启,运行Softice。
2. 运行FrogsICE,除了默认的Options外,还要选中Force int3 hook和
Force int3 SEH两项。
3. 现在启动Derive 5,等待Nag窗口弹出。
4. 进入Softice。设断 bpx getprocaddress。
5. 回到Windows,按下Try按钮。Softice中断。
6. 按 1 次 F12,你会见到下面的代码。不过别忘了 bc* 清除断点。

015F:0700BB36  PUSH      DWORD PTR [EBP-20]
015F:0700BB39  CALL      [KERNEL32!GetProcAddress]
015F:0700BB3F  MOV        EDI,EAX          <-- 我们在这里
015F:0700BB41  CMP        EDI,EBX
015F:0700BB43  JZ        0700BCE6
015F:0700BB49  MOV        ESI,[ESI+16]
015F:0700BB4C  ADD        ESI,[EBP+08]
015F:0700BB4F  CMP        [EBP-24],EBX
015F:0700BB52  JZ        0700BB89        <-- 这里下A命令,

把 jz 改成 jmp。非常关键,原因见dEZZY的教程。

8. F10 继续
9. 按 5 次 F12, 不多不少。第 1 次 F12要稍等一下才会被中断,别着急。^_^
光标前面一行是 CALL EDI
10. 设断 bpm edi x (参见FrogsICE的说明文件和Softice手册)。F5, Softice中断。
11. 一直按F10, 直到CALL 01640115 (在不同的机器和每次调试都可能不同,原则是
F10跳过,程序便会运行)
12. F8 追进这个CALL,按 F10 继续
13. 到来到 CALL EAX 时 (中间可能要设断跳过一个循环), 按 F10 跳过
14. 按 F10 直到 CALL 01640485 (同样在你的机器上可能会不同)
15. 小心按 F10 来到:

MOV      EDX,[EBP-08]
MOV      EAX,[EDX+14] 
MOV      [EBP-10],EAX
MOV      EBX,[EBP-10]
JMP      EBX            <-- 程序入口。记下EBX=0048BA47

16. 当光标位于 JMP EBX 行时,下指令

a eip 回车
jmp eip 回车
回车

17. F5 离开Softice,回到Windows
18. 运行ProcDump,在 Options 中作以下设置:

选中 Structure 下的所有选项,在 Imports 项下,选中'rebuild new import table'。

19. Dump (full) Dfw.exe文件。存盘dump.exe
20. 用Procdump的PE Editor修改Entry Point的值为0008BA47。OK,保存文件。

现在,你有了一个解除了Vbox保护,可以无限期使用的程序了。:)

致谢: 感谢dEZZY的杰出教程。感谢SV,Hobgoblin和Tiamath给我的帮助。