iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 16
0

在逆向工程(Reverse Engineering)中,對程式進行反組譯上, IDA 是一個強而有力的工具。如果想對一些軟體程式進行破解或是逆向還原,都得靠他。
逆向還原這件事情就好比像是名偵探柯南或是福爾摩斯,在命案現場中透過僅有的線索並仔細觀察,抽絲剝繭地逐漸還原真相。
名偵探柯南
用 IDA 分析病毒,可透過程式碼以及一些文字,猜測病毒有哪些行為,例如對特定字串的文件檔進行感染、特定字串的網址進行某種文件的下載等等。

但在這裡介紹 IDA 不是要告訴各位怎麼用 IDA 進行病毒分析,更不是要教各位如何破解軟體。這裡要介紹的,是舉例樣本(或程式),告訴各位 IDA 提供哪些功能,方便使用者能夠較快速的學習如何操作此工具,在日後便於分析病毒或破解軟體。

環境介紹:

IDA 版本:IDA Pro v6.8 x64 and x86
範例樣本:Virus.Win32.Torjan.Backdoor.Zepfo.YY

操作說明:

interface
首先我們把要觀察的樣本直接拖曳到 IDA 程式上,打開後如上圖,可看到上方白色欄位有三行文字,點選 PE,且其他設定如圖示,並直接按"OK"鍵。

按完 OK 鍵後,進入到的畫面如下圖,我們會針對圖中標有號碼的區塊逐一介紹:
graph

  1. 程式區:有些程式進來後,程式區塊會呈現流程圖,如下左圖所示,可清楚地知道各個程式塊執行完後的走向。當按下"空白鍵後",介面轉變成組譯過的程式碼,如下右圖。
    graphopcode

  2. 主程式:這裡其實就是一般寫程式時, 主程式的地方。

  3. 流程圖預覽:顯示目前所在的程序的流程圖,我們放大來檢視。
    graph

  4. 函式名稱:顯示目前程序會呼叫哪些函式。

  5. Hex:呈現目前滑鼠所點的位置的 Hex。其所呈現的內容和 Hiew 及 WinHex 一樣。
    hex

  6. Import table:程式所調用的 API 。
    import

  7. Export table:程式的外部函式表。

常用快捷鍵:

ctrl + E :該程式的進入點(Entry Point),按下"OK"鍵後,到程式的進入點。
entry point

到了進入點後,可從下圖的紅色框框處看到 public start 字眼。
start

有些程式在此程序,往下滑動流程圖,可看到呼叫 WinMain,從這地方點進去後可發現會直接到我們一開始介紹的主程式。每個 C 應用程式和 C++ 應用程式都必須有 main 函式作為起點,而每個 Win32 應用程式也都必須有 WinMain 函式,在 WinMain 前進行函式的初始化,進入 WinMain 後才是真正主程式內容。
winmain

ctrl + X :顯示呼叫此函式的位置(reference)。
reference
先點擊函式名稱,按 ctrl + X 並點擊"OK"鍵,可跳到呼叫此函式的程式。

Esc:回到上一頁。

n:程序或函式重新命名。
rename

Alt + M:標記位址,其功能類似書籤。
ctrl + M:顯示目前有哪些位址被標記,若有時可前往已被標記的位置。
;:對該行註解,註解內容會顯示在該行後段。
G:輸入欲前往的程式位置。
Shift + F12:顯示這支樣本所出現的文字,其功能和 BinText 相同。同時也可以點選上方的 View → Open Subview → String,開啟顯示字串。

string table

原本的流程圖模式下只能看見各行組譯過的程式碼,為了能夠方便在流程圖上同時觀察其 OPcode,在上方工具列處點選 Option → General,
general

將紅色框框處可以把數值 0 改成愈顯示的 OPcode 數量,建議可以設定 8 到 16 個,
改OPcode num

即可顯示各行組譯碼的 OPcode,如下圖。
改完後

如果各位有興趣想更深入了解其他功能,可到參考來源的 IDA Pro shortcuts 的連結下載 PDF 表。

希望有興趣的讀者也能夠點個追蹤,有任何問題或有想多了解的地方也可以回覆在文章底下唷,謝謝你們XDDDD!

參考來源:
vx-archiv.at http://vx-archiv.at/viruses
維基百科 https://zh.wikipedia.org/wiki/%E4%B8%BB%E5%87%BD%E5%BC%8F
IDA Pro shortcuts https://www.hex-rays.com/products/ida/support/freefiles/IDA_Pro_Shortcuts.pdf


上一篇
[Day15] 行為分析-黑白難分,軟體也分顏色-灰色軟體
下一篇
[Day17] 行為分析-成為逆向大師的第一步-秒懂加殼技術
系列文
資事體大 毒擋一面 - 資安防護深入淺出31

尚未有邦友留言

立即登入留言