這個程式是吾愛破解脫殼練習第8
期的加殼程式,該程式的殼是
molebox v2.6.5
殼,這些都是廣告,可以直接無視了。前面的部落格
手動脫mole box v2.6.5
殼實戰中已經給出了一種比較笨的脫殼的方法,在進行脫殼程式的iat
表的修復的時,採用的是手動記錄系統
api的位址然後手動的去恢復被加密的系統
api的方法,很挫。下面就來講一講稍微好點的修復
iat表的方法。
回顧一下前面找加殼程式原oep
的步驟。
使用esp定律進行該加殼程式的脫殼,在硬體寫入斷點斷下來以後,單步f7到位址
0046997b3
處,發現
call eax
指令中的
eax儲存是加殼程式真實oep
的va位址
被加殼程式的真實oep
被找到了,但是使用
od的外掛程式
ollydump
或者load pe+importrec
或者是scylla_x86
進行程式的脫殼,然後執行程式,發現脫殼後的程式執行出錯。
隨後找到原因,原來是有部分函式的api
位址被加密處理
了,具體的被加密的函式如圖所示。很顯然,位址00455170處儲存的系統api
的函式位址是第乙個被加密處理(具體的怎麼找
iat表的方法,看前面的部落格)。
ctrl+f2再次動態除錯分析程式,為要找到iat表中的函式是怎麼被加密處理的,需要在位址
00455170處下dword
型的硬體寫入斷點,4次
f9後位址00455170處被加密的系統api
的函式的位址顯示出來了,如圖。通過呼叫
getprocaddress
函式獲取到的系統
api函式的位址儲存到了
ds:[ecx]中,值得注意。
f8單步除錯程式走幾步,發現位址
00470f42
處呼叫的
函式00471620
使用來給iat
表中系統
api進行加密處理的。
f7單步跟進
函式00471620
進行分析發現,通過置換的方式將ds:[ecx]處的函式位址給修改了。
ok,程式在呼叫被加密處理的
iat表中函式時,最終函式呼叫的還是系統的
api也就是說只是給系統的
api增加了呼叫的**函式。既然是這樣,那就將修改
iat表中系統
api函式的**給
path
掉也就是
nop掉。
將修改iat表中函式呼叫位址的彙編**
mov dword ptr ds:[ecx], eax修改為兩條nop指令,然後f8
單步執行程式,沒什麼問題。
f9執行程式,由於根據
esp定律下的硬體寫入斷點還在,因此程式會斷在設定的硬體寫入斷點處,
f8單步幾步即可找到程式真實
oep,如圖。
很顯然,加殼程式的真實oep的
va位址為
0045159c,f7
跟進到oep
處。工具搞起,使用
load pe
結合importrec
或者scylla_x86
(剪下掉無效的函式指標)對加殼程式進行完美的脫殼。
執行一下脫殼後的程式,驗證脫殼成功。
手動脫Mole Box殼實戰總結
這個程式是吾愛破解脫殼練習第8 期的加殼程式,該程式的殼是 molebox v2.6.5 殼,這些都是廣告,能夠直接無視了。前面的部落格 手動脫mole box v2.6.5 殼實戰中已經給出了一種比較笨的脫殼的方法。在進行脫殼程式的iat 表的修復的時,採用的是手動記錄系統 api的位址然後手動的...
手動脫WinUpack 殼實戰
吾愛破解培訓第一課選修作業第6 個練習示例程式。不得不重複那句話,沒見過這種殼,該殼是壓縮殼的一種,相對於壓縮殼,加密殼的難度要大一些,特別是 iat表的修復問題上。首先分別使用die 和exeinfo pe 對該加殼程式進行查殼的處理。od載入加 winupack 殼的程式進行動態除錯分析,加殼程...
手動脫UPX 殼實戰
windows平台的加殼軟體還是比較多的,因此有非常多人對於 pc軟體的脫殼樂此不彼,本人菜鳥一枚,也學習一下 pc的脫殼。要對軟體進行脫殼。首先第一步就是 查殼。然後才是 脫殼。pe detective exeinfo pe die 工具。須要脫殼的程式是吾愛破解論壇的windows 逆向破解培訓...