疯狂单词破解实录:
我破解的是版本是Wordslover 1.0 beta12
首先下载beta9安装版,下载地址是:http://asp.cnshare.com/coco/cnshare/ds.asp?softid=28&durl=/wl10b9setup.exe
安装好后,再下载beta12版的升级程序。按照升级版安装说明升级完以后它就变成了Wordslover 1.0 beta12版了。
使用工具:TRW1.22
保护类型:注册码保护(明码)
教学目的:学习注册码的破解
难度级别:易
运行程序,找到输入注册的地方输入以下信息:
姓名:bandi 注册类型:D类[站长级]
地区:其它 Email地址:bandi@yeah.net
文化程序:大学 其它说明:
职业:教师
注册号码:78787878
起动TRW1.22,下命令:bpx hmemcpy
按F5返回注册界面后,再按注册按钮,TRW1.22蹦出。
bc * 清除断点
pmodule 跳到程序领空
紧接着按F12键4次,再按F10来到如下地址:
0167:00405370 8D4C2408 LEA ECX,[ESP+08]
0167:00405374 E8E75C0000 CALL 0040B060
0167:00405379 8D4C2438 LEA ECX,[ESP+38]
0167:0040537D C78424B800000000+MOV DWORD [ESP+B8],00
0167:00405388 E8534C0000 CALL 00409FE0
0167:0040538D 8D442428 LEA EAX,[ESP+28]
0167:00405391 8D8E98000000 LEA ECX,[ESI+98]
0167:00405397 50 PUSH
EAX
0167:00405398 C68424BC00000001 MOV BYTE [ESP+BC],01
0167:004053A0 E8674C0300 CALL 0043A00C
0167:004053A5 8D4C240C LEA ECX,[ESP+0C]
0167:004053A9 51 PUSH
ECX
0167:004053AA 8D8E00020000 LEA ECX,[ESI+0200]
0167:004053B0 E8574C0300 CALL 0043A00C
0167:004053B5 8D542410 LEA EDX,[ESP+10]
0167:004053B9 8D8EC4010000 LEA ECX,[ESI+01C4]
0167:004053BF 52 PUSH
EDX
0167:004053C0 E8474C0300 CALL 0043A00C
0167:004053C5 8D44241C LEA EAX,[ESP+1C]
0167:004053C9 8D8E10010000 LEA ECX,[ESI+0110]
0167:004053CF 50 PUSH
EAX
0167:004053D0 E8374C0300 CALL 0043A00C
0167:004053D5 8D4C2414 LEA ECX,[ESP+14]
0167:004053D9 51 PUSH
ECX
0167:004053DA 8D8E88010000 LEA ECX,[ESI+0188]
0167:004053E0 E8274C0300 CALL 0043A00C
0167:004053E5 8D542418 LEA EDX,[ESP+18]
0167:004053E9 8D8E4C010000 LEA ECX,[ESI+014C]
0167:004053EF 52 PUSH
EDX
0167:004053F0 E8174C0300 CALL 0043A00C
0167:004053F5 8D442420 LEA EAX,[ESP+20]
0167:004053F9 8D8ED4000000 LEA ECX,[ESI+D4]
0167:004053FF 50 PUSH
EAX
0167:00405400 E8074C0300 CALL 0043A00C
0167:00405405 8B8E3C020000 MOV ECX,[ESI+023C]
0167:0040540B 6864194700 PUSH DWORD 00471964
0167:00405410 894C2434 MOV [ESP+34],ECX
0167:00405414 8D4C2428 LEA ECX,[ESP+28]
0167:00405418 E8FB2E0300 CALL 00438318
0167:0040541D 6860194700 PUSH DWORD 00471960
0167:00405422 8D4C2430 LEA ECX,[ESP+30]
0167:00405426 E8ED2E0300 CALL 00438318
0167:0040542B 83EC2C SUB
ESP,BYTE +2C
0167:0040542E 8D542438 LEA EDX,[ESP+38]
0167:00405432 8BF4 MOV
ESI,ESP
0167:00405434 89642460 MOV [ESP+60],ESP
0167:00405438 52 PUSH
EDX
0167:00405439 89742464 MOV [ESP+64],ESI
0167:0040543D 8D4E04 LEA
ECX,[ESI+04]
0167:00405440 E8BF2A0300 CALL 00437F04
0167:00405445 8D44243C LEA EAX,[ESP+3C]
0167:00405449 8D4E08 LEA
ECX,[ESI+08]
0167:0040544C 50 PUSH
EAX
0167:0040544D C68424E800000002 MOV BYTE [ESP+E8],02
0167:00405455 E8AA2A0300 CALL 00437F04
0167:0040545A 8D4C2440 LEA ECX,[ESP+40]
0167:0040545E C68424E400000003 MOV BYTE [ESP+E4],03
0167:00405466 51 PUSH
ECX
0167:00405467 8D4E0C LEA
ECX,[ESI+0C]
0167:0040546A E8952A0300 CALL 00437F04
0167:0040546F 8D542444 LEA EDX,[ESP+44]
0167:00405473 8D4E10 LEA
ECX,[ESI+10]
0167:00405476 52 PUSH
EDX
0167:00405477 C68424E800000004 MOV BYTE [ESP+E8],04
0167:0040547F E8802A0300 CALL 00437F04
0167:00405484 C68424E400000005 MOV BYTE [ESP+E4],05
0167:0040548C 8D442448 LEA EAX,[ESP+48]
0167:00405490 50 PUSH
EAX
0167:00405491 8D4E14 LEA
ECX,[ESI+14]
0167:00405494 E86B2A0300 CALL 00437F04
0167:00405499 8D4C244C LEA ECX,[ESP+4C]
0167:0040549D C68424E400000006 MOV BYTE [ESP+E4],06
0167:004054A5 51 PUSH
ECX
0167:004054A6 8D4E18 LEA
ECX,[ESI+18]
0167:004054A9 E8562A0300 CALL 00437F04
0167:004054AE 8D542450 LEA EDX,[ESP+50]
0167:004054B2 8D4E1C LEA
ECX,[ESI+1C]
0167:004054B5 52 PUSH
EDX
0167:004054B6 C68424E800000007 MOV BYTE [ESP+E8],07
0167:004054BE E8412A0300 CALL 00437F04
0167:004054C3 8D442454 LEA EAX,[ESP+54]
0167:004054C7 8D4E20 LEA
ECX,[ESI+20]
0167:004054CA 50 PUSH
EAX
0167:004054CB C68424E800000008 MOV BYTE [ESP+E8],08
0167:004054D3 E82C2A0300 CALL 00437F04
0167:004054D8 8D4C2458 LEA ECX,[ESP+58]
0167:004054DC C68424E400000009 MOV BYTE [ESP+E4],09
0167:004054E4 51 PUSH
ECX
0167:004054E5 8D4E24 LEA
ECX,[ESI+24]
0167:004054E8 E8172A0300 CALL 00437F04
0167:004054ED 8B54245C MOV EDX,[ESP+5C]
0167:004054F1 8D4C2464 LEA ECX,[ESP+64]
0167:004054F5 895628 MOV
[ESI+28],EDX
0167:004054F8 C70680CD4500 MOV DWORD [ESI],0045CD80
0167:004054FE C68424E400000001 MOV BYTE [ESP+E4],01
0167:00405506 E8C5510000 CALL 0040A6D0--------这里是注册比较的CALL,追进去。。。
0167:0040550B 84C0 TEST
AL,AL
0167:0040550D 6A00 PUSH
BYTE +00
0167:0040550F 6A00 PUSH
BYTE +00
0167:00405511 7507 JNZ
0040551A---在这里跳就可以注册成功了。
0167:00405513 6890194700 PUSH DWORD 00471990---对不起,注册号码不正确,您不是合法的注册用户!
0167:00405518 EB05 JMP
SHORT 0040551F
0167:0040551A 6870194700 PUSH DWORD 00471970----恭喜,您已经是合法的注册用户!
0167:0040551F E847EA0300 CALL 00443F6B-----这里即是注册成功的CALL也是注册失败的CALL
0167:00405524 8B442428 MOV EAX,[ESP+28]
0167:00405528 8BCF MOV
ECX,EDI
0167:0040552A 50 PUSH
EAX
0167:0040552B 6878124700 PUSH DWORD 00471278
0167:00405530 6874124700 PUSH DWORD 00471274
===============================================================
在0167:00405506 CALL 0040A6D0这句处按F8追进后来到这里:
0167:0040A6D0 6AFF PUSH
BYTE -01
0167:0040A6D2 6853714500 PUSH DWORD 00457153
0167:0040A6D7 64A100000000 MOV EAX,[FS:00]
:
:
:
:
程序要走好长一段路,中间还有几处在作循环,可要有耐心哦!最后我们会来到这里:
0167:0040A9C0 8B4C2414 MOV ECX,[ESP+14]----带过这句,?
ecx可以看到正确的注册码
0167:0040A9C4 8B8424E0010000 MOV EAX,[ESP+01E0]----错误的注册码
0167:0040A9CB 5F POP
EDI
0167:0040A9CC 5E POP
ESI
0167:0040A9CD 3BC1 CMP
EAX,ECX-----注册码比较的地方(十六进制数), ?ecx可看到正确注册码
0167:0040A9CF 5D POP
EBP
0167:0040A9D0 C68424A401000000 MOV BYTE [ESP+01A4],00
0167:0040A9D8 8D4C2404 LEA ECX,[ESP+04]
0167:0040A9DC 7436 JZ
0040AA14
0167:0040A9DE E8ACD70200 CALL 0043818F
0167:0040A9E3 8D8C24AC010000 LEA ECX,[ESP+01AC]
0167:0040A9EA C78424A4010000FF+MOV DWORD [ESP+01A4],FFFFFFFF
0167:0040A9F5 E896070000 CALL 0040B190
0167:0040A9FA 32C0 XOR
AL,AL-----------AL清零
0167:0040A9FC 8B8C249C010000 MOV ECX,[ESP+019C]
0167:0040AA03 5B POP
EBX
0167:0040AA04 64890D00000000 MOV [FS:00],ECX
0167:0040AA0B 81C4A4010000 ADD ESP,01A4
0167:0040AA11 C22C00 RET
2C
0167:0040AA14 E876D70200 CALL 0043818F
0167:0040AA19 8D8C24AC010000 LEA ECX,[ESP+01AC]
0167:0040AA20 C78424A4010000FF+MOV DWORD [ESP+01A4],FFFFFFFF
0167:0040AA2B E860070000 CALL 0040B190
0167:0040AA30 B001 MOV
AL,01----------这里就是注册成功的旗标志吧!
0167:0040AA32 EBC8 JMP
SHORT 0040A9FC
:
:
:
最后整理如下:
姓名:bandi 注册类型:D类[站长级]
地区:其它 Email地址:bandi@yeah.net
文化程序:大学 其它说明:
职业:教师
注册号码:104829984
知道了注册码比较的地方,追其它类型的注册码就容易多了。在TRW1.22中下命令:
一,bpx 0040A9CD
二,程序会被断在断点处,然后再下命令?ecx,你看到的就是正确的注册码了,还不快记下来!!!
说明:在没有改动上述注册信息,只改动注册类型的情况下,我追出来的注册码是:
A类[友情级] 注册号码:121995227
B类[普通级] 注册号码:108492014
C类[开发级] 注册号码:101794480
D类[站长级] 注册号码:104829984
哎!好累啊,破这个软件没有花我多少功夫,写这篇破文却花了我不少时间,由于本人写作水平有限,希望你能看懂,惹有错误请指教,转载请保持完整。
bandi整理于2000/08/23
- 标 题:疯狂单词破解实录(初学者请进!) (9千字)
- 作 者:bandi
- 时 间:2000-8-24 1:10:24
- 链 接:http://bbs.pediy.com