ghidra README

The project's README from github.com/NationalSecurityAgency/ghidra. As one markdown file: README.md.

Ghidra Software Reverse Engineering Framework

Ghidra is a software reverse engineering (SRE) framework created and maintained by the National Security Agency 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.

Security Warning

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

Install

To install an official pre-built multi-platform Ghidra release:

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

Build

Build Ghidra

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

Install build tools:
Download and extract the source:

Download from GitHub

unzip ghidra-master
cd ghidra-master

NOTE: Instead of downloading the compressed source, you may instead want to clone the GitHub repository: git clone https://github.com/NationalSecurityAgency/ghidra.git

Download additional build dependencies into source repository:

NOTE: If an Internet connection is available and you did not install Gradle, the ./gradlew (or gradlew.bat) command may be used in place of the gradle command in the following instructions.

gradle -I gradle/support/fetchDependencies.gradle
Create development build:
gradle buildGhidra

The compressed development build will be located at build/dist/.

For more detailed information on building Ghidra, please read the Developer's Guide.

For issues building, please check the Known Issues section for possible solutions.

Develop

User Scripts and Extensions

Ghidra installations support users writing custom scripts and extensions via the GhidraDev plugin for Eclipse. The plugin and its corresponding instructions can be found within a Ghidra release at Extensions/Eclipse/GhidraDev/ or at this link. Alternatively, Visual Studio Code may be used to edit scripts by clicking the Visual Studio Code icon in the Script Manager. Fully-featured Visual Studio Code projects can be created from a Ghidra CodeBrowser window at Tools -> Create VSCode Module project.

NOTE: Both the GhidraDev plugin for Eclipse and Visual Studio Code integrations only support developing against fully built Ghidra installations which can be downloaded from the Releases page.

Advanced Development

To develop the Ghidra tool itself, it is highly recommended to use Eclipse, which the Ghidra development process has been highly customized for.

Install build and development tools:
Prepare the development environment:
gradle prepdev eclipse buildNatives
Import Ghidra projects into Eclipse:

When Eclipse finishes building the projects, Ghidra can be launched and debugged with the provided Ghidra Eclipse run configuration.

For more detailed information on developing Ghidra, please read the Developer's Guide.

Contribute

If you would like to contribute bug fixes, improvements, and new features back to Ghidra, please take a look at our Contributor's Guide to see how you can participate in this open source project.

ghidra (NationalSecurityAgency/ghidra)

Searching Database…

90.7K ·GitHub
这是什么?Ghidra 是由美国国家安全局(NSA)研究局创建并维护的软件逆向工程(SRE)框架,用于反汇编、反编译、生成图形并分析编译后的代码。
这是图形界面程序还是命令行工具?它主要是一个桌面图形界面应用,配有一整套高端分析工具(反汇编、反编译、图形化展示),同时也可以以无界面(headless)或自动化模式运行,并能用 Java 或 Python 编写脚本来控制。
我该如何安装和运行 Ghidra?先安装 64 位的 JDK 21,从 Releases 页面下载官方的多平台发布压缩包,解压后用 ./ghidraRun 启动(Windows 上为 ghidraRun.bat),或者用 ./support/pyghidraRun 启动基于 Python 的 PyGhidra 启动器。
如果不用发布版,而是要从源代码构建,需要先准备什么?从源代码构建需要 64 位的 JDK 25、Gradle 9.1.0+(或 gradlew 包装器)、带 pip 的 Python3 3.9-3.14;Linux/macOS 还需要 GCC/Clang 和 make,Windows 则需要带 Windows SDK 和 C++ ATL 的 Visual Studio/MSVC Build Tools。
谁通常会用 Ghidra?安全研究人员、恶意软件分析师和逆向工程师,他们需要分析编译后的代码,以了解网络和系统中的漏洞。
我能为 Ghidra 编写自己的脚本或扩展吗?可以,用户能用 Java 或 Python 编写自定义脚本和扩展,可以使用 Eclipse 的 GhidraDev 插件,也可以通过 Visual Studio Code 集成来编辑脚本。
Ghidra 能否以自动化、非交互的方式运行?可以,Ghidra 既能以用户交互模式运行,也能以自动化模式运行,这对大规模或基于脚本的分析流程很有用。
美国国家安全局为什么要开发并发布 Ghidra?美国国家安全局开发 Ghidra,是为了解决复杂软件逆向工程工作中的规模化和团队协作问题,并提供一个可定制、可扩展的研究平台,以支持其网络安全任务。
Ghidra 能分析哪些类型的二进制文件?Ghidra 支持多种处理器指令集和可执行文件格式,因此能够对许多不同平台的代码进行反汇编和反编译。
Size
405.8 MB
Stars
90.7K
Age
7y
Commits · 90 Days