【 標題:SmartWhoIs 3.0 (build 21) 破解手記 】
==========================================================================================
軟體 :SmartWhoIs 3.0 (Build21)
軟體簡介 :網路查詢工具,能查詢IP地址或域名的位置、註冊人、聯絡資訊等,它還可以對資料
進行快取,使你可以建立自己的資料庫,支援Socks5防火牆
下載處 :http://www.tamos.com/
若以上連線找不到(build21)次版本號的,可以到我這裡下載:
http://www.freedrive.com/ASP/PostFolderShortcut.asp?fsc=15913190
(找share\SmartWhoIs\sw3.zip ,需有freedrive的免費帳號)
註冊方式 :keyfile (*.s3l / *.swl )
程式保護 :Asprotect 加殼 + Checksum 檢測 + Regmon/Filemon檢測 + 加密'Evaluation' 等字樣。
(有檢測Debugger,但不知是否與保護有關)
過期方式 :未過期時,主視窗有Evaluation Version 字樣。程式結束前,會出現一個對話方塊。
過期後,會在其子目錄 \ico 下複製建立一個 itReserved.png
檔案(複製自檔案
ico\itDomName.png)。
可以換另一個方式說,若發現 ico\itReserved.png 檔案,則程式執行後出現過期對話方塊,
並馬上結束。若沒有發現,則繼續試用。
破解 :使不過期。
使用工具 :W32Dasm 8.93 , Filemon4.22 , Regmon4.22 , UltraEdit 7.20
《 在寫本文的當兒,CORE也剛剛釋出了序號產生器。可去 http://hambo.yeah.net 》
==========================================================================================
1)此程式是用 Asprotect 加殼的, 用 Caspr0.952 可以正常脫殼。已脫殼的程式,執行後馬上結束。
這是由於 Checksum 的關係。以下可以避開Checksum 失敗。
004E619D jz 004E71A4 --> jmp 004E71A4
2)用W32Dasm發現 StrnREF 中有字串"FilemonClass"、"RegmonClass" 。用文字編輯器UltraEdit將它們改
成其它字元就可以避開對 Filemon 和 Regmon 的檢測了。
無論有無避開檢測,以上兩個軟體都可以執行,然而結果就有微小區別。好比Filemon 中的
ico\itReserved.png ,若事先不避開是不會記錄在案的。(我差點兒就走寶了!)
3)004E60CA call 004B9E10 為 Keyfile 的關鍵。
4)"Would you like to purchase this product? "
"Thank You for trying this evaluation version !"
" - Evalution Version"
以上三個字串都被加密,(有多處)皆呼叫 call 004B95F8 來還原。
5)關鍵程式碼(區域性),僅供參考。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E60AF(C)
|
:004E60CA E8413DFDFF call 004B9E10
//開始執行時,對KeyFile的檢測、操作部分 <= 注意!
:004E60CF E8F8C8F1FF call 004029CC
//時間計算。
:004E60D4 A198954E00 mov eax,
dword ptr [004E9598]
:004E60D9 833800
cmp dword ptr [eax], 00000000
:004E60DC 754D
jne 004E612B
:004E60DE E8CD30FCFF call 004A91B0
//檢測Filemon的存在,
:004E60E3 84C0
test al, al
:004E60E5 7544
jne 004E612B //若檢測到Filemon,則跳轉。
:004E60E7 8B15BC924E00 mov edx, dword
ptr [004E92BC]
:004E60ED 8B12
mov edx, dword ptr [edx]
:004E60EF 8D45F0
lea eax, dword ptr [ebp-10]
* Possible StringData Ref from Data Obj ->"ico\itReserved.png"
|
:004E60F2 B928624E00 mov ecx,
004E6228
:004E60F7 E84CDEF1FF call 00403F48
:004E60FC 8B45F0
mov eax, dword ptr [ebp-10]
:004E60FF E80C2DF2FF call 00408E10
:004E6104 84C0
test al, al
:004E6106 7423
je 004E612B //若沒有該檔案則跳轉,否則出現過期對話方塊。
:004E6108 8D4DEC
lea ecx, dword ptr [ebp-14]
:004E610B 66BA1F00 mov
dx, 001F
* Possible StringData Ref from Data Obj ->"S>|演e?u?=?I|~??u?;}璃8椴痞"
|
:004E610F B844624E00 mov eax,
004E6244
:004E6114 E8DF34FDFF call 004B95F8
//這個呼叫將以上密文轉換成如下文字
:004E6119 8B45EC
mov eax, dword ptr [ebp-14] //[eax]="Would you like to
purchase this product? "
:004E611C E8B730FCFF call 004A91D8
:004E6121 E8BE41FDFF call 004BA2E4
==========================================================================================
【筆者的所有改動】: WD=W32Dasm UE=UltraEdit
==========================================================================================
1) CHECKSUM
WD:004E619D 7405 jz 004E71A4 -->
eb05 jmp
UE:000E559Dh
2)"RegmonClass" and "FilemonClass"
UE: 000A85C9h FilemonClass --> FilemanClose
UE: 000A85A4h RegmonClass -->
RegmanClose
3) 避開所有加密字的符串,即避開過期限制。
WD:004E2530 7407 je 004e2539 -->
9090 nop nop
UE:000E1930h
WD:004BA2EB 7548 jne 004ba335 -->
eb48 jmp
UE:000B96EBh
WD:004CA1BE 753B jne 004CA1FB -->
eb3b jmp
UE:000C95BEh
WD:004E27E5 733C jnb 004E2823 -->
eb3c jmp
UE:000E1BE5h
WD:004E391A 7242 jb 004E395E -->
eb42 jmp
UE:000E2D1Ah
WD:004e60DC 754D je 004E612B -->
eb4d jmp
UE:000E54E3h
WD:004CAE6C 753C jne 004CAEAA -->
eb3c jmp
UE:000CA26Ch
4)最後,莫忘了留下名字 8^)
UE: 00f4d13h "Evaluation Version" --> "McNy@Work [200011]"
(change to my name)
UE: 00f4b85h "Order Now!" --> alls 00 00 00
00 00 00 00 00 00 00 (delete link)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~
筆者 :McNy@Work
網址 :http://mcny.yeah.net 或 http://mcny.iscool.net
(施工緩慢,請見諒。。。)
日期 :2000年11月29日
Email :mcny_work@yahoo.com
(郵件主題請以"WANTED:McNycn"開始,注意英文字母大小寫,否則我將收不到喔!)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~