金山毒霸試用版完全破解
===============================================================================
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等一些優秀壓縮軟體再壓一下。