吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13800|回复: 27
收起左侧

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

  [复制链接]
liaoyl 发表于 2011-10-6 07:54
本帖最后由 liaoyl 于 2011-10-6 08:10 编辑

ASProtect 2.1x重启验证
程序的脱壳破解(图)
【目标程序】:DVDFabGold.exe
【工  具】:PEiD、LordPE、ImportREC、OllyICE
【脱壳脚本】:IATfixer.1.02.osc
【作  者】:liaoyl
ASProtect 2.1x重启验证的脱壳是用IATfixer.1.02.osc脚本,爆破部分也很一般,本文是我学习的笔记,发到论坛只为象我一样的菜鸟借鉴学习,别无它意…,高手掠过!
一、脱壳
用PEiD v0.95查壳:ASProtect 2.1x SKE -> Alexey Solodovnikov
01.gif
用插件VerA 1.5查壳:ASProtect 2.xx (may be 2.11) Registered [8]
02.gif
运行DVDFabGold.exe,弹出“欢迎来到DVDFab Gold”窗口,按『输入注册码…』按钮,打开“注册DVDFab Gold”窗口,输入假注册码,打开“DVDFabGold”提示窗口,“谢谢你!请重新启动DVDFab Gold成为注册版本。”。但当你再次打开DVDFabGold.exe时,又会出现同样的注册提示,这就是典型的重启验证的程序。
03.gif
OD载入,调试设置如图
04.gif
插件->HideOllyDbg->隐藏如图(也许你的OD上的插件与这里的不一样,只要是隐藏OD就行了)
05.gif
下面是运行脱壳脚本IATfixer.1.02.osc,插件->ODbgScript->运行脚本,如图
06.gif
视操作系统的配置不同,运行脚本需要花费了6分钟,最后弹出提示窗口如图
07.gif
按『确定』进入下面代码
00B7B98C 68 3DD3BAA2 push A2BAD33D // 脚本运行结束后的位置!
00B7B991 68 C0190000 push 19C0
00B7B996 68 C89F0000 push 9FC8
00B7B99B 68 00F00200 push 2F000
00B7B9A0 FF35 D4B4B900 push dword ptr ds:[B9B4D4]
00B7B9A6 E8 51DEFFFF call 00B797FC

08.gif
按Shift+F9运行就到了OEP
0047572E 55 push ebp                           // 这里就是OEP
0047572F 8BEC mov ebp,esp
00475731 6A FF push -1
00475733 68 80F14700 push DVDFabGo.0047F180
00475738 68 34554700 push DVDFabGo.00475534    // jmp
0047573D 64:A1 00000000 mov eax,dword ptr fs:[0]
00475743 50 push eax
00475744 64:8925 0000000 mov dword ptr fs:[0],esp
0047574B 83EC 68 sub esp,68
0047574E 53 push ebx
0047574F 56 push esi
00475750 57 push edi
下面Dump, 用LordPE,然后用ImportREC修复,按Alt+L或者快捷工具栏上的“L”按钮,打开“记录数据”窗口,
09.gif
按“获取输入表”按钮,再按“显示无效的”按钮,在“找到的输入表函数”框下,显示有一个无效指针,如图
10.gif

11.gif
复制ValIDAteLocale,回到上一个窗口,双击无效的指针,在名称框输入ValidateLocale
,按“确定”后函数ValidateLocale被加入
12.gif

13.gif
按“修复转储文件”按钮,保存Dump文件。下面用Unpack_.exe查壳
14.gif
二、爆破
OD载入脱壳文件Unpack_.exe
按F9运行,弹出“欢迎来到DVDFab Gold”窗口,不用理会它!按“调试”->暂停,或者按 15.gif 暂停。然后按Alt+K或者快捷工具栏上的“K”按钮 16.gif ,打开“调用堆栈”窗口,选中0012FDD4双击或者按回车键,
17.gif
来到下面代码
00403882 B8 ED694700 mov eax,Unpack_.004769ED
00403887 E8 841B0700 call Unpack_.00475410
0040388C 81EC 60040000 sub esp,460
00403892 53 push ebx
向上来到段首004033C7,F2下断,然后重新加载 19.gif
18.gif
按F9运行,断下来了,取消断点。按F8单步向下,在这个Call用F7进入,继续F8单步向下,
21.gif
将标志位Z=1修改为Z=0,让跳转实现。按F9运行,程序界面出现了,
22.gif
004033D5 E8 A8040000 call Unpack_.00403882
23.gif

关键跳上面的Call就是关键Call,我们在004033D5这行F2下断。重新加载,F9运行,断下来了!F8单步走,这里的跳不能让它实现,如果跳转实现就跳过了清零的xor eax,eax语句,所以我们将00427407这行代码nop掉!
24.gif

25.gif

26.gif

27.gif
保存文件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
附件下载 下载地址.txt (62 Bytes, 下载次数: 133)
                              于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
谢谢分享 这么好的图文解说破解
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 23:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表