Ghidra

Ghidra (произносится ги́дра;[3] /ˈɡdrə/) — свободный инструмент для реверс-инжиниринга, разработанный Агентством национальной безопасности США (NSA). Исполняемые файлы были выпущены на RSA Conference в марте 2019 года; исходные коды опубликованы месяцем позже на GitHub[4]. Компонент декомпилятора реализован на C++, благодаря чему может использоваться отдельно[5].

Скрипты для автоматизированного анализа в Ghidra могут быть написаны на Java или Python (через Jython),[6][7] однако эта возможность расширяема, и поддержка других языков программирования реализуется через плагины сообщества[8]. Плагины, добавляющие новые функции в саму Ghidra, могут разрабатываться с использованием расширяемой Java-платформы.[9]

Общие сведения
Ghidra
Тип компьютерная программа
Автор NSA
Написана на Java, C++
Первый выпуск 5 марта 2019
Последняя версия 11.3.2[1] (15 апреля 2025)
Репозиторий github.com/NationalSecur…
Лицензия Apache License 2.0 / общественное достояние[2]
Сайт ghidra-sre.org

История

О существовании Ghidra впервые стало известно благодаря публикациям Vault 7 в марте 2017 года[10], однако само программное обеспечение оставалось недоступным до рассекречивания и официального релиза два года спустя[4]. Некоторые комментарии в исходном коде указывают, что проект существовал уже в 1999 году.

Краткая история изменений[11]
Версия Год Основные изменения
1.0 2003 Proof of concept
2.0 2004 База данных, докируемые окна
3.0 2006 SLEIGH, декомпилятор, система контроля версий
4.0 2007 Скриптинг, отслеживание версий
5.0 2010 Файловый браузер
6.0 2014 Первая рассекреченная версия
9.0 2019 Первый публичный релиз
9.2 2020 Визуализация графов, новый парсер PDB
10.0 2021 Отладчик
11.0 2023 Поддержка бинарных файлов Rust и Go, BSim
11.1 2024 Поддержка Swift и DWARF 5, улучшения Mach-O

В июне 2019 года проект coreboot начал использовать Ghidra для задач реверс-инжиниринга прошивок после выхода открытой версии программного комплекса Ghidra[12].

Официально,[13][14] начиная с версии Ghidra 10.0, программа может использоваться как отладчик. Отладчик Ghidra поддерживает отладку пользовательских программ Windows через WinDbg, а также программ Linux через GDB[15].

Поддерживаемые архитектуры

Поддерживаются следующие архитектуры и форматы бинарных файлов[16]:

Примечания

Ссылки