加密殼的一般脫殼步驟與執行個體示範

來源:互聯網
上載者:User

今天主要是深入的瞭解組合語言,要想反編譯沒這個可是不行的啊。當然,這也不是一天兩天可以成功的,繼續努力。

 

一.如何分辨加密殼:

殼分為加密殼和壓縮殼,壓縮殼目的是減少軟體的體積便於在網上傳播,

而加密殼目的是防止軟體被脫殼和破解,所以加密殼全部有反跟蹤代碼

,會有許多SEH陷阱使OD調試時產生異常.也就是說在跟蹤過程中很容易

導致程式運行,使你無法跟蹤分析.而壓縮殼相對比較容易,脫殼也比較

簡單,一般沒異常出現.

 

二.脫加密殼的相關知識要點:

在加密殼中,變形CALL比較多,遇到變形call要F7代過,區別是否是變形Jmp的一個簡單方法是比較call的目標地址和當前地址,如果兩者離的很近,一般就是變形Jmp了,用F7走。對於Call的距離很遠,可以放心用F8步過.加密殼中F7用的比較多,壓縮殼中一般用F8單步跟蹤就可以搞定.

脫加密殼,用OD載入,鉤掉所有異常(不忽略任何異常,除了忽略在KERNEL32 中的記憶體訪問異常打勾.數著用了多少次Shift+F9程式運行,顯然最後一次異常後,程式會從殼跳到OEP開始執行,這就是我們尋找OEP的一個關鍵,如果程式 Shift+F9後直接退出,很明顯加密殼檢測調試器,最簡單的應付方法就是用OD外掛程式隱藏OD.

單步異常是防止我們一步步跟蹤程式,這一系列的異常雖然幹擾我們調試,但也給我們指明了一條通路,就是Shift+F9略過所有異常,然後找到最後一處異常,再它的恢複異常處下斷點,跟蹤到脫殼進入點.

 

 

三.加密殼的一般脫殼步驟:

介紹:這種方法一般用於加密殼,這是脫加密殼的一種通用方法.

第一步:用OD開啟程式,點擊選項——調試選項——異常,把裡面的√全部去掉!CTRL+F2重載下程式.

第二步:接著我們按SHIFT+F9,直到程式運行,記下從開始按SHIFT+F9到程式啟動並執行次數n.

第三步:重載程式,再按SHIFT+F9,這次按的次數為上次讓程式運行時的次數的n-1次.

第四步:此時觀察OD的右下角有一個"SE 控制代碼",這時我們按CTRL+G,輸入SE 控制代碼前的地址!來到這個地址.

第五步:在這裡,按F2下斷點!然後按SHIFT+F9來到斷點處!

第六步:這時候我們已經跳過了所有異常,然後去掉斷點,按F8慢慢向下跟蹤很快就到達OEP了.

修複----用LORDPE重建PE

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.