Ghidra

NationalSecurityAgency/ghidra 访问 GitHub ↗
🔤 Java ★ 93651 ⑂ 0 monthly #10 (+14248) 抓取 2026-10-24

一句话简介

由美国国家安全局开发的开源软件逆向工程框架,支持反汇编、反编译、脚本扩展等功能,适用于多平台二进制分析研究。

标签

  • 逆向工程
  • 反编译器
  • 二进制分析
  • Java
  • 安全研究

适用应用场景

  • 恶意软件分析
  • 漏洞挖掘
  • 固件安全审计
  • CTF竞赛逆向分析

README 中文摘要

Ghidra 软件逆向工程框架

Ghidra 是由美国国家安全局(NSA)研究部门创建并维护的软件逆向工程(SRE)框架。该框架包含一套功能完善的高端软件分析工具,支持在 Windows、macOS 和 Linux 等多种平台上分析编译后的代码。核心能力包括反汇编、汇编、反编译、控制流图以及脚本编写,并提供数百项其他功能。Ghidra 支持多种处理器指令集与可执行文件格式,可运行在交互模式或自动化模式下。用户还可以使用 Java 或 Python 开发自定义扩展模块或脚本。

Ghidra 的设计初衷是解决复杂 SRE 任务中的规模化与团队协作问题,并提供一个可定制、可扩展的 SRE 研究平台。NSA 已将 Ghidra 应用于分析恶意代码、为分析师深入洞察网络与系统中潜在漏洞等多种网络安全场景。

安全提醒

警告: 某些版本的 Ghidra 存在已知安全漏洞。在使用前,请查阅 Ghidra 的安全公告页面,了解可能受到的影响。

安装预构建版本

安装官方多平台 Ghidra 版本的步骤:

  1. 安装 64 位 JDK 25
  2. 从 Releases 页面下载 Ghidra 发布文件(注意选择 ghidra_<version>_<release>_<date>.zip,不要下载源代码压缩包)
  3. 解压到独立目录(不要覆盖已有安装)
  4. 启动 Ghidra: - Linux/macOS:./ghidraRun - Windows:ghidraRun.bat
  5. 或启动 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

  1. 选择 File -> Import...
  2. 选择 General | Existing Projects into Workspace
  3. 根目录选择下载或克隆的 ghidra 源码仓库
  4. 勾选 Search for nested projects
  5. 点击 Finish

Eclipse 完成项目构建后,可通过内置的 Ghidra 运行配置启动并调试 Ghidra。

贡献代码

如希望回馈 Bug 修复、功能改进或新特性,请参阅贡献者指南,了解如何参与该开源项目。

摘要更新于 2026-10-14 00:37:04 · 原文 7205 字符 · md5 a5a74c87f204…