Board logo

標題: [脫殼教學] UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo 手動脫殼 [打印本頁]

作者: kuo58     時間: 2020-6-11 01:01 PM    標題: [脫殼教學] UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo 手動脫殼

脫殼工具有:PEiD,OD,ImportREC,UPXTool

            此軟體利用PEiD偵測加殼為 UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo



1. 先用脫殼機試試 UPXTool 無法脫。(基本上 UPX 都可用脫殼機脫殼)
2. 改用OD手動脫殼


   
3. 載入軟體
771701B8   895C24 08        MOV DWORD PTR SS:[ESP+8],EBX      
771701BC   E9 699D0200      JMP ntdll.77199F2A
771701C1   8DA424 00000000  LEA ESP,DWORD PTR SS:[ESP]
771701C8   8DA424 00000000  LEA ESP,DWORD PTR SS:[ESP]
771701CF   90               NOP
771701D0 > 8BD4             MOV EDX,ESP
771701D2   0F34             SYSENTER
771701D4 > C3               RETN



4. 按 F4 (進入)

00597710 > $ 60             PUSHAD                    (這裡才是我們需要的入口)
00597711   . BE 00D05400    MOV ESI,AutoShut.0054D000
00597716   . 8DBE 0040EBFF  LEA EDI,DWORD PTR DS:[ESI+FFEB4000]
0059771C   . 57             PUSH EDI
0059771D   . 83CD FF        OR EBP,FFFFFFFF
00597720   . EB 10          JMP SHORT AutoShut.00597732
00597722     90             NOP
00597723     90             NOP
00597724     90             NOP
00597725     90             NOP
00597726     90             NOP



4. 按 F8 (進入)

00597710 > $ 60             PUSHAD                    
00597711   . BE 00D05400    MOV ESI,AutoShut.0054D000    (來到此處看右邊暫存器ESP位置)
00597716   . 8DBE 0040EBFF  LEA EDI,DWORD PTR DS:[ESI+FFEB4000]
0059771C   . 57             PUSH EDI
0059771D   . 83CD FF        OR EBP,FFFFFFFF
00597720   . EB 10          JMP SHORT AutoShut.00597732
00597722     90             NOP
00597723     90             NOP
00597724     90             NOP
00597725     90             NOP
00597726     90             NOP



5. 暫存器ESP位置 008FF6C 右鍵 資料跟隨



6. 下面 ASCII 右鍵 斷點 ---> 硬體寫入 ---> word



7. 按 F9 執行到達軟體入口

005978DE   . 61             POPAD
005978DF   . 8D4424 80      LEA EAX,DWORD PTR SS:[ESP-80]  (這裡會有迴圈無法到達下面)
005978E3   > 6A 00          PUSH 0
005978E5   . 39C4           CMP ESP,EAX
005978E7   .^75 FA          JNZ SHORT AutoShut.005978E3
005978E9   . 83EC 80        SUB ESP,-80                                       (這裡是軟體入口)
005978EC   .-E9 AFF0F0FF    JMP AutoShut.004A69A0
005978F1     00             DB 00
005978F2     00             DB 00
005978F3     00             DB 00
005978F4   . 0C795900       DD AutoShut.0059790C
005978F8   . 48795900       DD AutoShut.00597948
005978FC   . B8774A00       DD AutoShut.004A77B8




7. 按 F2  取消之前斷點

005978DE   . 61             POPAD                                               (斷點位置)
005978DF   . 8D4424 80      LEA EAX,DWORD PTR SS:[ESP-80]  
005978E3   > 6A 00          PUSH 0
005978E5   . 39C4           CMP ESP,EAX
005978E7   .^75 FA          JNZ SHORT AutoShut.005978E3
005978E9   . 83EC 80        SUB ESP,-80                                      (改下在此處)
005978EC   .-E9 AFF0F0FF    JMP AutoShut.004A69A0
005978F1     00             DB 00
005978F2     00             DB 00
005978F3     00             DB 00
005978F4   . 0C795900       DD AutoShut.0059790C
005978F8   . 48795900       DD AutoShut.00597948
005978FC   . B8774A00       DD AutoShut.004A77B8



8. 按 Ctrl+12 來到 005978E9 到達軟體領空已脫離殼

004A69A9   B8 F8514A00      MOV EAX,AutoShut.004A51F8  (記住此004A69A9 位置等一下會用到)
004A69AE   E8 9112F6FF      CALL AutoShut.00407C44
004A69B3   8B1D 90D04A00    MOV EBX,DWORD PTR DS:[4AD090]            ; AutoShut.004B3180
004A69B9   8B35 64CF4A00    MOV ESI,DWORD PTR DS:[4ACF64]            ; AutoShut.004B3664
004A69BF   8B3D 78CE4A00    MOV EDI,DWORD PTR DS:[4ACE78]            ;



9. 把軟體從殼中 dump 出來





10. 最後一步現在要利用此軟體 ImportREC_輸入表重建工具





PS:每種軟體在脫殼有所差異,此次教學希望能帶給你們一些幫助。(請不要用在非法的行為上謝謝)
作者: sq9758     時間: 2020-6-13 03:34 PM
謝謝樓主的教學
能否上傳工具與範例軟體
依教學實做看看
感恩喔




歡迎光臨 網際論壇 (http://centurys.net/) Powered by Discuz! 2.5