簡單脫殼教程筆記(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、檢視脫殼是否成功