Ghidra
一句话简介
由美国国家安全局开发的开源软件逆向工程框架,支持反汇编、反编译、脚本扩展等功能,适用于多平台二进制分析研究。
标签
适用应用场景
- 恶意软件分析
- 漏洞挖掘
- 固件安全审计
- CTF竞赛逆向分析
README 中文摘要
Ghidra 软件逆向工程框架
Ghidra 是由美国国家安全局(NSA)研究部门创建并维护的软件逆向工程(SRE)框架。该框架包含一套功能完善的高端软件分析工具,支持在 Windows、macOS 和 Linux 等多种平台上分析编译后的代码。核心能力包括反汇编、汇编、反编译、控制流图以及脚本编写,并提供数百项其他功能。Ghidra 支持多种处理器指令集与可执行文件格式,可运行在交互模式或自动化模式下。用户还可以使用 Java 或 Python 开发自定义扩展模块或脚本。
Ghidra 的设计初衷是解决复杂 SRE 任务中的规模化与团队协作问题,并提供一个可定制、可扩展的 SRE 研究平台。NSA 已将 Ghidra 应用于分析恶意代码、为分析师深入洞察网络与系统中潜在漏洞等多种网络安全场景。
安全提醒
警告: 某些版本的 Ghidra 存在已知安全漏洞。在使用前,请查阅 Ghidra 的安全公告页面,了解可能受到的影响。
安装预构建版本
安装官方多平台 Ghidra 版本的步骤:
- 安装 64 位 JDK 25
- 从 Releases 页面下载 Ghidra 发布文件(注意选择
ghidra_<version>_<release>_<date>.zip,不要下载源代码压缩包) - 解压到独立目录(不要覆盖已有安装)
- 启动 Ghidra:
- Linux/macOS:
./ghidraRun- Windows:ghidraRun.bat - 或启动 PyGhidra:
./support/pyghidraRun(Windows:support\pyghidraRun.bat)
更多安装与运行问题,请参考安装根目录下的《入门文档》。
从源码构建
构建工具要求
- 64 位 JDK 25
- Gradle 9.1.0 及以上(或使用随附的 Gradle 包装器,前提是有网络连接)
- Python 3(3.9 至 3.15 版本,含 pip)
- Linux/macOS 需要 GCC 或 Clang 以及 make
- Windows 需要 Visual Studio 2017 及以上或 MS C++ 生成工具,并安装 MSVC、Windows SDK、C++ ATL 组件
构建步骤
下载并解压源码(也可直接克隆仓库):
# 解压下载的源码压缩包
unzip ghidra-master
cd ghidra-master
# 或克隆仓库
git clone https://github.com/NationalSecurityAgency/ghidra.git
下载额外构建依赖:
gradle -I gradle/support/fetchDependencies.gradle
生成开发版本构建产物:
gradle buildGhidra
# 构建结果位于 build/dist/ 目录下
构建过程中遇到问题,可查阅开发者指南中的已知问题章节。
开发扩展与脚本
Ghidra 支持通过 Eclipse 的 GhidraDev 插件编写自定义脚本与扩展,插件位于安装目录的 Extensions/Eclipse/GhidraDev/,也可使用 Visual Studio Code:在 Script Manager 中点击 VS Code 图标即可编辑脚本,或在 CodeBrowser 窗口通过 Tools -> Create VSCode Module project 创建完整 VS Code 项目。
注意:GhidraDev 插件与 VS Code 集成仅支持针对已完整构建的 Ghidra 安装版本进行开发。
高级开发(修改 Ghidra 本身)
开发 Ghidra 工具本身推荐使用 Eclipse,开发流程已针对 Eclipse 进行深度定制。
准备开发环境
# 先按前述构建步骤完成一次成功构建
gradle prepdev eclipse buildNatives
导入项目到 Eclipse
- 选择 File -> Import...
- 选择 General | Existing Projects into Workspace
- 根目录选择下载或克隆的 ghidra 源码仓库
- 勾选 Search for nested projects
- 点击 Finish
Eclipse 完成项目构建后,可通过内置的 Ghidra 运行配置启动并调试 Ghidra。
贡献代码
如希望回馈 Bug 修复、功能改进或新特性,请参阅贡献者指南,了解如何参与该开源项目。
摘要更新于 2026-10-14 00:37:04
· 原文 7205 字符
· md5 a5a74c87f204…