IDA Pro 是逆向工程軟件提供商 Hex-Rays 的旗艦産品。 作爲一個交互式和可編程的反彙編器和調試器,IDA Pro 在不同的平台上提供瞭(le)卓越的質量性能,並(bìng)且與許多處理器兼容。 IDA Pro 已成爲惡意代碼分析、漏洞研究和商業現成驗證的事實标準。
IDA Pro 提供不同類型的許可證:命名許可證、計算機許可證、浮動(dòng)許可證和教育許可證,以滿足不同的業務規(guī)模和使用需求。
反彙編(biān)器 調(diào)試器 交互式 可編(biān)程
主要功能
多處理器反彙編程序
多目标調試器
随著(zhe)新 IDA 版本的發布,引入瞭(le)更多功能和升級
IDA 8.0 亮點
像往常一樣,IDA 在許多方面都得到瞭(le)改進,但這次最重要的特性——也是主要版本升級的理由——是引入瞭(le)全新的 IDA 團隊(duì)。
IDA 團隊出動瞭!
我們一直在努力爲我們的新産(chǎn)品做最後的潤色:一套集成的工具,可在 [逆向] 工程師團隊(duì)之間實現無縫協作。
受到最好的修訂(dìng)控制工具的啓發(fā),IDA Teams 将他們的關鍵概念引入 IDA 數據庫和工作流程:
我們對 IDA 團隊能夠取得的成就感到非常自豪和興奮,並(bìng)希望您能夠欣賞它的潛力。 但我們不會止步於此:我們已經對下一個版本有瞭(le)很好的想法!
iOS 16 dyld 共享緩存支持
Apple 再次修改瞭(le)其移動操作系統上系統文件的内部格式,以提高性能和内存使用率,因此我們更新瞭(le) IDA 以支持新的調(diào)整。
概述函數
蘋果在最近的iOS版本上使用的另一個新技巧是概述函數。 這是一個代碼大小優化,編(biān)譯器将多個函數中使用的公共指令序列提取到一個新的僞函數中,然後從(cóng)多個地方調用該函數。
這種行爲往往會使反編(biān)譯的僞代碼變(biàn)得難看,尤其是當所列出的函數使用父函數中的任意寄存器或堆棧變(biàn)量時。 現在你可以用一個特殊的屬性來标記這樣的函數,反編(biān)譯後的代碼看起來會更漂亮。
例如,下面是一個(gè)經過優化編(biān)譯的文件片段:
在初始僞代碼中,我們可以看到對編(biān)譯器生成的 _OUTLINED_FUNCTION_NN 片段的顯式調用,以及一些标記爲橙色的變量,因爲反編(biān)譯器認爲它們被調用破壞瞭(le)(調用常規函數就是這種情況)。
在用“outline”屬性标記這些僞函數並(bìng)刷新僞代碼後,反編(biān)譯器将所有内容都内聯,並(bìng)且不再有橙色變量:
Golang 1.18
該語言的新版本對元數據的布局進行瞭(le)更改。 新的 IDA 版本可以解析它並(bìng)很好地恢複函數名稱。
例如,這是 IDA 7.7 中剝(bō)離的 golang 1.18 二進(jìn)制文件:
IDA 8.0 中的相同二進(jìn)制文件:
ARC反編譯器
ARC 處理器用於(yú)許多嵌入式設備(bèi),例如 SSD 驅動器或 Wi-Fi 芯片組。 直到幾年前,它還是臭名昭著的 Intel ME 中使用的核心。 新的反編譯器支持 IDA 當前支持的所有 ARC 指令集變體:經典的 32 位 ISA、32/16 位 ARCompact 和新的 ARCv2。 開箱即用支持延遲槽、條件指令和零開銷循環。
不再有 Python 2
Python 2.7 支持結束已經(jīng)兩年多瞭(le),是時候放手瞭(le)。 IDA 8.0 将僅支持 Python 3.x,包括最新的 3.10(Windows 安裝程序包括 Python 3.10.5)。
借助函數查找器插件 (patfind),可以更好地進行固件分析
固件二進制文件通常沒有任何符号或其他元數據可以幫助 IDA 在未标記的加載數據中查找代碼,因此用戶必須手動完成。 在新版本中,我們添加瞭(le)一個使用 Ghidra 中使用的模式格式的插件(帶有少量擴展)。 該插件默認啓用二進制和類二進制格式,並(bìng)幫助 IDA 自動發現更多代碼。 也可以爲普通結構化文件手動調用它以查找其他未引用的代碼。
初始自動(dòng)分析後發(fā)現的函數數量與默認設置的比較:
FLAIR 模式生成器 (makepat)
FLAIR 工具包可供所有 IDA Pro 客戶使用,允許從(cóng)靜态庫創(chuàng)建 FLIRT 簽名。
然而,這樣的庫並(bìng)不總是可用的——有時你所擁有的隻是最終鏈接的二進制文件。 makepat 插件支持爲任意 IDA 數據庫中的函數創建 .pat 文件。 它使用爲 Lumina 添加的功能來标記模式中的可變字節。 然後可以使用 sigmake 将 .pat 編譯爲簽名文件並(bìng)應用於(yú)其他文件