1.peid載入
aspack v2.12
2.載入od,跟之前帖子的入口特徵相同,都是乙個pushad,但是請不要懷疑這是同乙個殼,絕對不是,pushad下一行esp定律下硬體斷點,然後shift+f9執行一次
0057e001 > 60 pushad ; //程式入口點
0057e002 e8 03000000 call memcolla.0057e00a ; //
esp定律
0057e007 -e9 eb045d45 jmp 45b4e4f7
0057e00c
55push ebp
0057e00d
c3 retn
0057e00e e8
01000000 call memcolla.0057e014
3.esp落腳點,刪除硬體斷點繼續f8,注意,普通的aspack殼在注釋的地方會跳向oep,但是這個沒有
0057e3b0 /7508 jnz short memcolla.0057e3ba ; //
程式落腳點
0057e3b2 |b8 01000000 mov eax,0x1
0057e3b7 |c2 0c00 retn 0xc
0057e3ba \
6800104000 push memcolla.00401000
0057e3bf c3 retn ;
//普通殼會在這裡跳向oep
0057e3c0 8b85 26040000 mov eax,dword ptr ss:[ebp+0x426
]0057e3c6 8d8d 3b040000 lea ecx,dword ptr ss:[ebp+0x43b]
4.步驟3的retn跳向的位置,到這裡繼續f8
00401000 87c0 xchg eax,eax ; //跳轉的位置
00401002
fc cld
00401003 80ec 00 sub ah,0x0
00401006 83f1 00 xor ecx,0x0
00401009
90 nop
5.這是乙個近call,f7跟進,然後繼續f8就可以到達oep了,需要注意的是中間有幾個向上跳轉,記得在下一行f4
0057d40d e8 12000000 call memcolla.0057d424 ; //f70057d412 80ca 00 or dl,0x0
0057d415
50push eax
0057d416 9c pushfd
0057d417
58pop eax
0057d418 f6c4
01 test ah,0x1
0057d41b - 75 fe jnz short memcolla.0057d41b
6.找到關鍵跳,f8一下就可以到oep了
0057d5a3 61popad
0057d5a4 ba f8085000 mov edx,memcolla.005008f8
0057d5a9 - ffe2 jmp edx ; //
指向oep的關鍵跳
0057d5ab 0000 add byte
ptr ds:[eax],al
0057d5ad
0000 add byte ptr ds:[eax],al
7.來到oep,可以脫殼了
005008f8 55 push ebp ; //oep005008f9 8bec mov ebp,esp
005008fb 83c4 f0 add esp,-0x10
005008fe
53push ebx
005008ff
56push esi
00500900 b8 10045000 mov eax,memcolla.00500410
00500905 e8 665ff0ff call memcolla.00406870
0050090a 8b1d
08415000 mov ebx,dword ptr ds:[0x504108
]
00500910 8b35 9c415000 mov esi,dword ptr ds:[0x50419c]
8.執行,查殼
執行ok,查殼:borland delphi 4.0
手脫UPX殼方法介紹
方法1 單步跟蹤 f8單步跟蹤,向上不能讓他跳,有loopd迴圈也一樣 跳轉的下一行按f4 執行到選定位置,迴圈loopd在call下一句f4執行 只允許向下跳,如單步跟蹤call處程式執行,則需要過載程式,再call處f7跟進 近call f7,遠call f8 pushad 入棧 popad 出...
手脫64位UPX殼
背景 近期舍友不知道為啥忽然要漢化乙個gta的外掛程式,第一次聽說他要漢化,問了我一堆關於逆向的東西。由於外掛程式加了upx的殼 也是peid說的,我感覺是乙個很奇怪的殼 他搞不定於是發來給我。我平時也是逆向linux的elf檔案多一些,windows的而且還是64位的幾乎沒搞過,平時也沒脫過什麼殼...
ximo脫殼4 手脫FSG殼
基礎脫殼教程4 手脫fsg殼 fsg 2.0 bart xt 重點為修復 手動 查詢iat 一 單步跟蹤法 單步跟蹤就是和之前一樣的套路,直接單步向下,遇到向上跳轉直接用f4跳過就可以了,主要是在單步的時候注意一些跳轉,可能跳轉到的地方就是程式的oep 也有可能跳轉到oep的指令會被略過,所以要仔細...