登录 注册

ghidra (软件逆向工程框架)

曾爆款
去点 Star
AI 模型与开发框架
99,323
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
Java
语言
创建时间
最近更新

项目能做什么

NSA 开源的软件逆向工程框架,提供反汇编、反编译等全套分析工具,用于分析多平台下的二进制编译代码。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

项目简介

Ghidra 是由美国国家安全局(NSA)研究局开发并维护的软件逆向工程(SRE)框架。它提供了一套功能完备的高端软件分析工具,支持在 Windows、macOS 和 Linux 等多个平台上分析已编译的二进制代码。用户既可以通过图形界面交互操作,也可以运行自动化任务,并且支持使用 Java 或 Python 编写扩展插件和自动化脚本。

核心功能

  • 反汇编与汇编:支持广泛的处理器指令集架构和可执行文件格式。
  • 高质量反编译:将机器码反编译为易读的高级伪代码。
  • 图形化分析:提供直观的代码控制流图(Graphing)分析功能。
  • 脚本化与自动化:支持使用 Java 和 Python 编写自定义脚本,可完全以脚本形式自动化执行分析任务。
  • 协同与扩展支持:支持团队协作处理复杂的逆向工程任务,提供 Eclipse 插件(GhidraDev)和 Visual Studio Code 集成。

适合谁用

  • 恶意代码与病毒分析师
  • 漏洞挖掘与系统安全研究人员
  • 软件逆向工程(SRE)初学者及资深从业者

安装步骤

方式一:使用官方预编译版本(推荐)

  1. 安装 Java 环境:安装 64 位的 JDK 25。
  2. 下载发行包:前往官方 Release 页面,在 "Assets" 下拉列表中下载名为 ghidra_<version>_<release>_<date>.zip 的文件(注意:请勿下载 "Source Code" 压缩包)。
  3. 解压文件:解压下载的 zip 包(注意:不要覆盖到旧版本目录上)。
  4. 启动 Ghidra: - Linux / macOS: bash ./ghidraRun # 或者启动 PyGhidra: ./support/pyghidraRun - Windows: cmd ghidraRun.bat :: 或者启动 PyGhidra: support\pyghidraRun.bat

方式二:从源码编译构建

如果需要获取最新的开发版本:

  1. 准备构建环境: - 64 位 JDK 25 - Gradle 9.1.0+(如果联网可用,也可以使用源码自带的 Gradle wrapper) - Python3(版本 3.9 至 3.15),且包含 pip - Linux/macOS:需安装 GCC 或 Clang,以及 make - Windows:需安装 Visual Studio 2017+ 或 Microsoft C++ Build Tools,并勾选以下组件:

    • MSVC
    • Windows SDK
    • C++ ATL
  2. 获取源码: bash git clone https://github.com/NationalSecurityAgency/ghidra.git cd ghidra

  3. 下载构建依赖并编译: ```bash # 下载额外的构建依赖(若无全局 gradle 可替换为 ./gradlew 或 gradlew.bat) gradle -I gradle/support/fetchDependencies.gradle

# 开始编译打包 gradle buildGhidra `` 编译生成的压缩包位于build/dist/` 目录下。


配置说明

此部分原文未说明,请查看原仓库或解压目录下的 Getting Started 文档。


常见问题

  • 安全隐患提示:某些特定版本的 Ghidra 存在已知安全漏洞。在分析不受信任的样本前,请务必查看官方安全通报(Security Advisories)。
  • 下载内容搞混:下载预编译版本时,必须下载名为 ghidra_<version>_<release>_<date>.zip 的资产,不要下载页面的 "Source Code" 源码包。
  • 覆盖安装出错:解压新版本时,必须解压到一个全新的空文件夹,不得直接覆盖在已有的安装目录上。
  • 排错参考:更多安装及运行问题,请参阅解压目录根目录下的 Getting Started 入门文档。
原始 README 摘录(英文原文,节选前 3000 字符)
<img src="Ghidra/Features/Base/src/main/resources/images/GHIDRA_3.png" width="400">

# Ghidra Software Reverse Engineering Framework
Ghidra is a software reverse engineering (SRE) framework created and maintained by the 
[National Security Agency][nsa] Research Directorate. This framework includes a suite of 
full-featured, high-end software analysis tools that enable users to analyze compiled code on a 
variety of platforms including Windows, macOS, and Linux. Capabilities include disassembly, 
assembly, decompilation, graphing, and scripting, along with hundreds of other features. Ghidra 
supports a wide variety of processor instruction sets and executable formats and can be run in both 
user-interactive and automated modes. Users may also develop their own Ghidra extension components 
and/or scripts using Java or Python.

In support of NSA's Cybersecurity mission, Ghidra was built to solve scaling and teaming problems 
on complex SRE efforts, and to provide a customizable and extensible SRE research platform. NSA has 
applied Ghidra SRE capabilities to a variety of problems that involve analyzing malicious code and 
generating deep insights for SRE analysts who seek a better understanding of potential 
vulnerabilities in networks and systems.

If you are a U.S. citizen interested in projects like this, to develop Ghidra and other 
cybersecurity tools for NSA to help protect our nation and its allies, consider applying for a 
[career with us][career].

## Security Warning
**WARNING:** There are known security vulnerabilities within certain versions of Ghidra.  Before 
proceeding, please read through Ghidra's [Security Advisories][security] for a better understanding 
of how you might be impacted.

## Install
To install an official pre-built multi-platform Ghidra release:  
* Install [JDK 25 64-bit][jdk]
* Download a Ghidra [release file][releases]
  - **NOTE:** The official multi-platform release file is named 
    `ghidra_<version>_<release>_<date>.zip` which can be found under the "Assets" drop-down.
    Downloading either of the files named "Source Code" is not correct for this step.
* Extract the Ghidra release file
  - **NOTE:** Do not extract on top of an existing installation
* Launch Ghidra: `./ghidraRun` (`ghidraRun.bat` for Windows)
  - or launch [PyGhidra][pyghidra]: `./support/pyghidraRun` (`support\pyghidraRun.bat` for Windows)

For additional information and troubleshooting tips about installing and running a Ghidra release, 
please refer to the [Getting Started][gettingstarted] document which can be found at the root of a 
Ghidra installation directory. 

## Build
[![Build Ghidra][build-ghidra-badge]][build-ghidra-action]

To create the latest development build for your platform from this source repository:

##### Install build tools:
* [JDK 25 64-bit][jdk]
* [Gradle 9.1.0+][gradle] (or provided Gradle wrapper if Internet connection is available)
* [Python3][python3] (version 3.9 to 3.15) with bundled pip
* GCC or Clang, and make
阅读完整原文

商业机会分析 AI 生成

沙箱隔离的自动化反编译与分析 SaaS / API 服务

产品构想利用 Ghidra 的 automated modes 和 PyGhidra 能力,将其封装为云端隔离的微服务,对外提供上传二进制文件即自动输出反编译代码、控制流图及关键特征报告的 API 接口,解决本地配置 JDK 25 等复杂环境及直接运行潜在安全漏洞的风险。
核心功能1. 基于容器隔离的多版本 Ghidra 无头(Headless/Automated)运行环境;2. 集成 PyGhidra 脚本引擎支持批量反编译与特征提取;3. RESTful API 与结构化分析结果(伪代码、函数列表、交叉引用)导出。
目标用户安全工具开发者、自动化恶意样本分析平台、中小型安全团队及需要 CI/CD 集成二进制审计的研发团队(推测)。
难度/周期中等(需解决 Java 进程内存管理、多架构样本隔离沙箱安全及并发调度,底层核心分析能力由 Ghidra 免费提供)。 · 1-2 个月推出 MVP(推测)。 · 成本:服务器及安全隔离沙箱计算资源成本(无 GPU 依赖,主要为 CPU 与内存开销),以及域名等基础运营费用(推测)。
收费模式按 API 调用次数/分析样本大小计费,或按月订阅制提供固定并发配额(推测)。
竞争风险1. 仓库信息中未明确提供 License 文本,需核实其开源协议对商业 SaaS 托管或再分发的限制;2. Ghidra 存在已知安全漏洞警告,解析恶意畸形文件时可能导致沙箱逃逸或服务崩溃;3. 商业替代品(如传统商业反编译器)生态竞争(推测)。
依据 AI推测

商业化专用处理器指令集与逆向增强扩展插件(Extensions)

产品构想针对 Ghidra 提供的 Java/Python 扩展开发机制,面向特定细分领域(如冷门嵌入式芯片指令集、特定协议逆向、或自动化漏洞模式匹配)开发高精度插件与脚本套装,以插件授权形式变现。
核心功能1. 特定处理器指令集或可执行格式的识别与反编译支持;2. 基于 Java/Python 编写的辅助分析脚本与交互式图形增强插件;3. 详尽的技术文档与长期版本兼容维护。
目标用户汽车电子、工控设备、物联网固件安全审计人员及专业逆向工程团队(推测)。
难度/周期较高(需要深厚的底层指令集知识及对 Ghidra 内部架构与扩展 API 的深入理解)。 · 2-4 个月完成首个垂直领域插件开发(推测)。 · 成本:极低(主要为个人时间成本与本地构建测试环境,无需外部 GPU 或复杂云基础设施)。
收费模式按席位收取插件软件授权费(License)及年度更新维护费,或承接企业的定制扩展外包开发(推测)。
竞争风险1. 细分处理器市场规模有限,需求频次需提前验证;2. Ghidra 官方迭代(如依赖升级至 JDK 25、Gradle 9.1.0+)可能带来 API 变更与维护负担;3. 需核实 Ghidra License 对商业闭源插件的兼容性约束。
依据 尚需验证的假设

PyGhidra 自动化逆向工程实战课程与企业脚本模板库

产品构想围绕仓库高热度(99,123 Star)带来的海量学习需求,以及官方支持的 PyGhidra 自动化与 Java/Python 扩展体系,打造系统化的实战视频课程及可复用的自动化漏洞挖掘脚本库。
核心功能1. 涵盖多平台环境配置、反汇编/反编译核心技巧的教学内容;2. PyGhidra 自动化批处理与常见漏洞特征识别脚本模板库;3. 社群答疑与真实二进制样本实战演练。
目标用户入门及进阶逆向工程师、网络安全专业学生、希望提升恶意代码分析效率的 SOC 分析师(推测)。
难度/周期低至中等(技术栈明确,重点在于实战经验提炼与内容编排)。 · 3-6 周制作首批核心课程与模板(推测)。 · 成本:极低(录屏设备、知识付费平台手续费及少量样本环境搭建成本)。
收费模式一次性课程买断、脚本模板库年费订阅或面向企业安全团队的内训服务(推测)。
竞争风险1. 开源社区免费教程较多,必须通过高质量自动化实战脚本形成差异化;2. 独立开发者个人品牌影响力不足时获客成本较高(推测)。
依据 数据支持的判断

面向企业团队的受控协作部署包与安全维护支持服务

产品构想README 明确指出 Ghidra 用于解决复杂逆向中的 teaming(团队协作)问题,但仓库无现成 Docker/DB 编排特征(docker=0, db=0)且提示有安全漏洞警告。可打包开箱即用的容器化企业协作镜像,并提供版本安全评估与补丁同步支持。
核心功能1. 容器化一键部署的 Ghidra 团队协作服务端与客户端镜像;2. 结合官方 Security Advisories 的安全加固配置与漏洞版本隔离方案;3. 团队项目管理与权限审计增强工具。
目标用户对内网隔离、数据安全与合规性有严格要求的中大型企业安全实验室及政企安全团队(推测)。
难度/周期中等(侧重运维工程化、安全加固与企业级交付)。 · 1-2 个月(推测)。 · 成本:较低(研发测试环境成本为主,客户现场或远程交付人力成本)。
收费模式按年度收取企业技术支持与维护订阅费,或按项目收取私有化部署集成费(推测)。
竞争风险1. 企业客户通常要求供应商具备品牌背书与安全资质,独立开发者切入大型企业采购流程难度较大;2. 需确认项目 License 对商业打包分发的合规要求(推测)。
依据 尚需验证的假设
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

项目中文简介Stars语言
LaurieWired/GhidraMCP 面向 Ghidra 的 MCP 服务端实现。 11,870 Java
bethington/ghidra-mcp 用于 AI 辅助逆向的 Ghidra MCP 服务端,集成超 200 款工具。 6,182 Java
alphaSeclab/awesome-reverse-engineering 全平台逆向工程资源精选列表,收录海量开源工具与学习资料。 5,201 -
joernio/joern 基于代码属性图的开源代码分析平台,支持二进制及多种编程语言。 3,631 Scala
decompiler-explorer/decompiler-explorer 在浏览器中横向对比多种前沿反编译工具效果的静态分析平台。 2,731 Python
Dryxio/reagent 借助 AI 从已编译程序中重构并验证 C/C++ 代码的工具。 2,426 Python
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建于 ,最近推送 ,发布过 57 个 Release
社区活跃Star 99,323 / Fork 0 / Issue 0(数据支持,可自行核实)
许可证未检测到(需人工确认)
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

快速开始(以仓库 README 为准)
git clone https://github.com/NationalSecurityAgency/ghidra.git
cd ghidra
# 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
阅读原仓库文档
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。