liaoyl 发表于 2011-10-6 07:54

ASProtect 2.1x重启验证程序的脱壳与破解(图)

本帖最后由 liaoyl 于 2011-10-6 08:10 编辑

ASProtect 2.1x重启验证程序的脱壳与破解(图)【目标程序】:DVDFabGold.exe【工  具】:PEiD、LordPE、ImportREC、OllyICE【脱壳脚本】:IATfixer.1.02.osc【作  者】:liaoylASProtect 2.1x重启验证的脱壳是用IATfixer.1.02.osc脚本,爆破部分也很一般,本文是我学习的笔记,发到论坛只为象我一样的菜鸟借鉴学习,别无它意…,高手掠过!一、脱壳用PEiD v0.95查壳:ASProtect 2.1x SKE -> Alexey Solodovnikov 用插件VerA 1.5查壳:ASProtect 2.xx (may be 2.11) Registered 运行DVDFabGold.exe,弹出“欢迎来到DVDFab Gold”窗口,按『输入注册码…』按钮,打开“注册DVDFab Gold”窗口,输入假注册码,打开“DVDFabGold”提示窗口,“谢谢你!请重新启动DVDFab Gold成为注册版本。”。但当你再次打开DVDFabGold.exe时,又会出现同样的注册提示,这就是典型的重启验证的程序。 OD载入,调试设置如图插件->HideOllyDbg->隐藏如图(也许你的OD上的插件与这里的不一样,只要是隐藏OD就行了)下面是运行脱壳脚本IATfixer.1.02.osc,插件->ODbgScript->运行脚本,如图 视操作系统的配置不同,运行脚本需要花费了6分钟,最后弹出提示窗口如图 按『确定』进入下面代码00B7B98C 68 3DD3BAA2 push A2BAD33D // 脚本运行结束后的位置!00B7B991 68 C0190000 push 19C000B7B996 68 C89F0000 push 9FC800B7B99B 68 00F00200 push 2F00000B7B9A0 FF35 D4B4B900 push dword ptr ds:00B7B9A6 E8 51DEFFFF call 00B797FC
按Shift+F9运行就到了OEP0047572E 55 push ebp                           // 这里就是OEP0047572F 8BEC mov ebp,esp00475731 6A FF push -100475733 68 80F14700 push DVDFabGo.0047F18000475738 68 34554700 push DVDFabGo.00475534    // jmp 到0047573D 64:A1 00000000 mov eax,dword ptr fs:00475743 50 push eax00475744 64:8925 0000000 mov dword ptr fs:,esp0047574B 83EC 68 sub esp,680047574E 53 push ebx0047574F 56 push esi00475750 57 push edi下面Dump, 用LordPE,然后用ImportREC修复,按Alt+L或者快捷工具栏上的“L”按钮,打开“记录数据”窗口,按“获取输入表”按钮,再按“显示无效的”按钮,在“找到的输入表函数”框下,显示有一个无效指针,如图
复制ValidateLocale,回到上一个窗口,双击无效的指针,在名称框输入ValidateLocale,按“确定”后函数ValidateLocale被加入
按“修复转储文件”按钮,保存Dump文件。下面用Unpack_.exe查壳 二、爆破OD载入脱壳文件Unpack_.exe按F9运行,弹出“欢迎来到DVDFab Gold”窗口,不用理会它!按“调试”->暂停,或者按 暂停。然后按Alt+K或者快捷工具栏上的“K”按钮 ,打开“调用堆栈”窗口,选中0012FDD4双击或者按回车键,来到下面代码00403882 B8 ED694700 mov eax,Unpack_.004769ED00403887 E8 841B0700 call Unpack_.004754100040388C 81EC 60040000 sub esp,46000403892 53 push ebx向上来到段首004033C7,F2下断,然后重新加载 按F9运行,断下来了,取消断点。按F8单步向下,在这个Call用F7进入,继续F8单步向下,将标志位Z=1修改为Z=0,让跳转实现。按F9运行,程序界面出现了, 004033D5 E8 A8040000 call Unpack_.00403882
关键跳上面的Call就是关键Call,我们在004033D5这行F2下断。重新加载,F9运行,断下来了!F8单步走,这里的跳不能让它实现,如果跳转实现就跳过了清零的xor eax,eax语句,所以我们将00427407这行代码nop掉!


保存文件CrackED-Fix.exe,到这里爆破完成,OK!说明:1.
上面脱壳用LordPE,然后用ImportREC修复,其实这个程序可以直接用OD的插件做Dump,保存的dumper.exe文件不用ImportREC修复就可以运行。这里用LordPE,然后用ImportREC修复,主要是我对无效指针的加入方法觉得可取,以前在少于14个无效指针都是用剪切掉,这个程序且不能用剪切;2. 用ImportREC修复时,也可以直接按“自动查找IAT”,得到的RAV=7A000和大小=BB4是一样的,因为,用脚本脱壳经常会出现需要手工修改IAT的提示,这里按Alt+L或者快捷工具栏上的“L”按钮,打开“记录数据”窗口,是修改IAT得到RAV和大小的方法之一。 附件:1. 心芯老师视频-破解DVD制作软件   2.目标程序DVDFabGold   3. ASProtect 2.1x重启验证程序的脱壳与破解(图).pdf   4. IATfixer.1.02.osc附件下载:                              于2011.10.06

sdzzb 发表于 2011-10-6 21:13

多谢分享 学习了

sgltlj 发表于 2011-10-6 23:40

学习了谢谢分享

辰龙飞飞 发表于 2011-10-7 11:01

谢谢楼主共享

老万 发表于 2011-10-8 15:33

谢谢分享,学习了

ghc00259 发表于 2011-10-8 19:58

不是和好喔

xiaohei336 发表于 2011-10-9 19:07

谢谢楼主

13850886186 发表于 2012-3-12 22:06

谢谢分享。

士兵突击 发表于 2012-3-22 00:55

学习 学习

honghi1 发表于 2012-3-22 02:17

谢谢分享 这么好的图文解说破解
页: [1] 2 3
查看完整版本: ASProtect 2.1x重启验证程序的脱壳与破解(图)