VBExplorer.exe脫殼教程 附脫殼指令碼

看雪資料發表於2015-11-15

【破解作者】 stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s]
【作者郵箱】 stasi@163.com
【作者主頁】 stasi.7169.com
【使用工具】 olldby(loveboom 贈送版!)+fi+PeDumper+RecImport
【破解平臺】 Win9x/NT/2000/XP
【軟體名稱】 VBExplorer.exe
【下載地址】 就是二哥在龍族號召大家玩的東東
【軟體簡介】 學習脫殼而已:)
             pangzi2k@yahoo.com.cn
【軟體大小】 561k
【加殼方式】 EXE32Pack 1.38 -> SteelBytes
【破解宣告】 我是一隻小菜鳥,偶得一點心得,願與大家分享:)
--------------------------------------------------------------------------------
【破解內容】


fi上查是EXE32Pack 1.38 -> SteelBytes

fi下,換olldby

0054D00C V>  3BC0              cmp eax,eax
0054D00E     74 02             je short VBExplor.0054D012
0054D010     8183 553BC074 028>add dword ptr ds:[ebx+74C03B55>
0054D01A     3BC9              cmp ecx,ecx
0054D01C     74 01             je short VBExplor.0054D01F
0054D01E     BC 563BD274       mov esp,74D23B56
0054D023     0281 8557E800     add al,byte ptr ds:[ecx+E85785>
0054D029     0000              add byte ptr ds:[eax],al
0054D02B     003B              add byte ptr ds:[ebx],bh
0054D02D     DB                ???                            ; 未知命令
0054D02E     74 01             je short VBExplor.0054D031
0054D030     BE 5D8BD581       mov esi,81D58B5D
0054D035     ED                in eax,dx
0054D036     DC8D 40003BE4     fmul qword ptr ss:[ebp+E43B004>
0054D03C     74 02             je short VBExplor.0054D040


command--->BP IsDebuggerPresent

我筆記上找到的,正是世界上本沒有路,走的人多了就成了路:)我也就在這路上走走

alt-b看斷點
斷點,專案 0
 地址=77E6191E KERNEL32.IsDebuggerPresent
 模組=KERNEL32
 啟用=永遠

沒問題就走...

77E6191E K>  64:A1 18000000    mov eax,dword ptr fs:[18]      斷點去掉
77E61924     8B40 30           mov eax,dword ptr ds:[eax+30]
77E61927     0FB640 02         movzx eax,byte ptr ds:[eax+2]
77E6192B     C3                retn

return 到下面:
005D3E05     8BBD F18E4000     mov edi,dword ptr ss:[ebp+408E>
005D3E0B     03BD 178F4000     add edi,dword ptr ss:[ebp+408F>; VBExplor.00400000   

到頭了 edi=25342 就是偏移了
005D3E11     3BED              cmp ebp,ebp
005D3E13     74 02             je short VBExplor.005D3E17
005D3E15     8180 69C0D204 000>add dword ptr ds:[eax+4D2C069]>
005D3E1F     81FB CC000000     cmp ebx,0CC
005D3E25     75 05             jnz short VBExplor.005D3E2C
005D3E27     05 59010000       add eax,159

加上記憶體基址

到00425342

00425342     55                push ebp                        oep=00425342
00425343     8BEC              mov ebp,esp
00425345     6A FF             push -1
00425347     68 58124D00       push VBExplor.004D1258
0042534C     68 CE544200       push VBExplor.004254CE         ; jmp to MSVCRT._except_handler3
00425351     64:A1 00000000    mov eax,dword ptr fs:[0]
00425357     50                push eax
00425358     64:8925 00000000  mov dword ptr fs:[0],esp
0042535F     83EC 68           sub esp,68
00425362     53                push ebx
00425363     56                push esi

dump下來不能用:(

olldby下,RecImport上

程式原始IAT資料資訊發現在: 000CCF24 區塊 RVA:000CC000 大小:00023000

但還是初始化失敗,不知道原因。

RecImport下,olldby上

77FB17A4     C9                leave                   pe頭不正常,要修復,但手動麻煩的
77FB17A5     C2 0400           retn 4
77FB17A8     55                push ebp
77FB17A9     8BEC              mov ebp,esp
77FB17AB     8B45 08           mov eax,dword ptr ss:[ebp+8]
77FB17AE     53                push ebx
77FB17AF     56                push esi
77FB17B0     57                push edi
77FB17B1     8B7D 10           mov edi,dword ptr ss:[ebp+10]

olldby下,PeDumper上

刪除未知區段,修復pe頭,總算可以了。cool!

【脫殼指令碼】

/* 
/////////////////////////////////////////////////////////////////////////////////////
  EXE32Pack 1.38 -> SteelBytes OEP finder
  Author  : stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s]    
  Email   : stasi@163.com
  Homepage: http://stasi.7169.com
  OS      : Win2kADV sp4,OllyDbg 1.1c,OllyScript v0.92
  Date    : 2004-11-20 
  Config  : Exceptions:uncheck all. you don't need to hide the DeBugger,i'll do for u!
  Note    : If you have one or more question, email me please,thank you! 
////////////////////////////////////////////////////////////////////////////////////// 
*/ 

  var stasi 

  lblset:
  cmp $VERSION, "0.9"
  ja start
  msgyn "Your ollyscript is too old,maybe have something wrong,Continue?"
  cmp $RESULT,0
  je end
  jmp start

  start:
  dbh
  gpa "IsDebuggerPresent", "KERNEL32.dll" 
  bp $RESULT
  run
  bpmc
  sto        
  sto        
  sto
  sto
  sto
  sto
  mov stasi, edi
  bp stasi
  run
  jmp lblend

  lblend:
  cmt eip, "here is the OEP of EXE32Pack 1.38 -> SteelBytes!"
  msg "Script by stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s],Thank you for using my Scripts!"
  jmp end

  end:
  ret
  
  //the end!

--------------------------------------------------------------------------------
【破解總結】

 德語的四六級考試都透過了,又有時間到論壇看看,輕鬆多了!

 Greetz:
  Fly.loveboom.David.xikug.heXpe.LeNgHoSt.all of my friends and you!

 By stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s]
 Email:stasi@163.com
--------------------------------------------------------------------------------
【版權宣告】 本文純屬技術交流, 轉載請註明作者並保持文章的完整, 謝謝!

相關文章