Уникальная образовательная платформа, созданная специально для тех, кто стремится освоить основы кибербезопасности и научиться защищать своё цифровое пространство
Советы для новичков
Как происходит реверс
Инструменты реверсера
Что можно реверсить?
Что такое реверс-инжиниринг
Реверс-инжиниринг (reverse engineering) — это исследование и анализ работы программы без доступа к её исходному коду. В CTF-задачах по реверсу тебе часто дают бинарный файл, exe-шник или скрипт с обфускацией, и твоя задача — понять, что он делает и где спрятан флаг.
На практике реверс применяют для:
анализа вредоносных программ
аудита безопасности (например, как работает защита приложения)
совместимости с ПО, к которому нет исходников (legacy system, драйверы)
поиска уязвимостей и понимания логики чужого кода
Ghidra: Декомпилятор и анализатор кода от NSA. Бесплатный, мощный
IDA Free / Pro: Стандарт де-факто. Удобен, но платный (Free урезан)
Cutter: GUI-оболочка для Radare2. Красиво, бесплатно, эффективно
Radare2 / Rizin: Консольный зверь для профи. Сильно, но требует опыта
objdump: CLI-дизассемблер. Быстрый, системный
gdb: Отладчик. Запуск бинарей по шагам, установка брейков
strings: Просмотр строк в бинаре. Быстро понять, есть ли флаг
file: Определение типа бинарника
Скомпилированные программы (на C/C++/Go/Rust)
Это обычные .exe, .out, .elf, .bin, .so, .dll
Они содержат машинный код, инструкции, адреса, таблицы вызовов и строки.
Здесь ты работаешь с промежуточным кодом (JVM, CLR, CPython)
Скрипты с обфускацией (JS, Lua, Python)
Код доступен, но запутан. Нужно распутать, восстановить смысл.
Файлы с нестандартными структурами (фирменные форматы, проприетарные бинарники)
Часто встречаются в играх, прошивках и IoT-устройствах
Начинай с strings, file, ltrace, strace — это уже даёт половину понимания
Ghidra — топ для новичка. У неё автокомментарии, граф вызовов и цветные блоки
Не пугайся ассемблера — ищи паттерны: сравнение, условия, вызовы функций
Всегда ищи strcmp, scanf, memcpy, strstr, puts, printf
Запутались? Нарисуй блок-схему вручную!
Один break в нужном месте в gdb может заменить час анализа
📌 Важно! Всё, чему ты учишься на заданиях по реверсу, применяется только в образовательных и этичных целях. Анализировать чужие программы без разрешения — противозаконно. В рамках CTF — ты учишься защищать, а не ломать.