📌 项目地址:NationalSecurityAgency/ghidra | ⭐ 73,248 颗星 | 🔧 Java | 📜 未标注
📌 项目地址:NationalSecurityAgency/ghidra | ⭐ 73,248 | 🔧 Java
先说清楚它是什么
Ghidra 是美国国家安全局(NSA)研究理事会开发并维护的软件逆向工程(SRE)框架,2019 年开源。README 里写明了它诞生的目的:解决复杂 SRE 项目中的扩展性和团队协作问题——多人可以同时分析同一个二进制并共享结果。NSA 自己用它分析恶意代码,帮研究员搞清楚网络和系统里潜在漏洞的情况。
功能上,它覆盖反汇编、汇编、反编译、图分析、脚本自动化,README 原话是“数百项其他功能”。支持多种处理器指令集和可执行文件格式,Windows、macOS、Linux 都能跑,既能交互式使用也能全自动批量分析。扩展开发支持 Java 和 Python。
对预算有限的逆向工作者,最有用的一点是:它自带反编译器,免费。IDA Pro 的反编译器授权要花不少钱,Ghidra 是目前最可行的免费替代。
安装:四步,但有两个坑
官方预构建版本安装流程:
- 装 JDK 21 64 位
- 从 Releases 页面下载发布文件
- 解压
- 启动
两个坑都写在 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 位(注意,构建版本比运行版本要求的 JDK 更新,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 文件为准。