Ghidra: фреймворк АНБ для реверс-инжиниринга ПО — что изменилось в 2026 году

Реверс-инжиниринг программного обеспечения — это искусство разбирать чужой код, чтобы понять, как он работает. Долгое время главным инструментом в этой области был IDA Pro от Hex-Rays — мощный, но дорогой и закрытый. Всё изменилось в 2019 году, когда Агентство национальной безопасности США (АНБ) неожиданно выложило в открытый доступ свой внутренний фреймворк Ghidra. С тех пор прошло семь лет, и сегодня, в июле 2026 года, Ghidra превратился не просто в бесплатную альтернативу — он стал стандартом де-факто для тысяч исследователей безопасности по всему миру.

Недавно вышла новая версия, о которой подробно рассказали на Хабре Источник. Давайте разберёмся, что такое Ghidra, почему он так важен и как с ним начать работать прямо сейчас.

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

Ghidra (произносится как «гидра» или «гидра» с ударением на первый слог) — это фреймворк для реверс-инжиниринга с открытым исходным кодом, разработанный АНБ. Слово «фреймворк» здесь ключевое: это не просто дизассемблер, а целая экосистема. В неё входят:
- Дизассемблер — превращает машинный код в ассемблерный.
- Декомпилятор — восстанавливает псевдокод на C из бинарника.
- Инструменты для отладки, анализа графов и скриптинга.
- Поддержка десятков архитектур: x86, x64, ARM, AArch64, MIPS, PowerPC, RISC-V и даже редких вроде 8051.

Ghidra используется для:
- Анализа вредоносного ПО (малвари).
- Поиска уязвимостей в коммерческом и open-source софте.
- Патчинга бинарных файлов (например, для обхода лицензионных проверок в легальных целях).
- Аудита прошивок в IoT-устройствах.

Что нового в Ghidra в 2026 году

Согласно недавней публикации на Хабре, в 2026 году Ghidra получил ряд значительных улучшений. Вот основные моменты, которые стоит знать:

1. Улучшенный декомпилятор

Декомпилятор — это «сердце» Ghidra. В новой версии он стал точнее обрабатывать сложные конструкции: виртуальные таблицы C++, исключения и оптимизированный код от компиляторов LLVM. Теперь псевдокод на C выглядит гораздо ближе к оригинальному исходнику.

2. Поддержка новых архитектур

Добавлена экспериментальная поддержка для процессоров ESP32-S3 (Xtensa) и некоторых моделей NVidia GPU (для анализа CUDA-ядер). Это критически важно для исследователей IoT и игровых консолей.

3. Интеграция с машинным обучением

Ghidra теперь может автоматически предлагать имена для функций на основе анализа их поведения. Например, если функция обращается к сокетам, фреймворк предложит назвать её socket_handler или tcp_connect. Это не магия — это результат обучения на миллионах открытых проектов.

4. Исправление уязвимостей

Как и любой сложный инструмент, Ghidra сам содержит баги. В новой версии исправлено несколько уязвимостей, связанных с обработкой специально сформированных бинарных файлов (CVE-2025-12345 и CVE-2026-67890 — примеры, точные номера уточняйте в документации).

Как установить Ghidra: пошаговая инструкция

Установка Ghidra проста, но требует внимания к деталям. Вот что нужно сделать.

Шаг 1. Проверьте Java
Ghidra написан на Java и требует JDK 17 или новее. Проверьте версию:

java -version

Если Java нет или версия ниже 17 — скачайте OpenJDK 17 с официального сайта (например, от Eclipse Temurin).

Шаг 2. Скачайте Ghidra
Последнюю версию всегда можно найти на GitHub-релизах проекта NSA. Ищите файл с именем вроде ghidra_11.2_PUBLIC_20260701.zip. Размер архива — около 500 МБ.

Шаг 3. Распакуйте и запустите
Распакуйте архив в любую папку (например, C:\tools\ghidra). Для запуска используйте:
- Windows: ghidraRun.bat
- Linux/macOS: ./ghidraRun

Шаг 4. Настройте память
Если Ghidra тормозит, увеличьте выделенную память в файле ghidraRun.conf (параметр -Xmx4G — 4 гигабайта).

Практический пример: анализ простой малвари

Давайте разберём, как выглядит работа в Ghidra на примере анализа вредоносного файла. Для чистоты эксперимента возьмём легальный тестовый образец из базы MalwareBazaar (например, calc.exe с подозрительной сигнатурой).

Шаг 1. Создайте проект
Запустите Ghidra, нажмите File -> New Project. Выберите Non-Shared Project, дайте имя и укажите папку.

Шаг 2. Импортируйте файл
Перетащите calc.exe в окно проекта. Ghidra автоматически определит формат (PE, ELF, Mach-O и т.д.) и архитектуру. Нажмите Analyze.

Шаг 3. Запустите автоанализ
Ghidra предложит список анализаторов. По умолчанию включены:
- Function ID — поиск известных функций.
- Data Reference — поиск ссылок на данные.
- Call Fixup — исправление вызовов API.

Нажмите Analyze. На небольших файлах это занимает секунды, на больших (сотни мегабайт) — минуты.

Шаг 4. Изучите декомпилятор
Перейдите в функцию main (если она есть) или entry. Ghidra покажет псевдокод. Например:

void entry(void)
{
  HANDLE hProcess;
  void *lpAddress;

  hProcess = GetCurrentProcess();
  lpAddress = VirtualAlloc(0, 0x1000, 0x3000, 0x40);
  memcpy(lpAddress, &shellcode, 0x200);
  ((void (*)(void))lpAddress)();
  return;
}

Это типичная инжекция шелл-кода: выделяется память, туда копируется вредоносный код, затем он выполняется.

Шаг 5. Используйте патчинг
Если нужно изменить поведение (например, отключить проверку лицензии), найдите условный переход (if или jz), кликните правой кнопкой по инструкции и выберите Patch Instruction. Замените JZ на JMP — и проверка всегда будет проходить.

Сравнение Ghidra с IDA Pro

Многие новички спрашивают: «Что лучше — Ghidra или IDA Pro?» Вот объективное сравнение.

Критерий Ghidra IDA Pro (с Hex-Rays)
Цена Бесплатно $1,500+ за лицензию
Декомпилятор Отличный, улучшается каждый год Эталонный, но закрытый
Скриптинг Python, Java, JavaScript IDC, Python
Поддержка архитектур 50+ 70+
Отладчик Встроенный, GDB-подобный Мощный, но платный
Сообщество Активное, open-source Закрытое, но большое

Вывод: Если у вас нет бюджета или вы учитесь — Ghidra идеален. Если вы занимаетесь реверсом профессионально и вам нужна максимальная скорость и точность — IDA Pro остается сильным конкурентом, но разрыв сокращается.

Советы для начинающих

  1. Не пытайтесь декомпилировать всё сразу. Начните с анализа одного модуля — например, функции регистрации или обработки сети.
  2. Используйте скрипты. Ghidra поддерживает Python. Напишите простой скрипт для поиска строк: getStrings() — и вы найдёте все URL, IP и ключи.
  3. Изучите документацию. На сайте NSA есть PDF-руководство на 400 страниц. Пропустите первые главы (установка) — переходите сразу к разделу «Декомпилятор».
  4. Практикуйтесь на легальных образцах. Скачайте старую версию Notepad++ или PuTTY и попробуйте найти в них уязвимости. Это безопасно и полезно.

Заключение

Ghidra — это не просто «бесплатный IDA». Это мощный, современный фреймворк, который активно развивается благодаря сообществу и поддержке АНБ. Версия 2026 года доказывает, что даже через 7 лет после первого релиза инструменту есть куда расти: улучшенный декомпилятор, интеграция с ML и поддержка новых архитектур делают его незаменимым для любого исследователя безопасности.

Если вы ещё не пробовали Ghidra — сейчас самое время. Скачайте, установите и проанализируйте первый бинарный файл. Реверс-инжиниринг — это навык, который открывает двери в мир кибербезопасности, а Ghidra — лучший ключ к этой двери.

ASI Biont поддерживает подключение к Ghidra через API для автоматизации анализа — подробнее на asibiont.com/courses.

← Все статьи

Комментарии

Читайте также

7 промтов для UI/UX дизайна: Figma, компоненты и прототипы в 2026 году

6 июля 2026

Organic Maps: Бесплатные офлайн-карты без слежки — что нового в июле 2026?

6 июля 2026

AI-автоматизация бизнеса: как внедрить AI-агентов и получить измеримый ROI — курс на asibiont.com

6 июля 2026

ELK Stack и AI-агент: как ASI Biont автоматизирует мониторинг логов без сложных запросов

6 июля 2026

Как освоить ядерную безопасность и стандарты IAEA за три месяца: разбор курса «Атомная энергетика и радиационная безопасность (IAEA, NRC)»

6 июля 2026

Как Нью-Йорк меняет образование: педагоги и лидеры индустрии встретились в Google, чтобы определить будущее ИИ в классах

6 июля 2026

DSpark на двух DGX Spark: порт, баг на одну строку и бенчмарки, которые пришлось мерить заново

6 июля 2026

8 лет разработки: как open-source платформа Homegames меняет представление об игровых сервисах

6 июля 2026

Глава CATL оценил готовность твердотельных батарей к выпуску на 4 балла из 9: что это значит для рынка и как проверить данные?

6 июля 2026