跳转至

Ghidra 软件逆向工程框架

Ghidra 是一个由美国国家安全局研究理事会创建和维护的软件逆向工程(SRE)框架。该框架包含一整套功能齐全的高端软件分析工具,使用户能够在 Windows、macOS 和 Linux 等多种平台上分析编译后的代码。其功能包括反汇编、汇编、反编译、图形化和脚本编写,以及数百项其他功能。Ghidra 支持多种处理器指令集和可执行文件格式,并且可以在用户交互模式和自动模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。

为了支持 NSA 的网络安全使命,Ghidra 旨在解决复杂 SRE 工作中的扩展和团队协作问题,并提供一个可定制、可扩展的 SRE 研究平台。NSA 已将 Ghidra SRE 能力应用于多种问题,包括分析恶意代码,以及为寻求更好理解网络和系统中潜在漏洞的 SRE 分析师提供深入见解。

如果您是对此类项目感兴趣的美国公民,希望为 NSA 开发 Ghidra 和其他网络安全工具以帮助保护我们的国家及其盟友,请考虑申请加入我们。

安全警告

警告: 某些版本的 Ghidra 存在已知安全漏洞。在继续之前,请阅读 Ghidra 的安全公告,以更好地了解您可能受到的影响。

安装

要安装官方预构建的多平台 Ghidra 版本: * 安装 JDK 25 64 位 * 下载 Ghidra 发布文件 - NOTE: 官方的多平台发布文件名为 ghidra_<version>_<release>_<date>.zip,可在“Assets”下拉菜单中找到。对于此步骤,下载名为“Source Code”的任一文件都是不正确的。 * 解压 Ghidra 发布文件 - NOTE: 请勿解压到现有安装之上 * 启动 Ghidra:./ghidraRun(Windows 为 ghidraRun.bat) - 或启动 PyGhidra:./support/pyghidraRun(Windows 为 support\pyghidraRun.bat)

有关安装和运行 Ghidra 版本的更多信息与故障排除提示,请参阅 Getting Started 文档,该文档位于 Ghidra 安装目录的根目录下。

构建

Build Ghidra

要从该源代码仓库为您的平台创建最新的开发构建:

安装构建工具
下载并解压源代码

从 GitHub 下载

unzip ghidra-master
cd ghidra-master
NOTE: 除下载压缩源代码外,您也可以选择克隆 GitHub 仓库:git clone https://github.com/NationalSecurityAgency/ghidra.git

将其他构建依赖项下载到源代码仓库中

NOTE: 如果 Internet 连接可用且您未安装 Gradle,则可以在以下说明中使用 ./gradlew(或 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 CodeBrowser 窗口的 Tools -> Create VSCode Module project 创建功能完整的 Visual Studio Code 项目。

NOTE: Eclipse 的 GhidraDev 插件和 Visual Studio Code 集成仅支持针对完整构建的 Ghidra 安装进行开发,这些安装可以从 Releases 页面下载。

高级开发

要开发 Ghidra 工具本身,强烈建议使用 Eclipse,Ghidra 的开发流程已针对其进行了高度定制。

安装构建和开发工具
准备开发环境
gradle prepdev eclipse buildNatives
将 Ghidra 项目导入 Eclipse
  • File -> Import...
  • General | Existing Projects into Workspace
  • 选择根目录为您下载或克隆的 ghidra 源代码仓库
  • 勾选 Search for nested projects
  • 点击 Finish

当 Eclipse 完成项目构建后,可以使用提供的 Ghidra Eclipse 运行配置 启动和调试 Ghidra。

有关开发 Ghidra 的更详细信息,请阅读开发者指南。

贡献

如果您想为 Ghidra 贡献错误修复、改进和新功能,请查看我们的贡献者指南,了解如何参与这个开源项目。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gh/ghidra