★破解WinBoost2001 Standard Edion實錄 (3千字)

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

軟體簡介:功能強大的系統工具,有著金屬質感的操作介面。能幫你設定一百多種 Win95/98 隱藏設定,每個獨立的選項都有至少十五種以上的引數可以設定:包括系統、開始選單、Explorer、桌面、Internet 及其它等等,讓你的 Win95/98 有特別感覺,並將Win98效能和效率發揮到最大。
破解工具:TRW2000v1.22
難度級別: 簡單

破解步驟:
1.用TRW2000載入WinBoost2001,F5返回後按Register.....按鈕,彈出註冊對話方塊。
  在彈出的註冊對話方塊中填寫:
    註冊名:AirHolder
    註冊碼:111111
2.Ctrl+M彈出TRW主介面,下斷點bpx hmemcpy後,F5返回WinBoost2001,按OK確定,這時被TRW2000攔截到。
3.下指令bc *,pmodule到達程式程式碼區。
4.一直不停按F10,到達如下區域:
  ------
  016F:004BF654 CALL  00403C2C
  016F:004BF659 XOR    EBX,EBX
  016F:004BF65B LEA    ECX,[EBP+FFFFFE90]
  016F:004BF661 MOVSX  EDX,BX
  016F:004BF664 MOV    EAX,[004C1E7C]
  016F:004BF669 MOV    EAX,[EAX]
  016F:004BF66B MOV    EAX,[EAX+48]
  016F:004BF66E MOV    EAX,[EAX+24]
  016F:004BF671 MOV    ESI,[EAX]
  016F:004BF673 NEAR  [ESI+0C]
  016F:004BF676 MOV    EDX,[EBP+FFFFFE90]
  016F:004BF67C MOV    EAX,[EBP-18]
  016F:004BF67F CALL  00403D98
  016F:004BF684 JNZ    004BF690
  ------
  EBP+FFFFFE90有點可疑,在004BF67C處下指令:D EDX,看到一連串的數字與字母的混合序列,懷疑是正確的註冊碼,趕緊抄下來。不過此時下指令D,你會看到在連續的記憶體空間中存有很多個註冊碼(具體多少個我沒數,至少30個以上)。奇怪了,怎麼會有這麼多個註冊碼?
  先不管,隨便抄一個,然後X退出TRW2000。
  重新輸入:
    註冊名:AirHolder
    註冊碼:1X2K1-T562F-U087C-6R4U8
  註冊成功!!!         
 
破解後記:
1.還是用TRW2000,到達步驟四後,看到
  ------
  016F:004BF67F CALL  00403D98
  016F:004BF684 JNZ    004BF690
  ------ 
  正確的註冊碼存在EDX中,那接下來的CALL 00403D98語句應該是呼叫判斷輸入的註冊碼是否正確的子程式。到達JNZ 004BF690(如果不為0則跳轉至004BF690)程式跳轉至004BF690,那麼改為JZ 004BF690會怎樣呢?即改為不跳轉至004BF690,返回程式你會發現彈出註冊成功的訊息框!!!剛才我們僅僅是改了記憶體中的程式,下次啟動程式時會不會說你沒註冊呢?
2.我們發現第二次啟動程式後,程式仍然是註冊過的,這表明什麼呢?說明該程式判斷註冊成功只判斷一次。第一次註冊成功的結果程式肯定儲存在什麼地方了,第二次啟動後直接讀取其中的資訊。假若註冊不成功則不會儲存註冊結果,第二次啟動後也不會讀取其中的資訊。
  於是用RegShot和FileMon檢視該程式註冊成功前後對系統的登錄檔和哪些檔案進行了讀寫操作。發現WinBoost2001有大量的登錄檔和檔案讀寫動作,經分析得到了如下更為簡捷的註冊方法:
    在登錄檔裡HKEY_LOCAL_MACHINE\Software\Magellass\WinBoost 2001下
      新建一個字串值Registered="True"。
    找到Windows目錄下的Win.ini,在其中加入如下資訊:
      [WB]
      Owner=AirHolder(這裡隨便填吧,想填啥就填啥)
      Registered=True
   
      [Settings]
      Min=1
3.暴力破解:
  緊接著後記1,在016F:004BF684 JNZ 004BF690處看到機器碼為75 0A C7 05 74 3A 4C 00,改為JZ 004BF690實際上是將機器碼75改為74,退出TRW2000和WinBoost2001,用UltraEdit開啟WinBoost2001,查詢75 0A C7 05 74 3A 4C 00,結果???查了半天告訴我沒有。肯定是加殼了,用FileInfo對其一驗真身,發現原來其主程式wb2k1s.exe用了AsProtect的殼,怪不得直接找找不到了。用caspr對其脫殼,脫完殼後再按上述改完程式後存檔。好了,現在啟動WinBoost2001,按Register.....按鈕,無論你輸入什麼註冊名和註冊碼,程式都告訴你註冊成功!!!

                                              文:AirHolder
                                                  2001.7.31.

相關文章