本頁面所介紹的工具皆為開源項目,僅供參考之用。作者不保證其正確性與完整性 ,使用前請務必詳閱各工具之官方說明,並由使用者自行評估相關風險與承擔責任。
注意事項:
Ghidra 是一款由美國國家安全局(NSA)開發的免費、開源的逆向工程工具,自 2019 年 3 月公開後迅速受到資安研究人員與惡意程式分析師的廣泛關注。 它的核心功能包括反組譯與分析各類型的二進位檔案,支援多種處理器架構,如 x86、ARM、MIPS,以及多種可執行檔格式,包括 PE、ELF 與 Mach-O。
Ghidra 擁有直觀的使用者介面與強大的視覺化分析工具,幫助使用者理解程式碼結構與行為。同時支援腳本編寫,讓使用者能自動化分析流程或延伸其功能。Ghidra 亦具備強大的 API,可用於開發自訂插件與功能擴充模組。
最大的優勢之一是其開放原始碼特性,使全球使用者可自由使用、修改與貢獻,進而促成活躍的開發社群。整體而言,Ghidra 是一款功能全面、用途廣泛的反向工程平台,對網路安全專業人士、惡意程式分析師及軟體工程師而言,是一項不可或缺的利器。
Ghidra GitHub 連結 :https://github.com/NationalSecurityAgency/ghidra/releasesBinDiff 是一款專門用來比較二進位檔案差異的分析工具,對漏洞研究人員與逆向工程師來說非常實用。它可以分析兩個可執行檔案(例如不同版本的程式),找出它們之間在程式碼層級的差異。
BinDiff 最初由 Zynamics 開發,後來由 Google 收購,目前已開源。它被視為二進位差異分析的業界標準工具。BinDiff 採用圖論為基礎的比對方法,先將二進位檔反組譯後建立函式呼叫圖,接著透過演算法比對兩個檔案中的函式,考慮函式大小、指令結構與呼叫關係等特徵。
在完成比對後,BinDiff 會高亮顯示已新增、刪除或變更的函式與指令,幫助使用者迅速掌握版本間的修改內容,這對於追蹤漏洞修補、挖掘零時差漏洞(0-day)、惡意軟體變種分析等工作極為關鍵。
BinDiff 通常與 Ghidra 或 IDA Pro 等反組譯工具搭配使用,使使用者能以視覺化方式比較與分析兩份反組譯碼,加速逆向工程流程並提升分析準確性。
特別是在缺乏符號表的情況下,BinDiff 仍能透過比較未知程式與已知程式之間的結構相似性,有效協助分析人員推測程式可能使用的系統元件或第三方函式庫。
BinDiff GitHub 連結:https://github.com/google/bindiff/releases binexport GitHub 連結:https://github.com/google/binexport/releases Ghidra → BinDiff 插件 GitHub 倉庫 :https://github.com/ubfx/BinDiffHelperSVD(System View Description)是一種基於 XML 的標準格式,用於描述微控制器的寄存器與周邊設備。SVD 檔案通常由晶片製造商提供,內容涵蓋微控制器所搭載的所有外設、寄存器、位元欄位(Bit Fields)等資訊,並常用於自動化生成驅動程式。
SVD-Loader 是由 Leveldown Security 開發的 Ghidra 插件,專為分析裸機(bare-metal)ARM 韌體而設計。它可自動根據 SVD 檔案建立記憶體區段與標記周邊設備,大幅簡化逆向工程作業。以下為其主要功能說明:
此插件對於從事嵌入式逆向工程與韌體分析的研究人員而言,是提升效率的重要輔助工具,尤其在分析無符號表的裸機韌體時,能大幅改善對系統行為的理解。
SVD-Loader-Ghidra GitHub 倉庫 :https://github.com/leveldown-security/SVD-Loader-GhidraASM2HEX 是一款開源的圖形化工具,可在 彙編語言 與 十六進位機器碼 之間進行雙向轉換。 此工具由 suifei 開發,使用 Go 語言與 Fyne 圖形界面框架構建,支援 Windows、macOS 及 Linux 平台。