TGViewer
Hacker Lab Hacker Lab @hacker_lab_pro · 3.81K subscribers
Post #551 1.17K
Первый бинарник в Ghidra: почему новички тонут и как выплыть

Два часа на одну CTF-задачу по реверсу — и ноль результата. Функция main потерялась среди тысячи символов, декомпилятор выдал стену из undefined8 и DAT_00104020, а ассемблерный листинг выглядел как случайный набор мнемоник. Знакомо? Через полгода практики такая же задача решается за десять минут. И дело не в зубрёжке ассемблера, а в конкретном навыке: открыть бинарник, найти нужную функцию, прочитать псевдокод.

Ghidra — фреймворк для реверс-инжиниринга от NSA, open source с 2019 года. Ключевое преимущество перед конкурентами для новичка — бесплатный встроенный декомпилятор. IDA Pro Free его не даёт, а платная версия стоит тысячи долларов. radare2 мощен, но его CLI — отдельная кривая обучения, которая на старте только мешает.

⚙️ Что нужно для старта:

• JDK 21 (без Java Ghidra не запустится — даже не пытайтесь)
• Минимум 4 ГБ RAM, лучше 8 — автоанализ активно ест память
• Любая ОС: Windows, Linux, macOS
• Сеть не нужна — Ghidra работает полностью offline

Установка на Linux укладывается в три команды: sudo apt install openjdk-21-jdk, распаковать ZIP с GitHub, запустить ./ghidraRun. На Windows — аналогично, только через ghidraRun.bat. Никакого инсталлятора.

🎯 Первые шаги в интерфейсе — вот где большинство сдаётся. Десятки панелей, деревьев, кнопок. Но для CTF реально нужны только четыре окна:

• Symbol Tree — здесь ищете функцию main через ветку Functions
• Listing — ассемблерный код с адресами и перекрёстными ссылками
• Decompile — псевдокод на C, ради которого всё и затевалось
• Defined Strings — текстовые строки из бинарника, часто содержат подсказки или сам флаг

Алгоритм работы простой. Создаёте проект (File → New Project → Non-Shared). Импортируете бинарник — Ghidra сама определит формат: ELF, PE, Mach-O. Открываете CodeBrowser, соглашаетесь на автоанализ. За секунды инструмент определяет границы функций, строит ссылки, вытаскивает строки. Дальше — находите main в Symbol Tree, кликаете, читаете декомпилированный код справа.

💡 Главный совет: не пытайтесь понять каждую строку ассемблера. Декомпилятор выдаёт псевдокод с уродливыми именами переменных — это нормально. Переименовывайте их по мере понимания логики (правый клик → Rename Variable). Ищите паттерны: сравнение строк, XOR-шифрование, побайтовые проверки. В большинстве CTF-задач начального уровня флаг либо лежит в строках, либо восстанавливается из простых преобразований.

Полный разбор с примерами и скриншотами — в статье на форуме.

https://hackerlab.pro/blog/ghidra-revers-inzhiniring-razbiraem-pervyy-binarnik-v-ctf-zadache-po-reversu
  • 👍 7
  • ❤ 4
  • 🔥 3
More from @hacker_lab_pro
  1. Oct 9, 2026Как прошла Кибербитва GIS DAYS 2026: подробности нашего участия в соревнованиях ➡️В прошло…
  2. Oct 6, 2026⚡️ Твоё резюме на codeby.net теперь прокачивается само. Пока ты решаешь задачи на HackerLa…
  3. Oct 3, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Linux) — Клёвое…
  4. Oct 2, 2026Команда HackerLab заняла 4 место на Кибербитве GIS DAYS 2026! 30 сентября и 1 октября в Са…
  5. Sep 29, 2026От 200 до 300 тысяч на руки за то, чтобы первым разбирать свежие CVE. METASCAN ищет пентес…
  6. Sep 27, 2026🚀 Ищем новых авторов курсов по информационной безопасности У нас большая и очень живая ау…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →