• 标 题:疯狂单词破解实录(初学者请进!) (9千字)
  • 作 者:bandi
  • 时 间:2000-8-24 1:10:24
  • 链 接:http://bbs.pediy.com

狂单词破解实录:

我破解的是版本是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