
在 RSA 大會期間,美國國家安全局宣布開放「Ghidra」逆向工程工具包的存取權限,該工具包包含一個互動式反彙編器,支援反編譯 C 程式碼,並提供強大的可執行檔分析工具。
該專案已開發近 20 年,並被美國情報機構積極用於識別標記、分析惡意程式碼、研究各種可執行檔和分析編譯程式碼。
從功能上看,該產品與專有的 IDA Pro 軟體包的擴展版本相當,但它是專門為程式碼分析而設計的,不包含偵錯器。
另一方面,Ghidra 支援反編譯成類似 C 的偽代碼(在 IDA 中,此功能透過第三方外掛程式提供),以及更強大的可執行檔聯合分析工具。
Característicasprincipales
在Ghidra逆向工程工具包中,我們可以找到以下內容:
- 支持各種處理器指令和可執行文件格式。
- 針對Linux,Windows和macOS的可執行文件支持分析。
- 它包括反彙編程序,彙編程序,反編譯程序,程序執行圖生成器,用於執行腳本的模塊和大量輔助工具。
- 能夠在互動和自動模式下執行。
- 插件支持與新組件的實現。
- 通過使用Java和Python語言連接腳本來支持自動化操作並擴展現有功能。
- 研究團隊團隊合作的資金可用性以及在大型項目的逆向工程期間的工作協調。
有趣的是,在 Ghidra 發布幾個小時後,該軟體包發現調試模式(預設已停用)的實作存在漏洞,該模式會開啟網路連接埠 18001,以便使用 JDWP(Java 偵錯線路協定)進行遠端應用程式偵錯。
預設情況下,網路連線是透過所有可用的網路介面建立的,而不是透過 127.0.0.1 建立的,這樣就可以從其他系統連接到 Ghidra,並在應用程式上下文中執行任何程式碼。
例如,您可以連接到調試器並通過設置斷點來中止執行,並使用“ print new”命令將代碼替換為進一步執行,例如»
打印新的java.lang.Runtime()。exec('/ bin / mkdir / tmp / dir')»。
此外,還可以觀察到開源互動式反彙編器 REDasm 2.0 的幾乎完全修訂版的發布。
該程序具有可擴展的體系結構,可讓您以模塊形式連接驅動程序以獲取更多指令集和文件格式。 項目代碼用C ++(基於Qt的接口)編寫,並在GPLv3許可下分發。 Windows和Linux上支持的工作。
此基本軟體包相容於 PE、ELF、DEX(Android Dalvik)、Sony Playstation、Xbox、GameBoy 和 Nintendo64 韌體格式。支援的指令集包括 x86、x86_64、MIPS、ARMv7、Dalvik 和 CHIP-8。
其功能包括:支援互動式 IDA 風格的視覺化、多執行緒應用程式分析、建立視覺化進度圖、數位簽章處理引擎(可處理 SDB 檔案)以及專案管理工具。
如何安裝Ghidra?
有興趣安裝這款名為「Ghidra」的逆向工程工具包的用戶,應該知道他們至少需要具備以下條件:
- 4 GB RAM
- 1 GB用於套件存儲
- 已安裝Java 11 Runtime and Development Kit(JDK)。
要下載 Ghidra,您需要訪問其官方網站,即可在那裡下載。連結在此。
完成上述步驟後,您只需解壓縮下載的軟體包,然後在目錄中找到名為「ghidraRun」的文件,該文件將運行該工具包。
如果您想了解更多信息,可以訪問以下連結。