kuo58
資深會員
積分 5078
發文 522
註冊 2006-4-17
狀態 離線
|
#1 [脫殼教學] 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:每種軟體在脫殼有所差異,此次教學希望能帶給你們一些幫助。(請不要用在非法的行為上謝謝)
|
|