1. 程式人生 > >簡單脫殼教程筆記(2)---手脫UPX殼(1)

簡單脫殼教程筆記(2)---手脫UPX殼(1)

       本筆記是針對ximo早期發的脫殼基礎視訊教程,整理的筆記。

       ximo早期發的脫殼基礎視訊教程 下載地址如下:          

 http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7%A0%B4%E8%A7%A3%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B/ximo%e8%84%b1%e5%a3%b3%e5%9f%ba%e7%a1%80.7z

        本筆記用到的工具下載地址:

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

      簡介:

          UPX (the Ultimate Packer for eXecutables)是一款先進的可執行程式檔案壓縮器,壓縮過的可執行檔案體積縮小50%-70%,主要功能是壓縮PE檔案(比如exe,dll等檔案),有時候也可能被病毒用於免殺.殼upx是一種保護程式。

     脫殼:

     工具:

               ExeinfoPE或PEid、OD、LordPE、ImportREConstructor

     脫殼檔案:

               01.rmvbfix.exe

     筆記:

         1、使用ExeinfoPE或PEid確定是否加殼

      2、脫殼,們這裡使用四種方法來進行脫殼,無論使用哪種,我們都需要找到OEP位置,然後進行脫殼即可。

          方法1:單步跟蹤(需要有耐心)

                      要點:將程式拖入到OD中,一步一步單步跟蹤執行,原則向上跳轉不能讓其實現,向下跳轉可以實現。

          操作:

          1)將程式載入如OD中,會彈出是否自動分析的對話方塊。當我們確定程式是被加殼的情況下,我們選擇否,否則我們選擇是。

         

        2) 找OEP  由於我們使用的是單步跟蹤,我們可以按F8進行單步執行。

      

      3)當向下跳轉可以實現,繼續單步即可    

      

    向上跳轉不能讓其實現

    

   將程式碼執行到跳轉的下一行:選中該行,右鍵--斷點--執行到選中位置  或直接F4即可

    

   

    注意:當jmp下面是call的情況,我們要在call的下面下斷點,如下圖,我們就需要在papad的位置下斷點


   

      4)  當我們發現有出棧popad的時候,並且緊跟著一個大的跳轉的時候,那麼要調到的位置一般就是OEP的位置

   

       5)我們進入到OED位置

   



     6)找到OEP後 我們就可以進行脫殼,我們使用LordPE進行脫殼

        開啟LordPE,找到程式(在XP下能找到,win7找不到)

    

     然後右鍵修復映象大小、選擇完整轉存

    

   7)使用ImportREConstructor 進行修復

       根據OD中的地址,計算出OEP, OEP=VA(0047738C)-載入基址(00400000)

       然後獲取匯入表,顯示無效的,最後進行修復

     

      8、檢視脫殼是否成功

     

    方法2:ESP定律法

    方法3:2次記憶體映象法

    方法4:一步直達法

    我們另起一篇文章  簡單脫殼教程筆記(3)---手脫UPX殼(2)