關於webzip4.0585的SMC應用----教我? (1千字)

看雪資料發表於2001-03-04

關於webzip4.0585的SMC應用
    這是一個離線瀏覽器,註冊碼能容易的從記憶體中得到,但必須線上驗證,所以我選擇暴力一途。註冊成功標誌是“屬性”中“停止插入廣告”成為可選項。
    用FI2.4版本不知道webzip.exe是如何壓縮的,研究後知道是ASPACK,又因為發現其中使用了變形引擎,估計版本在2.1或以後。
   
以下是我的解決之道:
(1)利用反彙編技術,知道在cs:00533D9E處令dword [eax+6c]為1就是註冊版本。
(2)bpm 533D9E 知道cs:0058B179處cs:00533D9E的程式碼指令在記憶體中解壓完畢(第二層壓縮)。由於ASPACK壓縮使用變形引擎技術,cs:0058B179的程式碼指令經過改變,在原始程式碼中不能找到,所以用
(3〕bpm 58B179 知道cs:0058B4D9處出現變形後的cs:0058B179程式碼(第一層壓縮)。

於是:
(A)用TOPO為webzip.exe增加一些可供寫入的區域(寫入去1、寫入區2)。
(B)從(3)知道cs:0058B51B處是第一層壓縮解壓完畢,所以於此令程式跳轉至“寫入區1”,補丁令程式執行至cs:0058B3AB(原因見下)時跳至“寫入區2”
“寫入區1”    c705ABB35800e9b9fefb
                c705ABB35800ff006a00
(C)從(2)可以知道,在cs:0058B3AB後就是第二層解壓完畢,進入真正OEP。在步驟(B)處已經令程式跳至“寫入區2”,因此在“寫入區2”新增如下程式碼
                c7059e3d5300c705442e
                c705a23d53001f01010d
                c705a63d530000009090
                c705aa3d530090ba703e
                6818645300
                c3
即 mov dword [eax+6c], 01
  push 536418 <--OEP!
  ret
進入OEP工作,應該說patch是完成的,但執行後“停止插入廣告”依舊不可選,雖然介面上的“unregistered"字樣是去掉了。

誰能教我?

相關文章