NationalSecurityAgency/ghidra
摘要
Ghidra 是一款由 NSA 开发的开源软件逆向工程框架,提供跨多平台的反汇编、反编译和代码分析工具。
查看缓存全文
缓存时间: 2026/08/28 15:18
国家安全局/Ghidra
来源:https://github.com/NationalSecurityAgency/ghidra
Ghidra软件逆向工程框架
Ghidra是由美国国家安全局(NSA)研究理事会创建并维护的软件逆向工程(SRE)框架。该框架包含一套功能全面、高端的软件分析工具,使用户能够分析多种平台(包括Windows、macOS和Linux)上的编译代码。其功能包括反汇编、汇编、反编译、可视化绘图及脚本编写,并具备数百项其他特性。Ghidra支持广泛的处理器指令集与可执行文件格式,可运行在用户交互与自动化两种模式下。用户还可使用Java或Python开发自己的Ghidra扩展组件和/或脚本。
为支持NSA的网络安全使命,Ghidra的构建旨在解决复杂SRE项目中的扩展与协作问题,并提供一个可定制、可扩展的SRE研究平台。NSA已将Ghidra的逆向工程能力应用于多种场景,包括分析恶意代码,并为希望深入理解网络与系统潜在漏洞的SRE分析师提供深度洞察。
若您是有志于此类项目、希望为NSA开发Ghidra及其他网络安全工具以保卫国家及盟友的美国公民,请考虑申请加入我们的团队。
安全警告
警告: 已知特定版本的Ghidra存在安全漏洞。操作前请务必阅读Ghidra的安全公告,以充分了解可能受到的影响。
安装
安装官方预构建的多平台Ghidra版本:
- 安装JDK 21 64位版本
- 下载Ghidra发行文件
- 注意: 官方多平台发行文件名为
ghidra___.zip,可在“Assets“下拉菜单中找到。请勿下载名为“Source Code“的文件。
- 注意: 官方多平台发行文件名为
- 解压Ghidra发行文件
- 注意: 请勿在现有安装目录上直接解压
- 启动Ghidra:
./ghidraRun(Windows系统使用ghidraRun.bat)或启动PyGhidra:./support/pyghidraRun(Windows系统使用support\pyghidraRun.bat)
关于安装和运行Ghidra发行版的更多信息与故障排除技巧,请参考Ghidra安装目录根目录中的入门指南文档。
构建
安装构建工具:
- JDK 25 64位版本
- Gradle 9.1.0+(若连接互联网,可使用内置Gradle包装器)
- Python3(版本3.9至3.14,需包含pip)
- GCC或Clang及make(仅限Linux/macOS)
- Microsoft Visual Studio 2017+或包含以下组件的Microsoft C++构建工具(仅限Windows):
- MSVC
- Windows SDK
- C++ ATL
下载并解压源代码:
unzip ghidra-master
cd ghidra-master
注意: 您也可以选择克隆GitHub仓库代替下载压缩文件:git clone https://github.com/NationalSecurityAgency/ghidra.git
将额外构建依赖项下载到源代码仓库:
注意: 若连接互联网且未安装Gradle,可在后续指令中使用 ./gradlew(Windows系统为 gradlew.bat)替代 gradle 命令。
gradle -I gradle/support/fetchDependencies.gradle
创建开发版本:
gradle buildGhidra
压缩后的开发版本将位于 build/dist/ 目录。
更详细的Ghidra构建信息,请阅读开发者指南。若遇到构建问题,请查阅已知问题章节寻找解决方案。
开发
用户脚本与扩展
Ghidra安装版本支持用户通过Eclipse的GhidraDev插件编写自定义脚本与扩展。该插件及相关说明可在Ghidra发行版的 Extensions/Eclipse/GhidraDev/ 目录中找到,或参见此链接。
您也可以使用Visual Studio Code编辑脚本:点击脚本管理器中的Visual Studio Code图标即可。在Ghidra代码浏览器窗口中,通过 工具 -> 创建VSCode模块项目 可创建功能完整的Visual Studio Code项目。
注意: Eclipse的GhidraDev插件与Visual Studio Code集成仅支持针对完全构建的Ghidra安装版本进行开发(可从发行版页面下载)。
高级开发
若需开发Ghidra工具本身,强烈建议使用Eclipse——Ghidra的开发流程已针对其进行了高度定制。
安装构建与开发工具:
- 按照上述构建说明确保构建无错误完成
- 安装Eclipse Java开发者版
准备开发环境:
gradle prepdev eclipse buildNatives
将Ghidra项目导入Eclipse:
- 文件 -> 导入…
- 常规 | 现有项目到工作空间
- 选择您下载或克隆的ghidra源代码仓库根目录
- 勾选 搜索嵌套项目
- 点击 完成
当Eclipse完成项目构建后,即可使用提供的 Ghidra Eclipse运行配置启动并调试Ghidra。
更详细的Ghidra开发信息,请阅读开发者指南。
贡献
若您希望为Ghidra贡献错误修复、功能改进及新特性,请查阅我们的贡献者指南,了解如何参与这个开源项目。
相似文章
@0x0SojalSec: AI Ghidra 和 Radare2:AI 驱动的逆向工程。能够反汇编、反编译、使用 YARA 扫描等的 AI 代理,以及…
Reversecore MCP 是一款企业级的 AI 驱动的逆向工程与安全分析工具,通过模型上下文协议(MCP)与 AI 助手集成,提供超过 50 种工具,用于静态/动态分析、恶意软件分析、漏洞研究等。
NVIDIA/SkillSpector
NVIDIA的SkillSpector是一款针对AI代理技能的安全扫描器,可在安装前检测漏洞、恶意模式和安全风险。
@GitHub_Daily: 当面对 APK 逆向该用 jadx 还是 apktool?二进制分析该上 IDA 还是 Ghidra? 这些是逆向开发工程师,在面对不同目标时,需做出选择的分析工具,选错就白费功夫。 reverse-skill 把这些选择交给了 AI A…
reverse-skill 是一个面向 AI Agent 的网络安全技能路由包,能根据目标自动选择逆向分析工具链(如 jadx、apktool、IDA、Ghidra),覆盖 APK 逆向、二进制分析、前端加密破解、恶意软件、渗透测试、CTF 等多个场景,已获 16000+ Star。
@MAXdeg0: 这极度危险 发现了一个无需人类输入的AI红队 PentAGI。扫描器 —> 利用器 —> 报告器 —>…
一个名为PentAGI的自主AI红队系统使用三个代理来扫描、利用和报告漏洞,使严肃的安全测试更加易用,同时强调仅限授权使用。
deepsec
Deepsec 是一个开源的代码安全工具集,旨在帮助开发者识别并修复代码中的安全漏洞。