IDA pro 7.0版本
from:freebuf
用到的工具有IDA pro 7.0 ,被反匯編的是百度雲(BaiduNetdisk_5.6.1.2.exe)。
首先,IDA pro的長相如下:
共有(File , Edit , Jump , Search , View , Debugger , Options , Windows , Help)9個模塊,還有下面的諸多小菜單。
現在我們點擊File,選擇Open打開一個文件,這里我們選擇百度雲盤PC端安裝程序,出現如下圖示:
這里我們直接默認OK即可。
此時,我們看到的視圖是這樣的:
然后我們對各個部分進行標號,單獨進行介紹:
第一部分表示的是對不同代碼塊使用不同的顏色進行區分,我們可以直接點擊相應的顏色塊進行不同代碼塊的定位。
藍色:表示代碼段。
棕色:表示數據段。
紅色:表示內核。
第二部分表示該程序的函數表,雙擊后可查看詳細信息。
該函數對應的IDA View-A如下:
第三部分對應的就是整體程序或者某個函數的圖標概述形式,可以大體把握功能和結構的走向。對整體的脫殼逆向有很大的幫助。
第四部分主要可以顯示以下6部分信息:
(1)IDA View-A
(2)Hex View-1
(3)Structures
(4)Enums
(5)Imports
(6)Exports
其中IDA View-A表示的就是某個函數的圖標架構,可以查看程序的邏輯樹形圖,把程序的結構更人性化地顯示出來,方便我們的分析。
具體表示形式,上文中有截圖可參考。
在Hex View-1中可以查看16進制代碼,方便定位代碼后使用其他工具修改,具體表示如下圖所示:
在Stuuctures中可以查看程序的結構體:
在Enums中可以查看枚舉信息:
在Imports中可以查看到輸入函數,導入表即程序中調用到的外面的函數:
在Exports中可以查看到輸出函數:
以上就是IDA主面板中的各個部分的功能介紹了。
接下來我們介紹9個菜單模塊,即:
File , Edit , Jump , Search , View , Debugger , Options , Windows , Help
1.File 是用來打開,新建,裝載一個應用程序的,這大家都知道的。
2.Edit 是用來編輯反匯編代碼的,可以復制,篩選什么的。
3.Jump 是用來跳轉的,可以有很多種類型的跳轉,比如跳轉到上一個位置或者下一個位置,跳轉到某個指定的地址。還可以根據名字,函數來進行跳轉,跳轉到一個新的窗口,跳轉某一個偏移量等等,總之很多了,具體大家可以慢慢積累了。這個模塊就比較重要了。
4.Serach 是用來搜索的。
5.View 是用來選擇顯示方式的,或者顯示某一特定模塊信息的。比如以樹形邏輯圖顯示,或者16進制形式顯示。還可以單獨顯示某一特定信息,比如輸入或者輸出表等。
6.Debugger ,調試器被集成在IDA中,首先我們使用IDA裝入文件,來生成數據庫,用戶可以使用反匯編功能,查看所有反匯編信息,這些均可以在調試器中進行和使用。
7.Options ,在這里可以進行一下常規性的設置。
8.Windows,
9.Help,使用IDA的一些幫助文檔,檢查更新等等。
使用IDA的一個大體步驟:
1.裝入文件或程序
2.指令斷點
3.程序運行
4.分析堆棧
5.添加監視
6.進行地址分析
7.單步跟蹤
8.找到bug
9.使用硬件斷點進行bug確認
本期就介紹到這里了,IDA有很多高級功能,會在之后的實戰文章中進行講解。
下一期我們將講解《逆向動態調試之Ollydbg的使用》。
學完匯編,IDA,Ollydug我們就可以進行簡單的逆向分析了。