再貼一篇譯文 (1千字)

看雪資料發表於2000-09-10

Applet Marquee Wizard v3.5
破解者:punisher(譯者注:punisher為原文作者)
保護機制:姓名/註冊碼
破解過程:執行程式,出現主視窗和一個要你註冊的nag screen。點選這個破框上的"Register"按鈕,彈出註冊視窗(還有一個preview視窗,關掉它)。
          鍵入你的名字和隨便一個註冊碼。我用punisher和45454545。
          按Ctrl-d啟用SOFTICE,下斷點BPX HMEMCPY,按F5返回註冊視窗。現在點選'REGISTER',程式被SOFTICE攔截。程式在到達保護機制前總共呼叫了三次HMEMCPY函式,我們必須略過前兩次,所以按F5兩次。我們現在是處在第三個呼叫HMEMCPY函式的CALL中,按F10直到這裡:
0117:9E8E    shr  ecx, 2
0117:9E92    repz  movsd      <- 將你的名字移到另一個位址
0117:9E96    pop  ecx
0117:9E98    and  ecx, 3
0117:9E9C    repz  movsb
0117:9E9F    xor  dx, dx
在 REPZ MOVSD時看一下EDI的內容:
D ES:EDI
將游標帶過REPZ MOVSB時你會看見你的名字被複製到你D過的位址中。注意一下你名字的起始地址,它的形式是253F:00000000(位址由於計算機的不同而各異)。我們將透過以下指令發現你名字的真實地址並在其上下斷點:
PAGE 253F:00000000 <-你的地址會不同
你會看到:
Linear          Physical        Attributes        Type
xxxxxxxx        xxxxxxxx        P D A U          SYSTEM
你想要的是Linear的地址,所以你可以根據名字的字元數在該範圍上下斷點。你選擇的段基址必須是30,如下:
BPR 30:xxxxxxxx 30:xxxxxxxx+8 rw
現在按F5讓程式繼續執行,SOFTICE會中斷在此:
:00408DC9    repz  cmpsb  <- 我們的名字和真名比較
:00408DCB    jz    00408DF1
:00408DCD    mov    al, [esi-01]
:00408DD0    cmp    al, 61
:00408DD3    jb    00408DDD
:00408DD5    cmp    al, 7A
:00408DD8    ja    00408DDD 
在:00408dc9 repz cmpsb處,D ESI會看到你的名字,D EDI會看到兩處ALPHA字元。第一處是和你的名字比較,第二處就是你的註冊碼了。還不快記下來!我看到的是p97z和23ws3,輸入後OK!

相關文章