Ghidra: бесплатный инструмент АНБ для реверс-инжиниринга

Ghidra — свободный открытый фреймворк для software reverse engineering (реверс-инжиниринга программного обеспечения), созданный Агентством национальной безопасности США и публично представленный в марте 2019 года на конференции RSA. Сегодня проект насчитывает более 69 000 звёзд на GitHub и является наиболее популярной открытой альтернативой коммерческому IDA Pro; распространяется под лицензией Apache 2.0 и работает на Windows, macOS и Linux. Актуальная версия — 12.1.3, последний билд вышел 14 августа 2026 года.


Что такое Ghidra и зачем она нужна

Ghidra — это фреймворк SRE, созданный и поддерживаемый исследовательским департаментом АНБ; он включает полный набор высокоуровневых инструментов для анализа скомпилированного кода на платформах Windows, macOS и Linux.

Ключевое достоинство инструмента — способность декомпилировать машинный код в читаемый формат, что существенно упрощает понимание работы программ без доступа к исходному коду.

В рамках миссии АНБ по кибербезопасности Ghidra создавалась для решения проблем масштабирования и командной работы в сложных SRE-задачах, а также как настраиваемая и расширяемая исследовательская платформа.

ℹ История проекта
АНБ разрабатывало Ghidra десятилетиями для внутреннего использования, прежде чем открыть публичный доступ. Именно это объясняет глубину алгоритмов анализа и широту поддерживаемых архитектур.

Возможности фреймворка

Возможности включают дизассемблирование (disassembly), сборку (assembly), декомпиляцию (decompilation), построение графов (graphing) и скриптинг — плюс сотни других функций.

Поддерживается многоархитектурный анализ: x86, ARM, MIPS, PowerPC и десятки других наборов инструкций. Несколько аналитиков могут одновременно работать над одним бинарным файлом через общий Ghidra Server. Промежуточное представление p-code и интеграция с отладчиками GDB, LLDB и WinDbg обеспечивают кросс-платформенный анализ бинарных файлов.

Декомпилятор преобразует ассемблер в псевдокод на языке C, который, как правило, удобно читать — это значительно сокращает время реверс-инжиниринга по сравнению с работой с сырым ассемблером.

Версия 11.3, вышедшая в 2025 году, добавила отладку на уровне ядра (kernel-level debugging), JIT-эмуляцию p-code, интеграцию с Visual Studio Code и новые схемы графов функций.

Ключевые возможности Ghidra

ФункцияОписание
DisassemblyПеревод бинарного кода в ассемблер
DecompilationГенерация псевдокода на C из машинного кода
ScriptingАвтоматизация через Java или Python
CollaborationСовместная работа через Ghidra Server
Headless modeЗапуск без GUI, пакетная обработка
DebuggerИнтеграция с GDB, LLDB, WinDbg
ExtensibilityПлагины через Eclipse/VS Code

Как устроена разработка

Ghidra поддерживает два режима использования: интерактивный (GUI) и автоматизированный (headless). Функции совместной работы позволяют командам делиться репозиториями и анализировать большие бинарные файлы параллельно; скриптинг расширяет инструмент до полноценного фреймворка, а не просто дизассемблера.

Для разработки собственных расширений доступны два пути:

# Установка официального релиза (требуется JDK 21)
./ghidraRun

# Запуск через PyGhidra
./support/pyghidraRun

# Сборка из исходников (требуется JDK 25 + Gradle 9.1.0+)
git clone https://github.com/NationalSecurityAgency/ghidra.git
cd ghidra
gradle -I gradle/support/fetchDependencies.gradle
gradle buildGhidra

Полноценные проекты Visual Studio Code можно создавать прямо из окна CodeBrowser через меню Tools → Create VSCode Module project.

💡 Совет по установке
Для запуска официального релиза достаточно JDK 21. Для сборки из исходников потребуется JDK 25 и Gradle 9.1.0+. Не распаковывайте новый релиз поверх существующей установки — это может вызвать конфликты.

Рабочий процесс анализа


graph TD
    A[Бинарный файл] --> B[Загрузка в Ghidra]
    B --> C[Автоматический анализ]
    C --> D[Disassembly / Decompilation]
    D --> E{Режим работы}
    E -->|Интерактивный| F[CodeBrowser GUI]
    E -->|Автоматизированный| G[Headless / Scripting]
    F --> H[Аннотации и именование]
    G --> H
    H --> I[Совместный Ghidra Server]
    I --> J[Итоговый отчёт]


Ghidra vs конкуренты

Главным коммерческим конкурентом остаётся IDA Pro — многолетний отраслевой стандарт с зрелой экосистемой плагинов, однако дорогостоящий и закрытый. При работе с несколькими бинарными файлами Ghidra быстрее и эффективнее IDA Pro за счёт поддержки многоядерности и многопоточности.

КритерийGhidraIDA ProBinary Ninja
ЦенаБесплатно$3 000–$15 000+$299–$1 499
Open-source
ПлатформаWin/Mac/LinuxWin/Mac/LinuxWin/Mac/Linux
СкриптингJava, PythonIDC, PythonPython
Коллаборация✅ (сервер)⚠️ (платно)
Отладчик✅ (встроен)✅ (платно)

Значение для отрасли

Ghidra — инструмент, который сделал профессиональный реверс-инжиниринг доступным для всех: от независимых исследователей до крупных команд по кибербезопасности.

Появление Ghidra в открытом доступе изменило ландшафт реверс-инжиниринга, предложив бесплатную альтернативу дорогостоящим коммерческим инструментам без потери в функциональности. С момента публичного релиза в 2019 году Ghidra стала незаменимым инструментом для исследователей безопасности, аналитиков вредоносного ПО и специалистов по кибербезопасности.

Функции совместной работы позволяют нескольким аналитикам одновременно работать над одним проектом, обмениваясь аннотациями, именами функций и результатами анализа в реальном времени без дублирования работы.

⚠ Предупреждение по безопасности
В ряде версий Ghidra зафиксированы известные уязвимости. Перед установкой ознакомьтесь с официальными Security Advisories на странице проекта на GitHub.

Проект активно развивается: релизы выходят примерно раз в три недели, а репозиторий набрал более 72 600 звёзд на GitHub. Ghidra по-прежнему остаётся одним из самых мощных и доступных инструментов в арсенале специалиста по кибербезопасности.