欢迎来到威聚,大家如果有需要哪个项目编译好的软件但无法自己下载可以进入项目推荐页面告诉我,我上传到网盘供大家下载使用!
威扬盘搜

Ghidra

逆向工程 Java Apache-2.0 Java 人工编写 推荐 ★5 易二开

更新于 2026-10-12 17:48:35

一句话总结

Ghidra 是美国国家安全局(NSA)研究理事会开源并持续维护的软件逆向工程(SRE)框架,把反汇编、反编译、函数图与脚本化分析整合在一个桌面工具里,Java 编写、Apache-2.0 许可,是目前唯一能在通用场景下与 IDA Pro 正面比较的开源方案。

它能做什么

能力 说明
反汇编 覆盖 x86/x64、ARM/ARM64、MIPS、PowerPC、RISC-V、8051、AVR 等大量指令集,处理器模块可自行扩展
反编译 内置 C 伪代码反编译器,反汇编与伪代码双向联动跳转
文件格式 ELF、PE、Mach-O、COFF、各类固件镜像与 raw binary,也可手动指定基址加载
图形化 调用图、控制流图、数据流切片、函数相似度匹配
自动化 无头模式 analyzeHeadless 批量分析,可用 Java / Python(Jython 与 PyGhidra)写脚本与扩展
团队协作 Ghidra Server 支持多人共享与版本化同一个逆向工程库,正是 NSA 为大规模团队任务设计的

上手体验

  1. 安装 JDK 25 64 位(版本要求比较新,别用老 JDK);
  2. 从 Releases 页面下载 ghidra_<版本>_PUBLIC_<日期>.zip,注意不要下 Source code 那两个包,解压时也别覆盖旧安装目录;
  3. 运行 ./ghidraRun(Windows 是 ghidraRun.bat)启动图形界面;想用 Python 脚本则跑 ./support/pyghidraRun;
  4. 新建项目 → Import File 拖入二进制 → 双击进入 CodeBrowser,剩余分析基本自动完成。

当前最新版是 2026-09-21 发布的 Ghidra 12.1.4。安装过程完全不需要编译;只有想从源码跑开发版时才会用到 Gradle 9.1+、Python3(3.9-3.14)、GCC/Clang 等构建工具,流程是 gradle -I gradle/support/fetchDependencies.gradle 拉依赖、gradle buildGhidra 出包,产物在 build/dist/。

适合谁用

  • 安全研究员 / 漏洞分析:分析恶意样本、定位漏洞、验证 PoC;
  • 嵌入式与固件玩家:解包固件后丢进 Ghidra 看启动流程与加密算法;
  • CTF 选手:伪代码界面比纯反汇编读起来省力得多;
  • 需要长期维护逆向知识库的团队:Ghidra Server 的共享与版本控制是 IDA 之外少见的;
  • 教学与预算有限的同学:免费且功能完整,不必再找破解版 IDA。

与 IDA / radare2 的取舍

  • 反编译器质量:Hex-Rays 在复杂 C++ 虚表、结构体识别上仍略胜一筹;Ghidra 胜在免费、开源、脚本生态活跃。
  • 批量化与二次开发:Ghidra 的无头模式 + Java/Python API 容易塞进流水线;radare2 更适合极致的纯命令行自动化。
  • 习惯迁移:老 IDA 用户会不适应快捷键和项目模型,建议先读安装目录根部的 Getting Started 文档。

二开建议

  • 用 GhidraDev(Eclipse 插件)或 VS Code 集成来写扩展与脚本,两者都要求面向官方发行版开发,而非源码树;
  • 批量任务走 analyzeHeadless + 自写 postScript,跑完把结果 dump 成 JSON 供其他系统消费;
  • 遇到冷门指令集先看社区有没有现成 processor 模块,没有就照现有模块实现一个;
  • 想把反编译能力接进自己的 Agent 或流水线,可以关注社区把 Ghidra 包装成 MCP 服务端 / API 的项目,也可以自己封装无头模式。

注意事项

  • 仓库首页明确提示某些历史版本存在已知安全漏洞,部署前请读一遍 Security Advisories;
  • 发行包体积与内存占用都不小,反编译大型二进制务必给足堆内存;
  • 许可为 Apache-2.0,但涉及加密功能的模块历史上受美国出口管制说明约束,商用前建议自行确认。

一句话总结

如果只允许在开源世界里挑一个通用逆向平台,Ghidra 基本就是默认答案:免费、跨平台、反编译够用、能脚本化,还能做团队协作。

按更新时间依次阅读