IDAPro是逆向工程軟件提供商Hex-Rays的旗艦產品。作為一個交互式可編程反匯編程序和調試器,IDAPro在不同平臺上提供了優異的質量性能,并與許多處理器兼容。IDAPro已成為惡意代碼分析、漏洞研究和商業現成驗證的事實標準。
IDAPro提供不同類型的許可證:命名許可證、計算機許可證、浮動許可證和教育許可證,以滿足不同業務的規模和使用需求。
主要功能
用于大量處理器的反匯編模塊。SDK甚至允許您運行自定義反匯編程序;
完整和可擴展的交互;
可編程:IDA可以使用IDC或IDAPython根據用戶自己的需求進行擴展;
開放式插件架構:外部插件可以擴展IDA的功能;
檢索技術(快速圖書館識別技術)
代碼繪圖;
Lumina服務器擁有大量已知功能的元數據;
多目標調試器
調試器添加了對反匯編程序靜態收集的信息的動態分析;
提供調試器的所有預期功能以及更多:“遠程”功能和跟蹤。遠程調試器:適用于Windows、Linux、MacOS X和其他任何組合的機器;
隨著新的IDA版本的發布,我們引入了更多的功能和升級!
像往常一樣,IDA在許多方面都有所改進,但這一次最重要的特點是引入了全新的IDATeams,這也是主要版本升級的理由。
IDATeams發布了
我們一直在努力完成我們的新產品的收尾工作:一套集成的工具,以實現[逆向]工程師團隊之間的無縫協作。
受現有最佳版本控制工具的啟發,IDATeams將其關鍵概念引入IDA數據庫和工作流:
修訂控制
更改屬性
擴散和合并
我們感到非常驕傲和興奮通過IDATeams所能完成的,希望您能欣賞它的潛力。但我們不會就此止步:我們對下一個版本已經有了很好的想法!
iOS16 dyld共享緩存支持
再一次,Apple修改了其移動操作系統上系統文件的內部格式,以提高性能和內存使用率,因此我們更新了IDA以支持新的調整。
功能概述
Apple在最近的iOS版本上使用的另一個新技巧是概述功能。這是一種代碼大小優化,編譯器將多個函數中使用的公共指令序列提取到一個新的偽函數中,然后從多個位置“調用”。
這種行為往往會使反編譯的偽代碼變得丑陋,尤其是當概述的函數使用來自父函數的任意寄存器或堆棧變量時。現在,您可以用一個特殊屬性標記這些函數,反編譯的代碼看起來會更好。
例如,下面是一個經過優化編譯的文件片段:
在初始偽代碼中,我們可以看到對編譯器生成的函數NN片段的顯式調用,以及一些用橙色標記的變量,因為反編譯器認為它們被調用破壞(這是對常規函數的調用)。
在用“outline”屬性標記這些偽函數并刷新偽代碼后,反編譯程序將所有內容都排成一行,不再有橙色變量:
Golang1.18
新版本的語言改變了元數據的布局。新的IDA版本可以解析它并很好地恢復函數名。
例如,在IDA7.7中有一個剝離的golang1.18二進制:
和IDA8.0中相同的二進制文件:
?
ARC反編譯程序
ARC處理器用于許多嵌入式設備,如SSD驅動器或Wi-Fi芯片組。直到幾年前,它還是臭名昭著的英特爾ME的核心。新的反編譯器支持IDA當前支持的所有ARC指令集變體:經典32位ISA、32/16位ARCompact和新的ARCv2。即時支持延遲槽、條件指令和零開銷循環。
不再使用Python2
Python2.7支持已經結束兩年多了,是時候放手了。IDA8.0將只支持Python3.x,包括最新的3.10(Windowsinstaller包括Python3.10.5)。
由于functionfinder插件(patfind),固件分析效果更好
固件二進制文件通常沒有任何符號或其他元數據來幫助IDA在未標記的加載數據中查找代碼,因此用戶必須手動執行。在新版本中,我們添加了一個插件,該插件利用了Ghidra中使用的模式格式(具有較小的擴展)。默認情況下,該插件對二進制和類似二進制的格式啟用,并幫助IDA自動發現更多代碼。也可以手動調用普通結構化文件,以查找其他未引用的代碼。
初始自動分析后發現的函數數與默認設置的比較:
文件類型 | IDA7.7 | IDA8.0 |
CortexM0固件(8KB) | 0 | 59 |
ARM9固件(23KB) | 0 | 97 |
ARM11固件(300KB) | 84 | 1697 |
PowerPC固件(2MB) | 0 | 2223 |
FLAIR圖案生成器(makepat)
FLAIR工具包可供所有IDAPro客戶使用,允許從靜態庫中創建調情簽名。然而,這樣的庫并不總是可用的,有時您所擁有的只是最終鏈接的二進制文件。makepat插件支持為任意IDA數據庫中的函數創建.pat文件。它使用為Lumina添加的功能來標記圖案中的可變字節。然后可以使用sigmake將.pat編譯為簽名文件,并應用于其他文件
什么是IDATeams?
IDATeams是將IDA進化為一種新模型,讓分析師團隊能夠使用強大的客戶機-服務器架構范式協同工作:
我們將位于中心的服務器稱為Vault服務器,它是存儲區域,用于保存所有文件并跟蹤修改。該服務器是跨項目共享進度的中心點。
每次參與者通過服務器將其更改發布到團隊的其他成員時,更改都會被記住。這樣,就可以讓團隊成員在同一個項目上協同工作,而不會有數據丟失、多個相互競爭的“不同步”版本等風險。。。
除了新的Vault服務器外,我們還改進了IDA,使其可以作為一種工具,在同一個.idb文件的不同細化(即“修訂”)之間進行比較。有了這個新功能,任何人都可以看到每個版本都引入了哪些更改:
它是如何工作的?
IDA的一般工作流程保持不變:用戶可以像以前一樣在IDA中工作(在線或離線)。
但多虧了IDATeams的架構,他們現在有了更好的工具來向團隊的其他成員發布他們的發現(以及檢索其他成員所做的更改并從中受益)
IDATeams是HexRays對逆向工程團隊中日益增長的協作需求的回應。以下是幾個關鍵好處:
無縫集成
IDATeams是對IDAPro的改進版本,只為其添加了功能。在大多數情況下,現有工作流將保持不變。
輕松協作
對IDA的改進,以及一套新的工具,是處理大型項目的無價補充。
并行化逆向工程
IDATeams允許您跨多個用戶無縫地共享逆向工程任務(可能同時工作)。
跟蹤變化
討論、回顧甚至糾正以前的更改。Vault服務器保留了一個記錄誰做了什么(以及什么時候做的)的賬本,為有時會令人困惑的上下文提供了一些線索。
現場
組織通過托管IDA團隊來保留其所有IP。此外,它將與現有IT基礎架構(和備份策略)無縫集成。Vault服務器可以托管在任何Linux服務器上,為您提供了廣泛的選擇,以保持數據的私密性和可靠的可訪問性。
在線或離線
IDA團隊服務器托管在本地,并不意味著用戶必須親自參與工作:完全可以在不在家的情況下,在沒有互聯網連接的情況下(例如,在飛機上)完成所有工作,并在訪問服務器后立即使其可用。
輕松解決沖突
當兩個(或更多)分析師修改項目的同一部分時,可能會出現沖突。在這里,您也介紹了IDATeams:新特性帶來了一組解決這些問題的策略。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19893瀏覽量
235171 -
可編程
+關注
關注
2文章
1057瀏覽量
40630 -
調試器
+關注
關注
1文章
313瀏覽量
24318
原文標題:IDA 8.0---先進的二進制代碼分析工具
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
直流負載箱的主要功能有哪些?
繼電器的主要功能與應用
變頻電源的主要功能及特點
畫面分割器的主要功能
負載管理器的主要功能
數字化智能工廠的主要功能組成

自動調壓器的主要功能有哪些
電機控制器主要功能有哪些?其組成有哪些?
漏洞掃描的主要功能是什么
直流負載箱的主要功能有哪些?
電子地圖的主要功能與應用

評論