今天在學習脫殼, 下載了幾個軟件都脫殼不成功,沒辦法重新學過。
看了手脫教程,決定整個軟件下來練習一下
就拿系統自帶的“記事本”來練習一下吧, 用ASPack加下殼, 用PEid 查詢, 顯示爲ASPack 2.12 -> Alexey Solodovnikov
好了, 不廢話了, 第一篇. 脫殼, 高手見笑了...
/********************************
脫殼目標: notepad.exe 記事本
加殼類型: ASPack 2.12 - Alexey Solodovnikov
/********************************
1. 使用Peid 查殼, 顯示爲 ASPack 2.12 -> Alexey Solodovnikov
2. OD載入, 停在
01013001 note> 60 pushad
01013002 E8 03000000 call notepad.0101300A //查看ESP值
01013007 - E9 EB045D45 jmp 465E34F7
0101300C 55 push ebp
3. 按F8步進到 01013002, 查看寄存器中的ESP值, 值爲0007ffa4
(這算不算是使用ESP定律呢? 不太清楚, 有空再複習下.)
4. 將0007ffa4 設置爲訪問中斷, 如在命令中輸入 hr 7ffa4, 在調試->硬件斷點可以查看到
(也可以 dd 7ff4, 斷點 -> 硬件訪問斷點 -> Word 字)
5. F9 運行, 運行到這裏被中斷
010133B0 /75 08 jnz short notepad.010133BA //斷在這裏了
010133B2 |B8 01000000 mov eax,1
010133B7 |C2 0C00 retn 0C
010133BA /68 A5730001 push notepad.010073A5
010133BF C3 retn
6. 清除硬件斷點. F8步過. 直到retn 過後, 就是入口點了(push 70)
010073A5 6A 70 push 70 //入口點
010073A7 68 B0180001 push notepad.010018B0
010073AC E8 E3010000 call notepad.01007594
查出, 入口點爲73A5
7. LoadPe 脫殼
8. Import Re 修復輸入表(在OEP 輸入剛找到的入口點73A5->自動搜索IAT->獲取輸入表->顯示無效函數-> 全部有效 ->修復轉存文件)
9. 看看脫殼成功了沒有, 查殼顯示爲Microsoft Visual C++ 7.0 Method2 [調試]
10. 運行正常, 脫殼成功!