瘋狂單詞的破解方法! (3千字)

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

寫    作:xiA Qin

軟體名稱:瘋狂單詞 Wordslover 1.0 betal1

輸入註冊資訊:任意輸入。

註冊號碼:只能輸入數字,為什麼?你試一試就知道了。


下指令bpx hmemcpy    //下中斷點 

按F5回到程式,按確定,這時會被Trw2000攔截到。

下指令bd *            //屏障中斷點

下指令pmodule        //直接跳到程式的領空


按F10來到下面指令
.................
015F:00404DF5 8D4C2458        LEA      ECX,[ESP+58]
015F:00404DF9 C68424E400000009 MOV      BYTE [ESP+E4],09
015F:00404E01 51              PUSH    ECX
015F:00404E02 8D4E24          LEA      ECX,[ESI+24]
015F:00404E05 E8BA230300      CALL    004371C4
015F:00404E0A 8B54245C        MOV      EDX,[ESP+5C]
015F:00404E0E 8D4C2464        LEA      ECX,[ESP+64]
015F:00404E12 895628          MOV      [ESI+28],EDX
015F:00404E15 C70660BD4500    MOV      DWORD [ESI],0045BD60
015F:00404E1B C68424E400000001 MOV      BYTE [ESP+E4],01
015F:00404E23 E8C84D0000      CALL    00409BF0      //註冊碼比較。按F8進入。
015F:00404E28 84C0            TEST    AL,AL
015F:00404E2A 6A00            PUSH    BYTE +00
015F:00404E2C 6A00            PUSH    BYTE +00
015F:00404E2E 7507            JNZ      00404E37       
015F:00404E30 68F0024700      PUSH    DWORD 004702F0 //註冊成功
015F:00404E35 EB05            JMP      SHORT 00404E3C
015F:00404E37 68D0024700      PUSH    DWORD 004702D0 //註冊失敗
015F:00404E3C E8DDE40300      CALL    0044331E
015F:00404E41 8B442428        MOV      EAX,[ESP+28]
。。。。。。。。。。。。。。。。。。。。。。。。

按F8進入00404E23    CALL    00409BF0
按F10來到下面:


015F:00409EE0 8B4C2414        MOV      ECX,[ESP+14]
015F:00409EE4 8B8424E0010000  MOV      EAX,[ESP+01E0]
015F:00409EEB 5F              POP      EDI
015F:00409EEC 5E              POP      ESI
015F:00409EED 3BC1            CMP      EAX,ECX            <-正確的註冊碼。d ecx
015F:00409EEF 5D              POP      EBP
015F:00409EF0 C68424A401000000 MOV      BYTE [ESP+01A4],00
015F:00409EF8 8D4C2404        LEA      ECX,[ESP+04]
015F:00409EFC 7436            JZ      00409F34          <-修改這裡。
015F:00409EFE E84CD50200      CALL    0043744F
015F:00409F03 8D8C24AC010000  LEA      ECX,[ESP+01AC]
015F:00409F0A C78424A4010000FF+MOV      DWORD [ESP+01A4],FFFFFFFF
015F:00409F15 E896070000      CALL    0040A6B0
015F:00409F1A 32C0            XOR      AL,AL
015F:00409F1C 8B8C249C010000  MOV      ECX,[ESP+019C]
015F:00409F23 5B              POP      EBX
015F:00409F24 64890D00000000  MOV      [FS:00],ECX
015F:00409F2B 81C4A4010000    ADD      ESP,01A4
015F:00409F31 C22C00          RET      2C
015F:00409F34 E816D50200      CALL    0043744F
015F:00409F39 8D8C24AC010000  LEA      ECX,[ESP+01AC]
015F:00409F40 C78424A4010000FF+MOV      DWORD [ESP+01A4],FFFFFFFF
015F:00409F4B E860070000      CALL    0040A6B0
015F:00409F50 B001            MOV      AL,01
015F:00409F52 EBC8            JMP      SHORT 00409F1C

.............................

第一種方法:爆破
把00409EFC 7436            JZ      00409F34
改00409EFC 7536            JNZ      00409F34

找到74 36 E8 4C D5 02 00

改成75 36 E8 4C D5 02 00

第二種方法:註冊碼
註冊碼:
EAX的值是你輸入的註冊碼的十六進位制。

將ECX的值換算成十進位制就是正確的註冊碼。


相關文章