UPX单步脱壳
工具
吾愛破解下載的ollydgb 加上插件 ollydump手動脫殼
工具常用命令
- F2:設置斷點。只要在光標定位的位置按F2鍵即可,再按一次F2鍵則會刪除斷點。
- F8:單步跳過。 每按一次這個鍵執行一條反匯編窗口中的一條指令,遇到 CALL 等子程序不進入其代碼。
- F7:單步步入。 功能同單步步過(F8)類似,區別是遇到 CALL 等子程序時會進入其中,進入后首先會停留在子程序的第一條指令上。
- F4:運行到選定位置。 作用就是直接運行到光標所在位置處暫停。
- F9:運行。 按下這個鍵如果沒有設置相應斷點的話,被調試的程序將直接開始運行。
- CTR + F9:執行到返回。 此命令在執行到一個 ret (返回指令)指令時暫停,常用于從系統領空返回到我們調試的程序領空。
- ALT + F9:執行到用戶代碼。 可用于從系統領空快速返回到我們調試的程序領空。
1、單步脫殼法
注意:如果遇到程序跑飛的情況,需要F7進入程序內部
1、使用 F8 或者點擊 小紅框處的按鈕進行下一步
2、當執行到大紅框處時,直接F8,因為這是向下執行的跳轉
3、當執行到向上跳轉時(紅框圈中的這種情況時,里面有一個小箭頭向上,表示向上跳轉),使用鼠標或者下箭頭選中它的下一行,點擊F4 或者 (F2斷點,然后 F9)
 
4、當碰到這種向上跳轉的下一行也是跳轉指令或者nop,就再往下一行,然后使用F4
 
5、向上跳轉下面跟一個鏈接再跟一個nop,就在下一行,到mov,然后點擊F4
 
6、當碰到 出棧指令以及下面跟的遠距離跳轉表示快要到真正的程序入口了
 
 7、執行到
時,表示到達了真正的程序入口
 
 8、開始脫殼, 鼠標右擊,然后點擊 用ollDump脫殼調試進程
 
 9、將新的入口地址放入里面,然后點擊脫殼,選擇脫殼后的程序保存位置即可
 
2、ESP定律
1、進來之后先執行完pushad、然后獲取右邊的ESP的值,然后再下方的command中輸入
dd <ESP的值>
 在Address這一欄 右擊,然后選擇 Breakpoint -> Hardware, on access -> word
 
 2、設置完斷點后,直接F9或者點擊紅框中的按鈕,然后 debug -> hardware breakpoints 將斷點刪掉
 
 3、向單步脫殼法中的步驟執行,一直F8,發現到 jnz short re_sign.00435A3A 是向上跳轉,選擇下一行,點擊F4,然后一直F8到,發現執行完 jmp之后直接跳轉到了 OEP
 
 4、脫殼
 執行到OEP之后,Plugins -> OllyDump -> 脫殼在當前調試的進程 或者
 鼠標右擊 -> 用OllyDump脫殼調試進程
 
 將入口點地址修改為 OEP的地址,點擊脫殼
 
問題
脫殼后發現不能運行
可以去學習修復導入表 或者使用工具 UpxUnpacker.exe脫殼
總結
 
                            
                        - 上一篇: 企业提供下载链接的安全解决方案
- 下一篇: 震惊一个月销800万的模式,全新拼团模式
