寫 作: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的值換算成十進位制就是正確的註冊碼。