IDA介紹
IDA是一個用於靜態分析程序的軟件。
所謂靜態和動態就是指是否執行調試運行來處理。OllyDBG是進行修改調試,而IDA用於觀察程序。
有一些程序不適合動態處理,比如病毒木馬程序,一旦執行就會導致意外。所以就有了靜態處理的重要性。
安裝IDA
https://www.cncrk.com/downinfo/269648.html
初次進入IDA
在安裝好IDA后,有兩個可執行文件IDA.exe和IDA64.exe
分別是針對於32位程序和64位程序。
選擇需要使用的版本,進入程序界面
New新的Go直接打開,Previous曾經的項目
快捷鍵介紹
編號 | 快捷鍵 | 功能說明 |
1 | Enter | 跟進函數實現,查看標號對應地址 |
2 | Esc | 返回更進處 |
3 | A | 解釋光標處的地址為一個字符串的首地址 |
4 | B | 十六進制與二進制轉化 |
5 | C | 解釋光標處為一條指令 |
6 | D | 解釋光標處的地址為數據,每按一次將會轉換這個地址的數據長度 |
7 | G | 快速查找到對應地址 |
8 | H | 十六進制和十進制轉換 |
9 | K | 將數據解釋為棧變量 |
10 | ; | 添加注釋 |
11 | M | 解釋為枚舉成員 |
12 | N | 重新命名 |
13 | O | 解釋地址為數據段偏移量,用於字符串標號 |
14 | T | 解釋數據為一個結構體變量 |
15 | X | 轉換視圖到交叉參考模式 |
16 | Shitf+F9 | 添加結構體 |
通過實例操作來體會基本IDA操作:
1 加載分析文件
IDA加載文件后,會詢問分析方式
Protable executable for 80386(PE)[pe.dll] :分析一個PE格式的文件
MS-DOS executable(EXE)[dos.dll] :分析文件為DOS控制台下的一個文件
Binary file 分析文件為一個二進制文件。
根據示例windows變成message函數的exe程序,作為pe格式文件來分析處理。
2 各種視圖功能
視圖窗口說明
IDA View-A | 分析視圖窗口,用於顯示分析結果,可選用流程圖或代碼形式 |
Hex View-A | 二進制視圖窗口,打開文件的二進制信息。 |
Exports | 分析文件中的導出函數信息窗口 |
Imports | 分析文件中的導入函數信息窗口 |
Names | 名稱窗口,分析文檔中用到的標號名稱 |
Functions | 分析文件中的函數信息窗口 |
Structures | 添加結構體信息窗口 |
Enums | 添加枚舉信息窗口 |
3 查看分析信息
圖為IDA分析后的反匯編代碼,將其復制稍微修改就可以直接在IDE上面跑匯編代碼了。
IDA的數據查詢很簡單,只需要雙擊標號就可跟蹤到數據定義處。查看函數方式也是這樣。
4 切換反匯編視圖和流程視圖
在IDA views這里這個窗口選擇查看的是Graph overview流程圖查看,然后雙擊進入后就是text view查看。
5 IDA函數名稱識別:
IDA可以識別處函數MessageNBoxA及各參數的信息,IDA通過SIG文件來識別已知的函數信息。在安裝IDA的同時,已將常用庫制作為SIG文件放置在了IDA安裝目錄中的SIG文件夾下面,
利用此功能可識別出第三方提供的庫函數,從而簡化分析流程。