📌 项目地址:NationalSecurityAgency/ghidra | ⭐ 73,248 颗星 | 🔧 Java | 📜 未标注

先说清楚它是什么

Ghidra 是 NSA 研究理事会开发并维护的软件逆向工程(SRE)框架,2019 年开源。README 写明了它的来历:NSA 为解决复杂 SRE 项目里的规模化和团队协作问题而造——多人可以同时分析同一个二进制并共享结果。NSA 自己用它分析恶意代码,给研究员提供对网络和系统中潜在漏洞的深入理解。

功能覆盖反汇编、汇编、反编译、图分析、脚本自动化,README 原话是“数百项其他功能”。支持多种处理器指令集和可执行文件格式,Windows、macOS、Linux 都能跑,交互式和全自动批量两种模式都支持。扩展和脚本可以用 Java 或 Python 写。

对预算有限的逆向工作者,最实际的一点:它自带反编译器,免费。IDA Pro 的反编译器授权价格不低,Ghidra 是目前最可行的免费替代。

安装:四步,两个坑

官方预构建版本流程:

  1. 装 JDK 21 64 位
  2. 从 Releases 页面下载发布文件
  3. 解压
  4. 启动

两个坑 README 里都写了,但照样很多人踩:

坑一:要下载的是 Assets 下拉菜单里的 ghidra_*.zip。那两个叫 “Source Code” 的文件不是给这一步用的——源码包不能直接跑。

坑二:解压时不要覆盖到已有安装目录之上。别图省事解压进旧版本,先删旧的或换个目录。

启动命令:

./ghidraRun          # macOS / Linux
ghidraRun.bat        # Windows

想走 Python 生态,PyGhidra 有单独的启动脚本:

./support/pyghidraRun             # macOS / Linux
supportpyghidraRun.bat           # Windows

装不上或跑不通,先看安装目录根部的 Getting Started 文档,里面有安装说明和故障排查。

从源码构建开发版

要求比装预构建版高一截:

  • JDK 25 64 位(注意:构建要求 25,运行预构建版只要 21,别搞混)
  • Gradle 9.1.0+,有网络的话直接用仓库自带的 Gradle wrapper
  • Python 3,版本 3.9 到 3.14,带 pip
  • Linux/macOS 上要 GCC 或 Clang,加 make
  • Windows 上要 Visual Studio 2017+ 或 Microsoft C++ Build Tools

安全警告,别跳过

README 用加粗字提醒:Ghidra 某些版本存在已知安全漏洞。这不是小事——你逆向的对象经常是恶意样本,分析工具本身有洞,等于把攻击面开在自己机器上。

用之前读一遍官方 Security Advisories,确认你的版本不在受影响列表里。保持更新。

另外一条习惯和工具无关但必须养成:处理恶意样本,在隔离的虚拟机里做。

和同类工具怎么选

对比 IDA Pro:Ghidra 免费开源,支持多人协作分析,可深度定制。IDA 在反编译质量和部分架构支持上仍有优势。不少人的实际做法是两个都装,交叉验证。

对比 radare2/Cutter:radare2 轻量、命令行优先,适合快速看一眼。Ghidra 是重型 GUI 工作台,反编译开箱即用,适合长时间的深度分析。

它来自 NSA:代码经过情报机构内部实战检验,这是加分项。要不要在 NSA 出品的工具上分析敏感样本,你自己权衡。

适合谁用

分析恶意样本的安全研究员、审计闭源依赖或固件的漏洞挖掘者、CTF 逆向选手、需要免费反编译环境的教学场景。学习曲线比商业工具陡一点,但文档和社区资料已经比较全。

许可证是 Apache 2.0,商用和二次开发都没问题,细节以仓库 LICENSE 文件为准。

这篇文章对你有帮助吗?

发表回复