reverseenengineering:soft_ghidra

Ghidra

Ghidra — это мощный набор инструментов для обратной разработки (reverse engineering), разработанный и поддерживаемый Агентством национальной безопасности США (NSA). С момента своего открытия в 2019 году как проекта с открытым исходным кодом, Ghidra стала одним из самых популярных и уважаемых инструментов в области анализа исполняемого кода и программной безопасности.

  • Дизассемблирование (disassembly) и декомпиляция (decompilation) широкого спектра архитектур
  • Поддержка множества форматов файлов: PE (EXE, DLL), ELF, Mach-O, BIN и др.
  • Визуализация графов вызовов (call graphs), переходов (control flow), зависимостей и др.
  • Интерактивный анализ кода: переименование функций, переменных, аннотации
  • Встроенный декомпилятор с возможностью вывода в C-подобный код
  • Расширяемость через скрипты (Python, Java) и собственные плагины
  • Многофайловый анализ (Project-based), группировка бинарей
  • Поддержка отладки через интеграцию Ghidra Debugger (GDB, WinDbg, и др.)
  • Совместная работа над проектом (многопользовательский режим)
  • x86 (32-bit и 64-bit)
  • ARM, AARCH64
  • PowerPC
  • MIPS
  • SPARC
  • 68000, Z80, и др.
  • Возможность добавления собственных процессоров (через Sleigh DSL)
  • Платформы: Windows, Linux, macOS (официальная кроссплатформенность)
  • Java Runtime: требуется Java 17+
  • Аппаратные требования: от 4 ГБ ОЗУ, SSD рекомендуется, желательно 64-битная ОС
1. Загрузить с официального сайта: https://ghidra-sre.org/
2. Распаковать архив (установка не требуется)
3. Убедиться в наличии Java 17+
4. Запустить `ghidraRun` (Linux/macOS) или `ghidraRun.bat` (Windows)
5. Создать новый проект и импортировать бинарный файл для анализа
  • CodeBrowser — основной интерфейс анализа и декомпиляции
  • Decompiler Window — просмотр C-подобного кода
  • Symbol Tree — дерево символов, функций, данных
  • Listing View — дизассемблер с аннотациями
  • Data Type Manager — редактирование структур, массивов, примитивов
  • Script Manager — запуск и написание пользовательских скриптов
  • Function Graph — граф вызовов функции
  • Debugger — подключение к внешнему процессу или образу памяти
  • Поддержка скриптов на:
    1. Java (основной язык Ghidra)
    2. Jython (Python 2.7)
    3. Python 3 (через интеграцию с Ghidra 10+)
    4. JavaScript, BeanShell и др.
  • Возможность автоматизации задач: автокомментарии, обработка секций, распознавание сигнатур и т. д.
  • Ghidra Extension Manager — установка плагинов
  • Ghidra API позволяет писать собственные плагины и GUI-инструменты
  • Анализ вредоносного ПО (malware analysis)
  • Реверс-инжиниринг проприетарных форматов
  • Изучение уязвимостей и эксплойтов
  • Исследование бинарей закрытых программ
  • Создание сигнатур, автоматизация распознавания паттернов
  • Анализ прошивок и встраиваемых систем
Инструмент Лицензия Графический интерфейс Декомпилятор Скрипты Цена
Ghidra Apache 2.0 Да Да Да Бесплатно
IDA Free / Pro Проприетарная Да Да (Pro) Да $$$
Radare2 / Cutter GPL Да (через Cutter) Частично Да Бесплатно
Binary Ninja Проприетарная Да Да Да $$
  • Ghidra распространяется под лицензией Apache 2.0, с открытым исходным кодом.
  • Разработка осуществляется NSA и активно поддерживается сообществом.
  • Использование разрешено в коммерческих и исследовательских целях.
  • Исходный код доступен на GitHub: https://github.com/NationalSecurityAgency/ghidra

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

  • reverseenengineering/soft_ghidra.txt
  • Последнее изменение: 2025/07/18 12:37
  • Lex