破解人 :tieji
破解时间:2001-11-1
破解工具:TRW2000 V1.23 W32dasm黄金版 Procdump UltraEdit-32
作者主页:http://wordslover.yeah.net
说 明:被公认为智能化程度最高的单词记忆软件。依靠内建的词汇量动态
估测,自动难度进级,效果自适应复习,随机试题生成等智能块,
以及36000词条的记法例句记忆库,用户可以轻松进入一种疯狂状态,
将单词记忆的效率发挥到及至。
先用Fi检测,发现程序有壳,upx v0.62的,用Procdump轻松去壳......
启动软件,填入注册信息:
用户名称:caoxinyu
电子邮箱: caoxinyu@xxxxxxx.com
注册号码:54321123455432112345 <----填20个(为什么?看下面说明)
打开TRW2000,下断点bpx hmemcpy,点确定,被拦下。
Bc* 清断点,pmodule 回程序领空,然后按F12六次(七次就是出现注册失败框了),按F10来到:
:00405F43 8B44243C mov
eax, dword ptr [esp+3C]
:00405F47 8B40F8
mov eax, dword ptr [eax-08]
:00405F4A 83F814
cmp eax, 00000014 ;注册码是否为20位
:00405F4D 7413
je 00405F62
;不是就完,是就跳
:00405F4F 6A00
push 00000000
:00405F51 6A00
push 00000000
:00405F53 68C8E74700 push 0047E7C8
:00405F58 E8B9B20400 call 00451216
;出现"对不起,注册号码不正确,您不是合法的注册用户!"
:00405F5D E983000000 jmp 00405FE5
:00405F62 56
push esi
:00405F63 57
push edi
:00405F64 33F6
xor esi, esi
:00405F66 8D7C2448 lea
edi, dword ptr [esp+48]
:00405F6A 6A01
push 00000001
:00405F6C 8D4C2410 lea
ecx, dword ptr [esp+10]
:00405F70 56
push esi
:00405F71 51
push ecx
:00405F72 8D4C2450 lea
ecx, dword ptr [esp+50]
:00405F76 E847CF0300 call 00442EC2
:00405F7B 8B00
mov eax, dword ptr [eax]
:00405F7D 50
push eax
:00405F7E E8A2030300 call 00436325
:00405F83 83C404
add esp, 00000004
:00405F86 8D4C240C lea
ecx, dword ptr [esp+0C]
:00405F8A 8907
mov dword ptr [edi], eax
:00405F8C E86CF50300 call 004454FD
:00405F91 46
inc esi
:00405F92 83C704
add edi, 00000004
:00405F95 83FE14
cmp esi, 00000014
:00405F98 7CD0
jl 00405F6A ;20次循环
:00405F9A 8D4C2410 lea
ecx, dword ptr [esp+10]
:00405F9E E8ED5B0000 call 0040BB90
;关键call,跟进去(见下)
:00405FA3 5F
pop edi
:00405FA4 5E
pop esi
:00405FA5 84C0
test al, al ;当al不等于零时,下面就跳,即成功
:00405FA7 6A00
push 00000000
:00405FA9 6A00
push 00000000
:00405FAB 7507
jne 00405FB ;关键跳,跳过去就成功
:00405FAD 68C8E74700 push 0047E7C8
;出现"对不起,注册号码不正确,您不是合法的注册用户!"
:00405FB2 EB1C
jmp 00405FD0 ;到此处就完!
:00405FB4 68A8E74700 push 0047E7A8
:00405FB9 E858B20400 call 00451216
;出现"恭喜,您已经是合法的注册用户!"
:00405FBE 8D4C2408 lea
ecx, dword ptr [esp+08]
:00405FC2 E8495D0000 call 0040BD10
:00405FC7 6A00
push 00000000
:00405FC9 6A00
push 00000000
:00405FCB 687CE74700 push 0047E77C
;出现"您需要退出后重新运行疯狂单词使注册生效!"
:00405FD0 E841B20400 call 00451216
;调出提示框
======================================================================================
上面的:00405F9E E8ED5B0000 call
0040BB90 到这里:
:0040BB90 53
push ebx
:0040BB91 56
push esi
:0040BB92 8BF1
mov esi, ecx
:0040BB94 8D4608
lea eax, dword ptr [esi+08]
:0040BB97 8D4E34
lea ecx, dword ptr [esi+34]
:0040BB9A 50
push eax
:0040BB9B 51
push ecx
:0040BB9C 8BCE
mov ecx, esi
:0040BB9E E88DFDFFFF call 0040B930
;计算比较注册码,
:0040BBA3 8BCE
mov ecx, esi
:0040BBA5 8AD8
mov bl, al ;将比较结果al放入bl
:0040BBA7 E864010000 call 0040BD10
;此call好像是比较注册信息中有无opq98@263.net
;http://iceworld.126.com/等信息,防破解吧。
:0040BBAC 8AC3
mov al, bl ;将比较结果bl放回al
:0040BBAE 5E
pop esi
:0040BBAF 5B
pop ebx
:0040BBB0 C3
ret
==============================================
当然只在注册的地方改改跳转是没有用的,这软件在有限制的地方都计算比较注册码,本人又
无力算出注册码,革命尚未成功,还得继续努力......
比较了几个有限制的地方,发现都有 test al, al jne 语句 ,只要al不为零即可,
而且在test al, al前都有一个call,这些call的内容与上面的call 0040BB90差不多,看上面的
call: 只要最后的mov a1 ,bl 送入al的不为零即可,而从上面的计算bl肯定为零(除非瞎猫
碰到死耗子,注册码给蒙对了,我可没这么好的运气),分析:将有限制处的mov a1 ,bl 语句nop掉。
调起UltraEdit-32,查8BCE8AD8有八处,分别如下:
8AD8E8640100008AC3改为----->8AD8E8640100009090
8AD8E8340100008AC3改为----->8AD8E8340100009090
8AD8E8040100008AC3改为----->8AD8E8040100009090
8AD8E8D40000008AC3改为----->8AD8E8D40000009090
8AD8E8A40000008AC3改为----->8AD8E8A40000009090
8AD8E8740000008AC3改为----->8AD8E8740000009090
8AD8E8440000008AC3改为----->8AD8E8440000009090
8AD8E8140000008AC3改为----->8AD8E8140000009090
运行,哈!限制全没了。
爆破完成!
- 标 题:疯狂单词v1.6破解 (5千字)
- 作 者:tieji
- 时 间:2001-11-2 13:58:37
- 链 接:http://bbs.pediy.com