瘋狂單詞破解實錄(初學者請進!) (9千字)

看雪資料發表於2000-08-24

狂單詞破解實錄:

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

相關文章