手脫UPX3.91殼(練習)

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定律法等等來脫殼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章