Vbox V4.5脫殼――Macromedia Dreamweaver MX V6.0

看雪資料發表於2004-08-15

【作者宣告】:只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
             
【除錯環境】:WinXP、Ollydbg V1.10、PEiD、LordPE、ImportREC
             
――――――――――――――――――――――――――――――――― 
【脫殼過程】:
          
         
朋友拿來這個東東讓我看看,30天的試用,Vbox的標記,看其呼叫的vboxa.dll版本是4.5.0.0,所以知道了是Vbox V4.5。恰巧很久沒寫東西了,索性記錄一下過程吧。目標程式自己搜尋。             
―――――――――――――――――――――――――――――――――
設定Ollydbg忽略所有異常選項。老規矩:用IsDebug 1.4外掛去掉Ollydbg的偵錯程式標誌。
   
  
00D71248     75 00               jnz short Dreamwea.00D7124A//進入OD後停在這
00D7124A     90                  nop
00D7124B     32E0                xor ah,al
00D7124D     8BC5                mov eax,ebp
00D7124F     40                  inc eax
00D71250     86E0                xchg al,ah
00D71252     85C0                test eax,eax
00D71254     EB 00               jmp short Dreamwea.00D71256
           
Shift+F9執行,確定幾個入口提示,彈出經典的Vbox保護畫面。
現在下斷:BP GetProcAddress,然後點“試用”,中斷後取消斷點。
Ctrl+F9兩次,就來到處理IAT的地方了。
      
0700B17B     E8 26FBFFFF         call vboxta.0700ACA6
//GetProcAddress
0700B180     83C4 14             add esp,14
//返回這裡
0700B183     85C0                test eax,eax
0700B185     0F84 80000000       je vboxta.0700B20B
0700B18B     FF45 F0             inc dword ptr ss:[ebp-10]
0700B18E     8906                mov dword ptr ds:[esi],eax
//函式寫入
0700B190     8B45 F0             mov eax,dword ptr ss:[ebp-10]
0700B193     83C7 04             add edi,4
0700B196     3B45 D8             cmp eax,dword ptr ss:[ebp-28]
0700B199     72 88               jb short vboxta.0700B123
//迴圈
           
因為Vbox V4.5沒加密輸入表(除了一個函式),所以這裡看看而已,就不必多管了。
――――――――――――――――――――――――
下斷:BP FreeLibrary  
中斷後取消斷點,Ctrl+F9返回
           
070081E2     FF15 D0C10407       call dword ptr ds:[704C1D0]  ; kernel32.FreeLibrary
070081E8     8B76 14             mov esi,dword ptr ds:[esi+14]; Dreamwea.009801C0
//返回這裡。[esi+14]=009801C0    這就是OEP值!★
    
想看看Vbox V4.5是如何跳OEP的?OK,我們在[esi+14]=[015B0014]轉存處下記憶體訪問斷點,F9執行,中斷。
           
016009B9     8B48 14             mov ecx,dword ptr ds:[eax+14]; Dreamwea.009801C0
016009BC     EB 02               jmp short 016009C0
016009C0     894D F0             mov dword ptr ss:[ebp-10],ecx; Dreamwea.009801C0
016009C3     EB 01               jmp short 016009C6
016009C6     8B5D F0             mov ebx,dword ptr ss:[ebp-10]; Dreamwea.009801C0
016009C9     EB 02               jmp short 016009CD
016009CD     FFE3                jmp ebx                      ; Dreamwea.009801C0
//飛向光明之巔! ^O^
           
――――――――――――――――――――――――
           
009801C0     6A 02               push 2
//在這兒用LordPE糾正ImageSize後完全DUMP這個程式
009801C2     FF15 08C2B900       call dword ptr ds:[B9C208]  ; kernel32.SetErrorMode
009801C8     68 40019800         push Dreamwea.00980140
009801CD     FF15 0CC2B900       call dword ptr ds:[B9C20C]  ; kernel32.SetUnhandledExceptionFilter
009801D3     E9 20221700         jmp Dreamwea.00AF23F8
           
――――――――――――――――――――――――
執行ImportREC,選擇這個程式。把OEP改為005801C0,點IT AutoSearch,點“Get Import”,有一個無效函式:
0079DB54  ?  0000  0700EBBF
我們Ctrl+G:0700EBBF看看:
0700EBBF     55                  push ebp
0700EBC0     8BEC                mov ebp,esp
0700EBC2     E8 A7FFFFFF         call vboxta.0700EB6E
0700EBC7     FF75 18             push dword ptr ss:[ebp+18]
0700EBCA     FF75 14             push dword ptr ss:[ebp+14]
0700EBCD     FF75 10             push dword ptr ss:[ebp+10]
0700EBD0     FF75 0C             push dword ptr ss:[ebp+C]
0700EBD3     FF75 08             push dword ptr ss:[ebp+8]
0700EBD6     FF15 D4C30407       call dword ptr ds:[704C3D4]; USER32.PeekMessageA
0700EBDC     5D                  pop ebp
0700EBDD     C2 1400             retn 14
           
把這個函式修改為USER32.PeekMessageA,FixDump!
OK,啟動時不見試用提示,Vbox 蕩然無存了。
               
             
―――――――――――――――――――――――――――――――――                              
         ,     _/ 
        /| _.-~/            \_     ,        青春都一晌
       ( /~   /              \~-._ |\
       `\\  _/                \   ~\ )          忍把浮名 
   _-~~~-.)  )__/;;,.          \_  //'
  /'_,\   --~   \ ~~~-  ,;;\___(  (.-~~~-.        換了破解輕狂
 `~ _( ,_..--\ (     ,;'' /    ~--   /._`\ 
  /~~//'   /' `~\         ) /--.._, )_  `~
  "  `~"  "      `"      /~'`\    `\\~~\   
                         "     "   "~'  ""
    

     Cracked By 巢水工作坊――fly [FCG][NUKE][DCM]
                2004-08-15  17:00

相關文章