Files

55 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

🩸 РЕВЕРС-ИНЖИНИРИНГ С НУЛЯ: ГАЙД 2026
Полный путь от нуля до самостоятельного анализа бинарников: база, инструменты, пайплайн, реверс через ИИ, материалы. Всё бесплатное или с free-версией.
🩸 ШАГ 1. БАЗА
Без этого инструменты бесполезны:
- C — указатели, память, структуры, строки
- Ассемблер x86-64 — регистры, стек, calling conventions, переходы
- Compiler Explorer (https://godbolt.org/) — пишешь функцию на C, видишь её ассемблер. Лучший способ понять, что делает компилятор
- Формат PE (https://learn.microsoft.com/windows/win32/debug/pe-format) — заголовки, секции, таблица импортов
Результат: свободно читаешь ассемблерный листинг простой функции.
🩸 ШАГ 2. ИНСТРУМЕНТЫ
- Ghidra (https://github.com/NationalSecurityAgency/ghidra) — дизассемблер + декомпилятор, бесплатный. Основной инструмент для обучения, скриптится на Python через Ghidrathon (https://github.com/mandiant/Ghidrathon)
- x64dbg (https://x64dbg.com/) — отладчик Windows
- Detect It Easy (https://github.com/horsicq/Detect-It-Easy) — определение компилятора, протектора, упаковщика
- HxD (https://mh-nexus.de/hxd/) — hex-редактор
Позже пригодятся: IDA Pro (https://hex-rays.com/) — эталонный декомпилятор Hex-Rays; Binary Ninja (https://binary.ninja/) — API для автоматизации; radare2 (https://github.com/radareorg/radare2) / rizin (https://github.com/rizinorg/rizin) + Cutter (https://github.com/rizinorg/cutter) — консольный стек.
🩸 ШАГ 3. ПРАКТИКА
- crackmes.one (https://crackmes.one/) — задачи по реверсу, сложность 1–6
- Порядок: 15–20 задач 1☆, затем 10–15 задач 2☆, затем 3☆
- Осваиваются: поиск точки входа, паттерн проверки пароля, простые анти-отладочные приёмы
- ROP Emporium (https://ropemporium.com/) — exploitation по шагам
Результат: самостоятельно разбираешь небольшой бинарь от запуска до ответа.
🩸 ШАГ 4. СИСТЕМА
- pwn.college (https://pwn.college/) — бесплатные модули от ASU: ассемблер, основы RE, автопроверка, 15–25 задач на модуль
- OpenSecurityTraining2 (https://p.ost2.fyi/) — реверс C++, символьное исполнение, отладчики, UEFI
- RE-MA-Roadmap (https://github.com/x86byte/RE-MA-Roadmap) — roadmap от нуля до malware-аналитика
🩸 ШАГ 5. ПАЙПЛАЙН АНАЛИЗА БИНАРЯ
Порядок, по которому разбирают реальные сэмплы. Перед запуском чего-либо живого: виртуалка + снапшот, без общих папок и реальной сети.
1. Триаж без запуска: DIE — упаковщик/компилятор; FLOSS (https://github.com/mandiant/flare-floss) — строки, включая обфусцированные; capa (https://github.com/mandiant/capa) — capabilities с маппингом на ATT&CK
2. Распаковка: натив — x64dbg до OEP, дамп, IAT чинит Scylla (https://github.com/NtQuery/Scylla); .NET — de4dot-форк (https://github.com/kant2002/de4dot), разбор в dnSpyEx (https://github.com/dnSpyEx/dnSpy); без запуска — Qiling (https://github.com/qilingframework/qiling)
3. Статика: Ghidra/IDA — декомпиляция, xrefs, переименование
4. Динамика: отладчик для проверки гипотез; Frida (https://frida.re/) — хуки на функции, снятие конфигов
5. Деобфускация: D-810 (https://gitlab.com/eshard/d810) — MBA и flattening в декомпиляторе IDA; эмуляция и трейсинг — Unicorn (https://github.com/unicorn-engine/unicorn), Qiling, angr (https://github.com/angr/angr)
6. Поведение: FakeNet-NG (https://github.com/mandiant/flare-fakenet-ng) — перехват трафика; CAPEv2 (https://github.com/kevoreilly/capev2) — сэндбокс; Speakeasy (https://github.com/mandiant/speakeasy) — эмуляция малвари и драйверов без VM
7. Диффинг версий: BinDiff (https://github.com/google/bindiff) / Diaphora (https://github.com/joxeankoret/diaphora) — что изменил вендор, где была дыра
8. Выход: YARA-правило (https://github.com/VirusTotal/yara), IOC, отчёт
Шаг 6 — реверс через ИИ — во 2-м и 3-м сообщениях.
👻 [иишко](https://t.me/AlStack)