KV3XXX解密過程 By: CHINA 2000.10.28 (3千字)

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

KV3XXX解密過程
            CHINA 2000.10.28
(轉載請保持完整!不要將我的名字替換成你的!!!)

    在WIND兄放上KV3XXXX的光碟檔案後,發現我不能再用它了。
雖然我是一個KV300+的正版使用者,但我沒用過幾次(我怕,每次
執行時軟盤在沙沙的響,萬一壞了怎麼辦,花錢去更新?要20元
錢!還要時間... :-< )而這次KV3XXXX更是將我們這些老使用者都
拋棄了!怎麼辦,有了KV3XXXX的光碟檔案就好辦了。
(由於眾所周知的原因,在此不提供下載地址請自行查詢。)
    首先,執行setup.exe,點[KVW3000],軟碟機燈亮了一下,彈出
一個對話方塊。提示“請在 A 驅動器中插入 KV3000 加密盤”
有門!就下了一個MESSAGEBOXA,點[繼續],程式中斷。我們來看
一下:0167:004018D6 83F804  //程式返回
我們完整地來看看:
0167:004018B4 56              PUSH    ESI
0167:004018B5 E866FFFFFF      CALL    00401820  //進行判斷軟碟機中有無盤,各位將它用9090909090代替會如何?Ha,Ha,Ha...
0167:004018BA 83C414          ADD      ESP,BYTE +14
0167:004018BD 85C0            TEST    EAX,EAX
0167:004018BF 7528            JNZ      004018E9  //有盤就跳,無盤就...
0167:004018C1 8B3D90534100    MOV      EDI,[00415390]
0167:004018C7 6A25            PUSH    BYTE +25
0167:004018C9 8D442418        LEA      EAX,[ESP+18]
0167:004018CD 6844A14100      PUSH    DWORD 0041A144
0167:004018D2 50              PUSH    EAX
0167:004018D3 56              PUSH    ESI
0167:004018D4 FFD7            CALL    EDI  //彈出那個對話方塊
0167:004018D6 83F804          CMP      EAX,BYTE +04
0167:004018D9 751F            JNZ      004018FA  //是否退出
0167:004018DB 55              PUSH    EBP
0167:004018DC 56              PUSH    ESI
0167:004018DD E83EFFFFFF      CALL    00401820  //進行判斷軟碟機中有無盤
0167:004018E2 83C408          ADD      ESP,BYTE +08
0167:004018E5 85C0            TEST    EAX,EAX
0167:004018E7 74DE            JZ      004018C7 //無盤就返回繼續比較,有盤就OK了!
0167:004018E9 5F              POP      EDI
透過這關後,程式又開始讀軟碟機,這回可沒有提示框了。我們就來
看看KVW3000.Exe這個安裝程式吧。
程式自動結束,就下BPX ExitProcess吧,中斷是中斷了,可程式也
完成了。沒什麼戲,這個程式是安裝的,可能會...
對了用BPX GetTempPathA,這回運氣不錯,沒有讀盤就中斷了。
0167:0040208D 6800010000      PUSH    DWORD 0100
0167:00402092 FF1514814100    CALL    `KERNEL32!GetTempPathA`
0167:00402098 8D4C2410        LEA      ECX,[ESP+10] //來到這裡
0167:0040209C 8D942420010000  LEA      EDX,[ESP+0120]
0167:004020A3 51              PUSH    ECX
0167:004020A4 6A00            PUSH    BYTE +00
0167:004020A6 68D8A34100      PUSH    DWORD 0041A3D8
0167:004020AB 52              PUSH    EDX
0167:004020AC FF15C4804100    CALL    `KERNEL32!GetTempFileNameA`
0167:004020B2 8D442410        LEA      EAX,[ESP+10]
0167:004020B6 686CA44100      PUSH    DWORD 0041A46C
......
0167:004020E9 7412            JZ      004020FD
0167:004020EB E8901F0000      CALL    00404080
0167:004020F0 85C0            TEST    EAX,EAX
0167:004020F2 751A            JNZ      0040210E
0167:004020F4 A168C34100      MOV      EAX,[0041C368]
0167:004020F9 85C0            TEST    EAX,EAX
0167:004020FB 757C            JNZ      00402179
0167:004020FD 8D442410        LEA      EAX,[ESP+10]
0167:00402101 50              PUSH    EAX
0167:00402102 E8A9FAFFFF      CALL    00401BB0  //這是這個CALL要讀盤,各位將它用9090909090代替會如何?Ha,Ha,Ha...
0167:00402107 83C404          ADD      ESP,BYTE +04
0167:0040210A 85C0            TEST    EAX,EAX
0167:0040210C 746B            JZ      00402179
0167:0040210E 8D4C2410        LEA      ECX,[ESP+10]
0167:00402112 686CA44100      PUSH    DWORD 0041A46C
以上完成後,就可以自己偷著樂了。不好,忘了一件事,就是這兩個程式
都是用UPX 1.01壓縮過的,要用UPX -d XXXX.exe來解壓才能進行除BIG。

[本文獻給支援我的朋友以及中國的CRACK們.2000]

相關文章