【 標題:SmartWhoIs 3.0 (build 21) 破解手記 】

看雪資料發表於2000-11-30

【 標題: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"開始,注意英文字母大小寫,否則我將收不到喔!)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

相關文章