簡單脫殼教程筆記(7)---手脫PECompact2.X殼

來源:互聯網
上載者:User

標籤:

         本筆記是針對ximo早期發的脫殼基礎視頻教程,整理的筆記。本筆記用到的工具:

http://download.csdn.net/detail/obuyiseng/9466056

簡介:FSG殼是一款壓縮殼。我們這裡使用9種方式來進行脫殼

工具:ExeinfoPE或PEid、OD、LordPE、ImportREConstructor
脫殼檔案:05.手脫PECompact2.X殼.rar

1 單步    我們發現有兩處call會跑飛,那麼我們需要在跑飛處進入,然後在跟即可。
       第一個跑飛的call,我們此時不應該單步而是進入



       第二個跑飛的call,我們此時不應該單步而是進入

    OEP
2 ESP定律   單步到在此處,並在資料視窗中跟隨,下斷點,單步跟蹤即可,可參考前面的筆記內容。

3 使用BP VirtualFree斷點首先下 bp VirtualFree斷點         

然後 SHIFT+F9運行,接著按F2取消斷點
         


接著ALT+F9執行到使用者代碼         


ctrl+f 進行尋找 push 8000(特徵碼)
          


F2設定斷點 , shift+f9運行到這,然後取消斷點    

接著單步跟即可,就會到達OEP    

4   同樣設定BP VirtualFree首先設定斷點
      

然後,兩次SHIFT+F9。      

然後,取消斷點。Alt+F9 並執行到使用者代碼      

 
然後單步走,就會到達OEP

    

5.1、載入程式後,會發現首行有個地址        0040A86D >  B8 74DE4500     mov eax,qqspirit.0045DE74     

2、在該地址處下斷點    bp 0045de74
      

3、然後shift+f9運行,並取消斷點    
4、我們在該處的retn 下一行 設定斷點,然後shift+f9運行,並取消斷點   
045DE74    B8 F9CB45F0     mov eax,F045CBF9
0045DE79    8D88 9E120010   lea ecx,dword ptr ds:[eax+1000129E]
0045DE7F    8941 01         mov dword ptr ds:[ecx+1],eax
0045DE82    8B5424 04       mov edx,dword ptr ss:[esp+4]
0045DE86    8B52 0C         mov edx,dword ptr ds:[edx+C]
0045DE89    C602 E9         mov byte ptr ds:[edx],0E9
0045DE8C    83C2 05         add edx,5
0045DE8F    2BCA            sub ecx,edx
0045DE91    894A FC         mov dword ptr ds:[edx-4],ecx
0045DE94    33C0            xor eax,eax
0045DE96    C3              retn
0045DE97    B8 78563412     mov eax,12345678                      //下斷點

5、接著單步跟即可,就會到達OEP


61、設定bp VirtualAlloc 斷點,然後shift+f9 運行,並取消斷點     
       
2、alt+f9 執行到使用者代碼    向下拉,看到JMP。運行到這

     

3、然後接著單步即可。

7.最後一次異常法;1、選項---》調試設定---》異常------取消所有異常。



2、然後將程式重新載入
3、按shift+f9 ,發現2次shift+f9 就會讓程式跑起來了,(之所以叫最後一次異常法,我們利用的就是利用最後一次異常,也就是說,我們有運行shift+f9有M次,就讓程式跑起來了,那麼我們重新載入程式後,只需要按 M-1次shift+f9即可) 
4、由於2次跑飛,我們按1次shift+f9,然後在堆棧視窗中  找SE控制代碼      

     
        
5、然後 我們轉到 0045de74處, 並在retn下一行下斷 (和第5種類似)                
     


045DE74    B8 F9CB45F0     mov eax,F045CBF9
0045DE79    8D88 9E120010   lea ecx,dword ptr ds:[eax+1000129E]
0045DE7F    8941 01         mov dword ptr ds:[ecx+1],eax
0045DE82    8B5424 04       mov edx,dword ptr ss:[esp+4]
0045DE86    8B52 0C         mov edx,dword ptr ds:[edx+C]
0045DE89    C602 E9         mov byte ptr ds:[edx],0E9
0045DE8C    83C2 05         add edx,5
0045DE8F    2BCA            sub ecx,edx
0045DE91    894A FC         mov dword ptr ds:[edx-4],ecx
0045DE94    33C0            xor eax,eax
0045DE96    C3              retn
0045DE97    B8 78563412     mov eax,12345678//下斷

6、shift+f9運行到該位置,取消斷點後 ,接著單步跟即可



注意:
如果不能用最後一次異常法脫強殼,一用 shift+f9 就直接跑飛,解決如下
在OD外掛程式--StrongOD--Options--Skip Some Exceptions選項取消,重啟OD再試試。



使用完成後,我們要將 異常-Skip Some Exceptions選項  恢複
8 兩次記憶體 1、在記憶體視窗中,找到第一個.rsrc, 然後F2下斷點,並運行


2、再次在記憶體視窗中找到    
3、然後單步跟即可,當遇到 retn的時候,要在retn下一行設定斷點,然後單步即可。

9 at GetVersion

 1、由於該程式是c++編寫,所以可以設定 at GetVersion斷點。

       

  2、向下 在retn處設定斷點,並運行

     

3、然後取消斷點,單步,向上拖就會看到OEP了

    

 

簡單脫殼教程筆記(7)---手脫PECompact2.X殼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.