01 IDA Pro權威指南讀書筆記

2021-10-08 14:13:16 字數 1717 閱讀 6008

使用反彙編工具是為了在沒有源**的情況下進行促進隊程式的理解。需要進行反彙編的常見情況下包括一下集中情況。

分析惡意軟體:

通常情況下,遇到惡意軟體時,並不能獲取其源**,除非時基於指令碼的惡意**(即使是基於指令碼的惡意**通常情況下也會被混淆),在缺乏源**的情況下,要了解惡意**的執行機制,通常使用動態分析和靜態分析兩種方法。動態分析是指在嚴格的沙河環境中,並使用胸痛檢測使用工具記錄行為的方法,也可以通過在沙箱中使用偵錯程式進行動態除錯。靜態分析是通過程式進行反彙編後,閱讀反彙編後的**來理解程式的行為。

分析閉源軟體的漏洞:

漏洞分析的目的通常是漏洞利用,一般分為三個階段,漏洞發現,漏洞分析,漏洞利用:

無論是否有源**都可以完成這三個階段,漏洞發現一般使用模糊測試,或者使用靜態分析(需要比較大的代價),發現漏洞後對漏洞進行詳細分析,復現(此過程還是需要靜態分析,結合動態除錯),此階段還要完成poc編寫,最後編寫漏洞利用程式exploit。

分析閉源軟體的互操作性:

程式破解,軟體競品分析,編寫外掛程式,輔助工具開發等。

反彙編的目標:確定程式中的資料和**,將**進行反彙編轉變成組合語言顯示給使用者。

演算法流程:

確定反彙編的**區域:

通常格式,windows的可以執行檔案格式pe,unix的可執行檔案格式elf,需要對檔案格式進行解析,找到檔案的**入口處。

從**入口處進行反彙編的指令查詢,指令和二進位制的對應關係從intel手冊可以找到。

獲取指令並解碼任何所需要的運算元後,對組合語言進行格式化,選擇那種組合語言輸出,如x86組合語言使用的兩種注意格式是intel格式和at&t格式。

輸出一條指令後進行下一條指令,如此反覆重複直到檔案中需要反彙編的指令全部完成。

x86彙編語法主要有兩種:at&t和intel

兩種語法在變數,常量,暫存器,端與指令大小重寫,間接定址和便宜等方面都存在較大差異。

使用inter語法的彙編器包括微軟彙編器masm, borland的彙編器tasm和netwide彙編器nasm。

反彙編的兩種演算法:線性掃瞄和遞迴下降

線性掃瞄:從識別到的**第乙個位元組開始,逐步翻譯直到**結束,無法判斷**中插入的資料,資料會被當成**被反彙編,線性掃瞄反彙編速度快,對於固定長度指令集更是如此。微軟的windbg偵錯程式和gnu偵錯程式gdb,objdump實用反彙編引擎均使用線性掃瞄演算法

遞迴下降:遞迴下降與線性掃瞄不同在於處理條件分支跳轉和函式的過程中,會先對條件不滿足的順序執行和函式返回位址進行線性掃瞄反彙編,將滿足條件的跳轉和函式呼叫目標位址加到稍後測i進行反彙編的位址列表中。如果在跳轉時乙個動態的變數,暫存器值,那麼靜態分析無法確定要跳轉的位址。也就無法確定該從什麼地方進行反彙編。遞迴下降演算法的乙個主要優點在於,它具有區分**與資料的強大能力。作為一種基於控制流的演算法,它很少會在反彙編過程中錯誤地將資料值作為**處理。遞迴下降演算法的主要缺點在於,它無法處理間接**路徑,如利用指標表來查詢目標位址的跳轉或呼叫。然而,通過採用一些用於識別指向**的指標的啟發(heuristics )式方法,遞迴下降反彙編器能夠提供所有**,並清楚地區分**與資料。

ida pro是一種典型的採用了遞迴下降演算法的反彙編器。了解遞迴下降過程有助於我們識別 ida 無法進行最佳反彙編的情形,以及制定策略來改進 ida 的輸出結果。

IDA Pro權威指南 視窗

列舉名稱。f 常規函式,ida認為不屬於庫函式 l 庫函式 i 匯入的共享庫的函式的名稱 g 命名 d 資料 a 字串資料 顯示程式中的字串。可以自行設定顯示什麼。列出檔案入口點。列出二進位制檔案匯入的所有函式。顯示ida認為的檔案所使用的結構體。顯示段的相關屬性。段視窗與objdump h rea...

IDA Pro權威指南 IDA入門

選擇載入器,一般預設就可。載入檔案時,有4個資料可檔案。id0二叉樹形式資料庫。id1檔案包含描述每個程式位元組的標記。nam 與name視窗有關的索引。til 儲存與乙個給定資料庫的本地型別定義有關的資訊。關閉檔案時,don t pack 不建立idb pack database store 建立...

彙編1 IDApro權威指南

2.反彙編演算法 線性掃瞄 linear sweep 遞迴下降 recursive descent 工具 file 通過特定欄位來確定檔案型別 pe tools windows平台 peid nm 檢查中間目標檔案中的宣告函式和全域性變數名稱 ldd 建立可執行程式時,必須解析該檔案引用的任何庫函式...