002 PECompact 1.84
文章目錄
- 查殼
- 單步跟蹤到OEP
- 修復導入表
查殼
今天來脫一下PECompact 1.84這個殼,脫這個殼的目的是為了了解一個技巧——當遇到無法向下跟隨的時候,可以找到附近沒有實現的大跳轉,下斷點繼續跟蹤。
單步跟蹤到OEP
接下來OD載入這個程序,采用單步跟蹤的方法脫掉這個壓縮殼。
當程序執行到這個位置的時候,這里有一個jmp是往上跳的,按照常規的單步跟蹤脫殼的方法,我們應該直接在下一條命令處F4,讓他執行到下一條命令。但是當你在下一條命令直接F4的時候,程序會直接跑飛。
這個時候就要用到剛才的技巧了,在附近尋找一個沒有實現的大跳轉,一般是在上面。一直往上拉,
在程序上面我們看到一個je,后面的OpCode的offset代表這是一個大跳轉,而且是沒有實現的。
那么我們就可以直接跟進去,下斷點,讓程序斷下,然后繼續單步跟蹤。
這里也是一個大跳轉,按照剛才的方法,回車跟進去下斷點,F9跑起來,就到了這里。繼續往下跟
跟到這里的時候,同樣,回車跟進去下斷點F9
這里還是一樣的套路,繼續跟
當跟到這里的時候,可以知道馬上就到了OEP了,和大部分殼的套路一樣,會push一個地址,然后返回回去。
接著就來到了熟悉的OEP。
修復導入表
然后在OD里dump文件,然后修復導入表,輸入OEP,自動查找IAT,獲取輸入表,轉儲文件。
脫殼后的程序正常運行,這個殼也就完成了。當然了,這個殼用ESP定律也是可以秒脫的,我這里純粹是為了練習這個技巧而已。
需要相關文件可以到我的Github下載:https://github.com/TonyChen56/Unpack-Practice
總結
以上是生活随笔為你收集整理的002 PECompact 1.84的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 001 FSG 1.33变形壳
- 下一篇: 003 PECompact 2.55