55 lines
5.2 KiB
Markdown
55 lines
5.2 KiB
Markdown
🩸 РЕВЕРС-ИНЖИНИРИНГ С НУЛЯ: ГАЙД 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) |