0x01 準備
OD
UPX加殼程序
可以加殼的軟件
0x02 給軟件加殼
我找了半天發現winhex不錯,而且是沒殼的可以直接加殼
1.複製一份可執行文件
將賦值好的文件用UPX3.91加殼
0x02 脫殼
查一下殼
OD載入,查看入口點
單步調試,到如圖的這一步,不能向下跟,因爲下面call的函數是ExitProcess(一般程序到快結束的時候會調用這個API)說明程序要跑飛了
之後研究一下這個跳轉這個是個類似循環,在A1和BE之間跳轉,在跳轉裏面還有兩個跳轉,一個是在A6,一個是在B7,je會跳轉到84,而B7會跳轉到C0,可能程序正在解壓。C0是剛纔說了程序會跑飛,這個跳轉先別管,看一下A6這個跳轉
這個跳轉跳到84,84下面有個爲實現的跳轉,會跳到C6,跳過ExitProcess這個函數,好的,我們直接在C6下斷點,之後單步執行
這個看到了popad,說明程序解壓完了,之後看到一個大跳轉,說明馬上到OEP了
之後到達程序OEP
之後使用od自帶的插件脫殼
最後查殼運行
0x04 總結
加密殼脫法比較簡單一般是push開始,popad結束,可以使用查詢popad,esp定律法等等來脫殼。