IDA 逆向工程 反匯編使用


IDA pro 7.0版本

from:freebuf

用到的工具有IDA pro 7.0  ,被反匯編的是百度雲(BaiduNetdisk_5.6.1.2.exe)。

首先,IDA pro的長相如下:

image.png

共有(File , Edit , Jump , Search , View , Debugger , Options , Windows , Help)9個模塊,還有下面的諸多小菜單。

現在我們點擊File,選擇Open打開一個文件,這里我們選擇百度雲盤PC端安裝程序,出現如下圖示:

image.png

這里我們直接默認OK即可。

此時,我們看到的視圖是這樣的:

image.png

然后我們對各個部分進行標號,單獨進行介紹:

image.png

第一部分表示的是對不同代碼塊使用不同的顏色進行區分,我們可以直接點擊相應的顏色塊進行不同代碼塊的定位。

藍色:表示代碼段。

棕色:表示數據段。

紅色:表示內核。

第二部分表示該程序的函數表,雙擊后可查看詳細信息。

image.png

該函數對應的IDA View-A如下:

image.png

第三部分對應的就是整體程序或者某個函數的圖標概述形式,可以大體把握功能和結構的走向。對整體的脫殼逆向有很大的幫助。

image.png

第四部分主要可以顯示以下6部分信息:

(1)IDA View-A

(2)Hex View-1

(3)Structures

(4)Enums

(5)Imports

(6)Exports

其中IDA View-A表示的就是某個函數的圖標架構,可以查看程序的邏輯樹形圖,把程序的結構更人性化地顯示出來,方便我們的分析。

具體表示形式,上文中有截圖可參考。

在Hex View-1中可以查看16進制代碼,方便定位代碼后使用其他工具修改,具體表示如下圖所示:

image.png

在Stuuctures中可以查看程序的結構體:

image.png

在Enums中可以查看枚舉信息:

image.png

在Imports中可以查看到輸入函數,導入表即程序中調用到的外面的函數:

image.png

在Exports中可以查看到輸出函數:

image.png

以上就是IDA主面板中的各個部分的功能介紹了。

接下來我們介紹9個菜單模塊,即:

File , Edit , Jump , Search , View , Debugger , Options , Windows , Help

image.png

1.File 是用來打開,新建,裝載一個應用程序的,這大家都知道的。

2.Edit 是用來編輯反匯編代碼的,可以復制,篩選什么的。

3.Jump 是用來跳轉的,可以有很多種類型的跳轉,比如跳轉到上一個位置或者下一個位置,跳轉到某個指定的地址。還可以根據名字,函數來進行跳轉,跳轉到一個新的窗口,跳轉某一個偏移量等等,總之很多了,具體大家可以慢慢積累了。這個模塊就比較重要了。

4.Serach 是用來搜索的。

5.View 是用來選擇顯示方式的,或者顯示某一特定模塊信息的。比如以樹形邏輯圖顯示,或者16進制形式顯示。還可以單獨顯示某一特定信息,比如輸入或者輸出表等。

6.Debugger ,調試器被集成在IDA中,首先我們使用IDA裝入文件,來生成數據庫,用戶可以使用反匯編功能,查看所有反匯編信息,這些均可以在調試器中進行和使用。

image.png

7.Options ,在這里可以進行一下常規性的設置。

8.Windows,

9.Help,使用IDA的一些幫助文檔,檢查更新等等。


使用IDA的一個大體步驟:

1.裝入文件或程序

2.指令斷點

3.程序運行

4.分析堆棧

5.添加監視

6.進行地址分析

7.單步跟蹤

8.找到bug

9.使用硬件斷點進行bug確認


本期就介紹到這里了,IDA有很多高級功能,會在之后的實戰文章中進行講解。

下一期我們將講解《逆向動態調試之Ollydbg的使用》。

學完匯編,IDA,Ollydug我們就可以進行簡單的逆向分析了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM