В последнем обновлении Kali Linux, разработчики добавили в репозиторий фреймворк Ghidra. В этой статье покажу, как установить и использовать Ghidra на Kali Linux.
Еще по теме: Лучшие инструменты реверс-инжиниринга
Установка и использование Ghidra на Kali Linux
Более подробно о фреймворке можете прочитать в статье «Обзор фреймворка для реверс-инжиниринга Ghidra». Ну а мы переходим к установке.
Установка Ghidra на Kali Linux
Для установки Ghidra на Kali Linux нужно выполнить всего одну команду:
1 |
sudo apt install -y ghidra |
Приведенная выше команда установит Ghidra на Kali Linux. Сам пакет весит примерно 250 МБ. Установка занимает 750 МБ дискового пространства.
Использование Ghidra на Kali Linux
После установки Ghidra,запустите фреймворк:
1 |
ghidra |
Примите пользовательское соглашение нажав на кнопку «Agree».
Главное окно выглядит следующим образом:
Для тестирования подсунем exe-файл, нажав на «File» —> «New Project».
Теперь надо выбрать тип проекта. С общим доступов «Shared Project» или без «Non-Shared Project».
Выбираем расположение, имя проекта и жмем «Finish»
Новый проект Ghidra создан.
Теперь можно добавить файл .exe. Можно напрямую перетащить файл или выбрать в меню «File» —> «Import file».
Для примера откроем shell.exe,
После открытия, инструмент отобразит информацию о файле. Нажимаем «ОК».
Нажав на «Yes» Ghidra импортирует файл и предложит проанализировать файл в CodeBrowser.
В следующем окне нужно выбрать анализаторы. Существует различные виды анализа. Кликнув по анализатору увидите краткое описание в левом правом углу.
После нажатия на «Analyze» откроется окно Ghidra CodeBrowser. Можно повторно проанализировать файл, нажав на соответствующий пункт меню.
Ghidra CodeBrowser
Здесь можно анализировать файлы. Ghidra CodeBrowser снабжен удобный интерфейсом.
Рассмотрим каждое окно и поле Ghidra CodeBrowser по отдельности:
1. В центре находится дизассемблированный вид файла.
2. Поскольку уровень дизассемблирования иногда слишком низкоуровневый, Ghidra включает собственный декомпилятор, расположенный справа от окна дизассемблирования. Основная функция программы была распознана по сигнатуре Ghidra, а затем были автоматически сгенерированы параметры. Ghidra также позволяет манипулировать декомпилированным кодом. Разумеется, в соответствующей вкладке доступен и шестнадцатеричный вид файла. Эти три окна (дизассемблирование, декомпилятор и шестнадцатеричное окно) синхронизированы.
3. Ghidra также позволяет легко ориентироваться в программе. Например, чтобы перейти к другому разделу программы, мы можем обратиться к окну Program Trees, расположенному в левом верхнем углу CodeBrowser.
4. С помощью окна «Symbol Tree» можно перейти к символу (например, к функции программы) .
5. Данная окно отвечает за работу с типами данных.
6. Ghidra позволяет писать сценарии для задач реверс инжиниринга, результаты сценариев отображаются в соответствующем окне внизу.
7. Панель быстрого доступа Ghidra.
8. Главная панель фреймворка.
9. Здесь отображается текущая функция.
10. Дополнительная контекстная информация.
11. Информация в правом нижнем углу указывает текущий адрес.
Заключение
Ghidra — это настраиваемый фреймворк. Он имеет множество функций и позволяет запускать свои собственные скрипты. Охватить все детали Ghidra в статье невозможно. Гидра — это огромная тема, и нам понадобится целая книга, чтобы понять работу программы.
Да, это не лучший перевод зарубежной статьи, и если планируете дальнейшее изучение, советую прочитать статью «Использование фреймворка Ghidra», в которой наш эксперт, на живом примере, хорошим русским объясняет, как пользоваться фреймворком.
Еще по теме: