作者:dREAMtHEATER
E-mail:dreamtheater@263.net
写作日期: 17th, Sep 1999
软件背景资料
运行平台: Win9X
文件名称: embaudio.exe
程序类型: Multimedia Tools
下载地点: http://www.emblaze.com
文件大小: 1,151KB
使用的工具
W32Dasm V8.93--Win9X Dissembler
Hex WorkShop V2.54--Hex Editor
RegSnap V2.51--Registry Analyzing Tool
Registry Studio V1.01--Enhanced Registry Editor
难易程度
Easy(x) Medium( ) Hard( ) Pro( )
----------=======声明========----------
未经作者同意,不得修改、引用原文,一切权利保留。
本教程只供教学用,其他一切用途皆被禁止。
----------=======软件介绍========----------
Emblaze Audio is an application used for compressing *.wav audio files suitable
for use on the Internet.
----------=======软件的保护机制========-------
与时间相关的键值记录在:
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\ultxfile\Format\MSHV04A6\open
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\ultxfile\Format\MSHV04A6\write
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\ultxfile\Format\MSHV04A6\xlate
其他内容看正文!
----------========正文========----------
Hi! 大家好!我们又见面了 :-)
我已有好长一段时间没有写tutor了(距tutor 11的推出已有28天了),想必让各位等苦了(
千万不要对我失去了信心啊!)。上个月简直没差点把我累死,咳咳.....,为了练好CRACKing内功
,我没白天黑日地做练习,每天搞得我都是脑发胀、眼发直、手发酸,还好,功夫不负有心人,一
个月下来我也许创下了破解记录---crack掉将近100个共享软件(所有软件均随机性的从网上D下的,
这可花了我一百大元),可以说我遇到了几乎所有的保护系统,并积累了大量的cracking经验。说
实话,学习cracking没有什么捷径可走,你唯一可以做的就是努力再努力!
好!话回正题,我今天向大家介绍一种程序保护类型。如果文中提到的例子的破解你能完全
理解,那么再遇到此类程序,你应该能百分之百地破解。
本讲中用的shareware例子叫“Emblaze.Audio”,该共享软件是用Release Software
Corporation(简称RS)出品的time limited类型的保护程序封装的。安装后在该软件的安装目录下有
三个与此相关的文件,分别是Rsagent.hlp,rsdll.dll,rsagnt32.dll,我也曾经遇到过其他几个
用RS封装的软件,均是在软件的安装目录下存在这三个文件,其中包括著名的杀毒软件--Norton
AntiVirus 4.0,因此我觉得有必要将这一类共享程序的破解方法公布于众。不过告诉你,这个RS封
装程序真的很差劲,可以说极容易破解,因此我今天不着重讲解破解过程,只对他的注册过程做一
详细介绍。刚开始时,我也被他的注册过程给唬住了,以为该程序必须网上注册,其实不然!
首先,运行文件AUDIO.exe,程序马上跳出一个nagscreen,告诉你还剩多少天可以试用,窗口
上还有三个BUTTON,分别是Buy Now,Try It,Cancel,此界面做得很象用VBox封装的程序。请用鼠标点
取"Buy Now" button,进入Registration Wizard,你必须逐项的填写registration form,当然你可
以随便填了,填好后点击next,这一步要求你填credit card number,expired date, card name,
这回估计你犯难了,你上哪儿找credit card number, 没关系,我在网上找了一个VISA的number,当
然这也不能用,只是骗骗他 :-),请填入credit card number:4760313551454,expired date:
10/99, card name:dREAMtHEATER(你可以随便填),点击next-->order by fax/mail-->完成!该操
作完毕后,会在你的windows目录下生成一个叫“rsagent.ini”的文件,里面包括你刚才你输入的
个人信息,同时生成一个personalCode项。
退出程序,重新运行,再次点击“Buy Now”,这会程序读取rsagent.ini中的信息,并提取
其中的firstName=dREAMtHEATER,lastName=Home'99,personalCode=0018471466(这是我的信息)
列于order by fax/mail的注册窗口上,并且有一个空的EditBox等待你输入UnlockingCode,那么
OK,我随便输入1234567890。
在SoftIce中设断点bpx hmemcpy ,Ctrl-D,回到注册窗口,press "OK" button,重新回到
SoftIce中,记住你不要再按Ctrl-D,"bc *",取消所有断点,Press F12数次,程序停在:
:100055FA 6816040000 push 00000416
:100055FF 55 push ebp
:10005600 FFD3 call ebx
:10005602 BFE00D0310 mov edi, 10030DE0 <==回到这里
:10005607 83C9FF or ecx, FFFFFFFF
:1000560A 33C0 xor eax, eax
:1000560C F2 repnz
:1000560D AE scasb
:1000560E F7D1 not ecx
:10005610 49 dec ecx
:10005611 83F90A cmp ecx, 0000000A <==检查输入的code是否是10位数
:10005614 743F je 10005655
:10005616 8D542410 lea edx, dword ptr [esp+10]
* Possible StringData Ref from Data Obj ->"Sorry, that unlocking code is "
->"not valid for this program."
|
:1000561A 6890180210 push 10021890
:1000561F 52 push edx
:10005620 E88BF20000 call 100148B0
:10005625 83C408 add esp, 00000008
:10005628 8D442410 lea eax, dword ptr [esp+10]
:1000562C 6A30 push 00000030
* Possible StringData Ref from Data Obj ->"Invalid Unlocking Code"
|
:1000562E 6878180210 push 10021878
:10005633 50 push eax
:10005634 55 push ebp
* Reference To: USER32.MessageBoxA, Ord:0195h
|
:10005635 FF15A8950310 Call dword ptr [100395A8]
:1000563B 8B0D74170310 mov ecx, dword ptr [10031774]
:10005641 83C8FF or eax, FFFFFFFF
:10005644 66C741040000 mov [ecx+04], 0000
:1000564A 5F pop edi
:1000564B 5E pop esi
:1000564C 5D pop ebp
:1000564D 5B pop ebx
:1000564E 81C470020000 add esp, 00000270
:10005654 C3 ret
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10005614(C)
|
:10005655 BF10B00210 mov edi, 1002B010
:1000565A 83C9FF or ecx, FFFFFFFF
:1000565D 33C0 xor eax, eax
:1000565F 8D94240C010000 lea edx, dword ptr [esp+0000010C]
:10005666 F2 repnz
:10005667 AE scasb
:10005668 F7D1 not ecx
:1000566A 2BF9 sub edi, ecx
:1000566C 8BC1 mov eax, ecx
:1000566E 8BF7 mov esi, edi
:10005670 8BFA mov edi, edx
:10005672 8B1574170310 mov edx, dword ptr [10031774]
:10005678 C1E902 shr ecx, 02
:1000567B F3 repz
:1000567C A5 movsd
:1000567D 8BC8 mov ecx, eax
:1000567F 81C2B6000000 add edx, 000000B6
:10005685 83E103 and ecx, 00000003
:10005688 8D84240C010000 lea eax, dword ptr [esp+0000010C]
:1000568F F3 repz
:10005690 A4 movsb
:10005691 8D8C24D8000000 lea ecx, dword ptr [esp+000000D8]
:10005698 51 push ecx
:10005699 52 push edx
:1000569A 50 push eax
:1000569B E8B0620000 call 1000B950
:100056A0 83C40C add esp, 0000000C
:100056A3 8D8C24D8000000 lea ecx, dword ptr [esp+000000D8] <==ecx指向real
code
:100056AA 68E00D0310 push 10030DE0
:100056AF 51 push ecx
:100056B0 E8ABA20100 call 1001F960 <==real code与你输入code进行比较
:100056B5 83C408 add esp, 00000008
:100056B8 85C0 test eax, eax
:100056BA 0F85AC020000 jne 1000596C
:100056C0 8D942480010000 lea edx, dword ptr [esp+00000180]
你用F10执行到:100056AA这一行时,下命令"d ecx",即可看到数据窗口中显示的real code(我的是
UnlockingCode=JDALNFVWQI),是不是真的很简单?
在注册窗口重新填入你的code,press OK,出现类似Explorer中复制文件的窗口,告诉你请等
待,稍等片刻,程序注册成功,出现主窗口!
到此为止,你已百分之百地cracking了该程序!
---------========The Final========----------
所有用RS封装的程序破解过程是完全一样的,不同的只是UnlockingCode!