• 标 题:哪位高手能脱3D Exploration的壳,它似乎是用ASProtect1.0加壳的。 (169字)
  • 作 者:hying[CCG]
  • 时 间:2000-8-17 10:34:50
  • 链 接:http://bbs.pediy.com

哪位高手能脱3D Exploration的壳,它似乎是用ASProtect1.0加壳的。而且我追时发现3D Exploration的注册码判断部分好象在ASProtect里,不知是否是我水平不够,判断错误。望高手指教。

  • 标 题:3D Exploration的脫殼方法 (1千字)
  • 作 者:C-pen
  • 时 间:2000-8-18 11:40:02

以下我只簡單的介紹,若有表達不善之處,還請見諒:
目標軟體:3D Exploration V.1.3.05BETA
使用工具:Soft-ICE V.4.01,Procdump32,Icedump,Imp_list
過程:1.先用Procdump32去分析它:
      Size ofimage:0011E000
      Image Base:400000
以上資料待會dump的時候需要另在section當中並無發現.idata和一些section的Name
2.執行3D Exploration再執行Imp_list 重建Import Table,Imp_list會警告你沒有發現.idata不過它還是會產生一個Address.txt,打開它你會發現Import Table的RVA在93000用 Procdump32 再去分析3D Exploration,你會發現在它的section當中有93000的Virtual Offset,此時你應該恍然大悟,原來它有.idata只是section name被刪除而已,不過這還需要驗證,我們先用Procdump32的Pe編輯器將93000的section name補上.idata

3.刪去Imp_list所產生的檔案,因為那是不能用的,待會我們還要重新重建一次,接下來我們要應付Asprotect的CRC Check(因為我們已經動了它的section)
4.在Soft-ICE中加載Icedump,下bpx createfilea do “d *(esp+4)”執行3D Exploration攔住後按F5三次,按F12返回,再按F10Trace來到:
:005BA0C5 CMP EAX,[EBP-04]
:005BA0C8 JZ 005BA106      <--r fl z使其不跳
繼續按F10來到第一次的一連串Push,Mov
:005BA493 MOV EAX,[EAX+08]
:005BA496 CALL 005B9764
:005BA49B XOR EAX,EAX
走到這裡下d 00493000你會看到內存都是0,再往下在004930e8的地方你會看到指針,而hint的部份則在00493bf0~00495fd0,下 f 493bf0 l 495fd0-493bf0 00將hint清為0以免妨礙Imp_list的工作
5.再來就是找OEP了,你可以下s 0 l ffffffff 8b 65 fc eb 01 e8 8b 45 f8找到後G 到這個位址,此時已快到程式進入點了,我這裡是00401000,在此位址下/dump 400000 11E000 C:\3Ddump.exe,再按F5程式就會出現,執行Imp_list重建Import Table
最後的工作:
1.將OEP改為00001000
2.將每個section的Raw Offset改為Virtual Offset,Raw Size 改為Virtual Size
3.Import Table RVA=93000 SIZE=21E0
4.再用Hex WorkShop打開Import0.bin,3Ddump.exe在Import0.bin選取21e0粘貼至3Ddump.exe的93000處
              JOHNSON 2000/08/18