!EP (EXE Pack) 1.4 (Unpacking)

國內的破文如果質量也有這麼好就太棒了

翻譯一篇基礎破文(不是逐字翻)

1 用OD打開加了EP1.4殼的程序,把插件IsDebug&ExtraHide裏的兩個選項都選上

2 F9運行之後會發現在OD裏面的程序中斷了,而原來的軟件卻運行了起來,這是因爲

殼用了CreateProcess創建了一個新的進程,就是說軟件和殼是不連在一起的,但是在有

些時候卻是跟殼連在一起運行的,所以在CreateProcess調用之前找到一個關鍵跳轉,取其

反則可以讓軟件和殼連在一起運行(這樣比較容易找到OEP)

 

譯註:你不能直接在je上面斷點,然後重新運行殼,因爲殼還沒把je所在的代碼解密,所以OD會

提示你說這個斷點用不了,我先把它禁止掉。所以你要單步殼讓它走完解壓代碼的部分,再手動把

進制了的斷點重啓

 

3 斷點在該je改成jnz再跳轉之後,我們需要找OEP,我第一個想到的方法就是斷API了,但是要斷什麼API

取決於原編譯語言,我們把OD代碼拉到401000處,右鍵分析一下看到boolean 還有其他一些字符串,證明了

這是delphi寫的程序(自己可以拉個delphi程序在401000處看看)

4 所以我們可以斷GetModuleHandleA,因爲很多模塊都會調用這個函數,所以要給這個斷點設置一個條件(ESP==4)

5 斷下來之後自己走出去吧,很快就到OEP了,出去的時候代碼比較亂,要分析一下,還是看不到OEP的樣子,看到哪有

55(push ebp)就直接ctrl+g到達55那個字節就看到oep的樣子了,再下個硬件斷點重新運行,輸入表沒什麼要修復的,也沒對OEP

做手腳,不是個好殼,就是說這個殼比較簡單。。

發佈了50 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章