ORiEN脫殼分析,orien脫殼

來源:互聯網
上載者:User

ORiEN脫殼分析,orien脫殼

作者:Fly2015

ORiEN這種殼之前沒有接觸,到底是壓縮殼還是加密殼也不知道,只能試一試嘍。需要脫殼的程式是吾愛破解脫殼練習第7期的題目。

 

首先對加殼程式進行查殼,這一步也是程式脫殼的必要的一步。

使用DIE工具對加殼程式進行查殼,發現被加殼程式原來是用Delphi語言編寫的,這個資訊對於找原程式的OEP是很有協助的。



下面OD載入程式進行分析,被加殼程式進入點彙編代碼:

對被加殼的程式進行脫殼的時候,先不慌著脫殼,最好先看下程式的彙編代碼,F7/F8單步走幾步看看,沒準你會有新發現。


F8單步跟蹤幾步,發現了PUSHAD指令,繼續F8單步到PUSHAD的下一條指令。那就使用ESP定律進行程式的脫殼,在ESP寄存器上下硬體寫入斷點HW Break。


F9運行程式,程式會在剛才下的HW硬體斷點地址處斷下來。注意觀察EAX寄存器的值0045159C,通過對地址0045159C的反組譯碼發現了比較熟悉的Delphi反組譯碼進入點代碼,很顯然地址0045159C就是被加殼原程式的真實OEP的VA。其實,F7單步幾步走到地址004A1AF4處,跟進JMP到地址004A1AF1處就會發現原程式的真實OEP。


跟進JMP到地址004A1AF1處,JMP EAX指令中的EAX = 0045159C儲存的就是被加殼程式的真實的OEP的VA地址。


F7單步跟進到地址0045159C處,果然找到了Delphi的反組譯碼的進入點。


OK,被加殼程式的真實的OEP找到了,就可以對加殼程式進行記憶體的Dump和IAT表的修複。不過對於加殼程式找到OEP以後,建議使用Load PE和RECImport 工具或者Scylla來進行程式的記憶體Dump和IAT表的修複,比OD的OllyDump外掛程式更靈活。先用Load PE對該程式進行 完全脫殼 的記憶體Dump,在RECImport 中填入被加殼程式的真實OEP的RVA地址0005159C,自動擷取IAT表並剪下掉無效函數指標,修複抓取的記憶體Dump檔案即可實現脫殼。


OK,運行一下脫殼完成的程式,證明自己脫殼成功。


ORiEN脫殼分析文檔和脫殼以後的程式的:http://download.csdn.net/detail/qq1084283172/8898321

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.