Ghidra — это мощный фреймворк для анализа бинарных файлов, разработанный Агентством национальной безопасности США (NSA) и опубликованный как open-source. Поддерживает множество процессорных архитектур и платформ, предоставляет встроенный декомпилятор, инструменты для редактирования кода, исследования памяти, поиска уязвимостей и реверс-инжиниринга.
| Раздел | Описание |
|---|---|
| Project Manager | Создание и загрузка проектов |
| CodeBrowser | Основное рабочее окно |
| Decompiler | Окно декомпиляции в C-подобный код |
| Listing/Bytes | Ассемблер, байты, инструкции |
| Symbol Tree | Символы, функции, метки, строки |
| Function Graph | Визуальный граф вызовов |
| Memory/Registers | Просмотр памяти, сегментов, регистров |
1. Создайте новый проект
2. Импортируйте бинарь
3. Запустите анализ
4. Откройте CodeBrowser
5. Навигация
| Горячая клавиша | Действие |
|---|---|
| `Ctrl+Shift+G` | Перейти к адресу |
| `D` | Установить тип данных |
| `L` | Переименовать метку |
| `F2` | Декомпилировать функцию |
| `G` | Создать функцию |
| `U` | Удалить элемент |
| `Shift+E` | Изменить байты вручную |
1. Импортируйте файл 2. Разрешите Auto Analysis 3. Перейдите к точке входа (`entry`) 4. Используйте декомпилятор (F2) 5. Найдите вызов `printf` или `puts` 6. Переименуйте функцию, пометьте аргументы 7. Экспортируйте декомпилированный код (File → Export Function)