軟體:XX解霸3000共享版,約5.5M
工具:Trw2000 1.23,Gold v8.93超級中文黃金版,Fi250。
平臺:WinMe,32位色(為了顯示Trw2000的原來面貌)
1:用Fi250偵察 AutoReg.exe
為VC6(Debug方式),有趣,為何不完全編譯成Release方式呢?
2:輸入 使用者名稱:RichCrack
註冊碼:8765-4321-1976-3027
(都是任意的)
3:用Trw2000
bpx getwindowtexta
bc
pmodule
這時會看到有5個GetWindowTextA的函式,走到最前的那個
bpx 401C5F
大概是:使用者名稱,註冊碼的4個小組。
.
.
:00401CA5 8855C9
mov byte ptr [ebp-37], dl
:00401CA8 8A45C9
mov al, byte ptr [ebp-37]
:00401CAB 8845C4
mov byte ptr [ebp-3C],
al
:00401CAE C645D300
mov [ebp-2D], 00
:00401CB2 6800010000
push 00000100
:00401CB7 6880B84000
push 0040B880
:00401CBC 8B0D58B84000
mov ecx, dword ptr [0040B858]
:00401CC2 51
push ecx
//上面還有四個GetWindowTextA
* Reference To: USER32.GetWindowTextA, Ord:015Eh
|
:00401CC3 FF15F4804000
Call dword ptr [004080F4]
:00401CC9 8D55C0
lea edx, dword ptr [ebp-40]
:00401CCC
52
push edx (此處下中斷)
:00401CCD 6880B84000
push 0040B880
:00401CD2 E8C9140000
call 004031A0 (關鍵Call,一定要切入)
:00401CD7 85C0
test eax, eax
:00401CD9
740C je 00401CE7
切入的CALL
來到
:00403202 0FBE540C0C
movsx edx, byte ptr [esp+ecx+0C](設中斷,此時
//
ss:[esp+ecx+0c] = ss:[63F988],
// d 63F988
看到第一組正確密碼:753e
:00403207 3BD0
cmp edx, eax // eax就是第一組的字元8,edx為7,即753e的第一個數
:00403209 0F852C010000 jne 0040333B
//不等則Game Over
:0040320F 41
inc ecx
:00403210 83F904
cmp ecx, 00000004 //每組的次數
:00403213 7CDC
jl 004031F1
此時在W32Dasm中向下望 ,見到有cmp edx, eax
jne XXXXX
就下斷點,
用過的點就清除,
d 前一句的ss:esp+ecx+XXX
就看到此組的密碼
輸入正確的密碼,
再重來4次,就能到其餘的密碼了。
總結:
使用者名稱:RichCrack
註冊碼:753e-si79-3lu6-t55j