Ghidra: NSA's Open-Source Reverse Engineering Framework
Ghidra is the NSA's open-source software reverse engineering framework. Java-based, Apache-2.0, with disassembler, decompiler, and analysis tooling used by malware analysts and security researchers.
TL;DR: Ghidra is the NSA’s open-source software reverse engineering (SRE) framework. The Java-based tool combines a disassembler, decompiler, and scripting environment under Apache-2.0, and is widely used by security researchers analysing binaries.
What it is
NationalSecurityAgency/ghidra is the public release of the United States National Security Agency’s reverse engineering suite. The repository description reads “Ghidra is a software reverse engineering (SRE) framework”, and the topics on the GitHub side are listed as disassembler, reverse-engineering, and software-analysis. It is one of the largest public repositories of its kind, with around 76,750 stars and 8,468 forks at the time of writing.
The project has been public since 2019, was first created in March of that year, and is maintained by the NationalSecurityAgency organisation. The default branch is master, and the codebase is almost entirely Java, which makes it cross-platform out of the box.
What it does well
Ghidra bundles a full reverse-engineering workflow into one application:
- Disassembler and decompiler. Drop a binary in, get a navigable assembly listing and a C-like decompilation side by side. You can rename functions, retype variables, and annotate structures.
- Cross-references and call graphs. Jump between callers and callees, follow data flow, and inspect how a value is computed across a function.
- Headless analysis. A scripting interface (Java and Python via Jython) lets you automate bulk analysis, write custom processors, and integrate Ghidra into a research pipeline.
- Multi-user collaboration. A shared project mode allows several analysts to point at the same binary, useful for incident response.
Because the code is Apache-2.0 and written in Java, it runs on macOS, Linux, and Windows without modification. The 1,960 open issues reflect a project with a long tail of platform-specific bug reports rather than a stalled roadmap.
How to try it
Pre-built distributions are published on the Ghidra releases page. Download the zip, unzip, and run the launcher script for your JDK:
unzip ghidra_<version>_release.zip
cd ghidra_<version>
./ghidraRun # or ghidraRun.bat on Windows
You’ll need a JDK 17 or newer. For scripted work, the Python interpreter bundled in Ghidra/Features/Base/lib is what scripts target by default.
When it fits, and when it doesn’t
Ghidra is the right pick when you are analysing native binaries, firmware, or malware samples and want a single tool that combines static analysis with scripting. It pairs well with dynamic analysis tools such as a debugger in a separate process. For pure source-level work, mobile apps, or web reverse engineering, specialised tooling will be a better fit.
It is also worth noting that Ghidra is heavy: startup is measured in seconds, and loading large binaries takes memory. If you only need to read a single function, a lightweight disassembler or objdump may be faster.
Source and Accuracy Notes
- Project page: https://github.com/NationalSecurityAgency/ghidra
- Source repository:
NationalSecurityAgency/ghidra(verified via GitHub APIhtml_url) - License: Apache-2.0 (verified via GitHub API
license.spdx_id) - Stars at time of writing: 76,750
- Language: Java
- Homepage: none provided in repository metadata
Related Posts
ai-setup
Recall – Persistent Memory for Claude Code via MCP Hooks
Recall gives Claude Code a permanent memory store that survives session restarts and context compaction. Four hooks capture and restore context automatically — with cloud SaaS or self-hosted options.
2/28/2026
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026