金山毒霸試用版完全破解 (5千字)

看雪資料發表於2001-07-16

金山毒霸試用版完全破解
===============================================================================
Henan China Peiyou

破解物件:金山毒霸2001-06-16試用版

下載地址:ftp://202.102.249.209/files/ftproot/3/iDuba_trial616.EXE

所用工具:1. w32dasm 8.93 超級增強版(感謝中國的cracker們的修改)
        2. fi 2.40
        3.unaspack211(其它版本好象不行,這個軟體比較牛,win9x介面絕酷解壓軟體竟然只有8K)
        http://mud.sz.jsinfo.net/per/aaron/files/unpackers/win/unaspack211c.zip
        4.trw2000 1.22

用exescope檢視,提示已壓縮,用Fi檢視不能識別所加殼的型別。

只好用trw2000跟蹤,載入F10執行,看到什麼了-----Kav9x!aspack

不會吧!!!這真是歪打正著,隨決定向解壓縮,再跟蹤。

用aspack1.09解壓,提示未壓縮,我Kao,明明壓縮了,裝什麼蒜!

到網上找了個unaspack211解壓縮成功.

用w32dasm超級增強版,串式參考(右二)按鈕,找到出錯資訊,按如下修改,成功破解:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C7704(C)
|
:004C7711 E80AF6FFFF              call 004C6D20
:004C7716 84C0                    test al, al
:004C7718 0F85B5000000            jne 004C77D3==============================>跳轉I
應改 0F 85 B5 00 0000 改為 E9 B6 00 00 00 90
:004C771E A134D34C00              mov eax, dword ptr [004CD334]
:004C7723 8B00                    mov eax, dword ptr [eax]
:004C7725 8B5024                  mov edx, dword ptr [eax+24]
* Possible StringData Ref from Code Obj ->"序列號不正確,請重新安裝金山毒霸!"
                                  |
:004C7728 B8C07E4C00              mov eax, 004C7EC0
:004C772D E87AA8FBFF              call 00481FAC
:004C7732 E8DDBFF3FF              call 00403714
:004C7737 E916060000              jmp 004C7D52

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C76EF(C)
|
:004C773C A184F94C00              mov eax, dword ptr [004CF984]

* Possible StringData Ref from Code Obj ->"SHAREVERSION"
                                  |
:004C7741 BAEC7E4C00              mov edx, 004C7EEC
:004C7746 E889C8F3FF              call 00403FD4
:004C774B 7409                    je 004C7756
:004C774D 833D84F94C0000          cmp dword ptr [004CF984], 00000000
:004C7754 7527                    jne 004C777D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C774B(C)
|
:004C7756 E8319DFBFF              call 0048148C
:004C775B 84C0                    test al, al
:004C775D 7574                    jne 004C77D3==============================>跳轉II
:004C775F A134D34C00              mov eax, dword ptr [004CD334]
:004C7764 8B00                    mov eax, dword ptr [eax]
:004C7766 8B5024                  mov edx, dword ptr [eax+24]

* Possible StringData Ref from Code Obj ->"試用版已過期!"
                                  |
:004C7769 B8FC7E4C00              mov eax, 004C7EFC
:004C776E E839A8FBFF              call 00481FAC
:004C7773 E89CBFF3FF              call 00403714
:004C7778 E9D5050000              jmp 004C7D52

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C7754(C)===================================>如果沒有這個呼叫4c7795處的跳轉就不用改了。
|
:004C777D A184F94C00              mov eax, dword ptr [004CF984]

* Possible StringData Ref from Code Obj ->"NETEASE"
                                  |
:004C7782 BA147F4C00              mov edx, 004C7F14
:004C7787 E848C8F3FF              call 00403FD4
:004C778C 7527                    jne 004C77B5===============>改為 jmp 004C77D3
:004C778E E8F99CFBFF              call 0048148C

應這樣改:75 27 E8 F9 9C FB FF改為 E9 42 00 00 00 90 90

為了學會這種改法,我可費了好大勁。

:004C7793 84C0                    test al, al
:004C7795 753C                    jne 004C77D3==============================>跳轉III
:004C7797 A134D34C00              mov eax, dword ptr [004CD334]
:004C779C 8B00                    mov eax, dword ptr [eax]
:004C779E 8B5024                  mov edx, dword ptr [eax+24]

* Possible StringData Ref from Code Obj ->"網易專用版已過期!"
                                  |
:004C77A1 B81C7F4C00              mov eax, 004C7F1C
:004C77A6 E801A8FBFF              call 00481FAC
:004C77AB E864BFF3FF              call 00403714
:004C77B0 E99D050000              jmp 004C7D52

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004C778C(C)
|
:004C77B5 A134D34C00              mov eax, dword ptr [004CD334]
:004C77BA 8B00                    mov eax, dword ptr [eax]
:004C77BC 8B5024                  mov edx, dword ptr [eax+24]

* Possible StringData Ref from Code Obj ->"不可識別的版本!"
                                  |
:004C77BF B8307F4C00              mov eax, 004C7F30
:004C77C4 E8E3A7FBFF              call 00481FAC
:004C77C9 E846BFF3FF              call 00403714
:004C77CE E97F050000              jmp 004C7D52

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004C770B(C), :004C7718(C), :004C775D(C), :004C7795(C)
|正常執行程式:
:004C77D3 B201                    mov dl, 01

以上三處跳轉的75改為EB即可,其實只改跳轉2即可去除過期提示,但我怕在什麼條件下又來個NAG,所以一不做二不休,乾脆改完全算了,省得日後麻煩。


如果想壓縮,可以再用aspack或upx等一些優秀壓縮軟體再壓一下。

相關文章