reverse-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok609hecl1pq6qi
2026-10-20 02:17:15 +03:00
commit da24c2bd20
2227 changed files with 443931 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
---
name: rea-full-course
description: REA (Reverse Engineer Anything, morluto/rea) — полный практический курс. Установка, движки (Ghidra/IDA/Hopper/JADX), guided-воркфлоу, пак промтов, ограничения. Использовать для реверса Electron/JS, .NET, APK, бинарников, EVM-байткода через AI-агента.
---
# REA — Reverse Engineer Anything (полный курс)
REA = MCP-сервер + CLI (npm `rea-agents`), который даёт AI-агенту (Claude Code, Codex, Cursor, Gemini CLI, Hermes) навык реверс-инжиниринга с доказательствами: функция, файл, вызов + что осталось неизвестным. MIT, работает локально, ничего не загружает наружу. Первый релиз 12.07.2026, 100K+ звёзд за 3 месяца.
Полный текст курса-источника: `research-what-we-did/rea-full-course-source.md`.
## Установка
```bash
node -v # нужен Node 22.19+ / 24.11+ / 26+ (23 и 25 НЕ поддерживаются)
npx rea-agents@latest setup # интерактивно: выбор агента → план изменений → approval → бэкап конфигов
npx -y rea-agents@latest doctor --client claude_code --json # только проверка
npm install --global rea-agents && rea --help # глобальная команда
rea update # фиксы выходят почти ежедневно
```
Промт для авто-установки агентом:
```
Install REA and connect it to this coding agent using npx rea-agents@latest setup. Show me the setup plan for approval, then verify the installation.
```
После установки — ПОЛНЫЙ рестарт агента (для desktop-приложений недостаточно закрыть окно).
## Что читает и какие движки нужны
| Цель | Движок |
|---|---|
| Electron/JS desktop (Notion, Slack, Discord, Obsidian) | ничего, из коробки |
| Сайты (структура, скрипты, сеть) | любой Chrome-family браузер |
| HAR-файлы | ничего |
| .exe / Mach-O / DOS-игры (псевдокод, asm, строки) | Ghidra 12.1.x + JDK 21 (GHIDRA_INSTALL_DIR, JAVA_HOME) или Hopper или IDA |
| .NET (включая Unity-игры — игровая логика часто .NET) | ничего |
| Android APK | JDK 17+ и jadx-headless-mcp 0.7.1 (REA_JADX_MCP_JAR) |
| EVM-байткод смарт-контрактов | только Linux x64 |
| Прошивки, WASM, Go-бинарники | встроенные парсеры |
Electron-приложения лежат: Win `C:\Users\<ty>\AppData\Local\Programs\<App>\resources\app.asar`, Mac `<App>.app/Contents/Resources/app.asar`, Linux `/opt/<App>/resources/app.asar`.
Анализ без запуска приложения:
```bash
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
```
## Guided-воркфлоу (зашиты в MCP, почти никто не знает)
- `investigate_feature` — фича от обнаружения до конкретных функций
- `compare_application_versions` — что реально изменилось в апдейте
- `verify_reconstruction` — сверка своей пересборки с сохранёнными доказательствами
- `trace_crash` — креш → пути кода
- `audit_residual_unknowns` — что ещё не доказано
- `prepare_bounded_process_capture` — план безопасного runtime-эксперимента
Цикл профи: **investigate → spec → build → verify**
```
Use REA to investigate how [feature] works in [app]. Write SPEC.md: behavior, inputs, outputs, edge cases, no copied code. Then build it from SPEC.md in ./my-version, write tests from the observed behavior, and run them until they pass.
```
## Пак промтов (копипаст в агент с установленной REA)
Первый тест (2 минуты, официальное training-приложение):
```
Download https://rea.tools/examples/notes-example.zip into a new example folder and unpack it. Use REA to find what happens when I click Export notes.
Show where notes.csv is written, which fields it contains, and the relevant files and lines.
```
Аудит APK:
```
Use REA on this APK. List every permission, every analytics or tracking SDK, and every domain the app talks to. Show the class and method for each finding.
```
Проверка токена (байткод → state-функции):
```
Use REA on this contract bytecode. List every function that can change state. Flag anything that looks like mint, blacklist, pause, fee change or owner-only transfer. Mark what is confirmed and what is inferred.
```
(`rea inspect-evm-interface ./runtime.hex hex --json`; имена функций — догадки из байткода, красный флаг = «проверь глубже»)
Дифф версий:
```
Use REA's compare_application_versions workflow on [old version] and [new version] of [app]. Tell me what actually changed, with evidence.
```
Реал-тайм фичи:
```
Figure out how Discord shows who's typing in real time, show me the proof, and build something similar for my project.
```
Реконструкция игры:
```
Reconstruct a game from its executable and test it against the original.
```
## Ограничения (честно)
- Сервер не трогает — читается только то, что на твоей машине. Банк не взломает.
- Декомпилированный код — реконструкция, не оригинальный исходник → шаг verify обязателен.
- Стрипанные C++-бинарники намного жёстче, чем Unity .NET-игры.
- Агент может отказаться на прошивках/консолях (правила безопасности модели).
- IDA/Hopper/JEB — свои лицензии, крякнутые копии запрещены.
## Юридическая рамка (clean room)
Учись на оригинале → пиши СПЕК (поведение, не код) → собирай своё с нуля. Так работали Compaq (BIOS IBM, ~$1M), Sega v. Accolade (1992, fair use), Sony v. Connectix (2000, 3-0). За копирование чужого кода/кряк платных фич/публикацию декомпилята — прилетает иск (Sony v. geohot 2011).
## Эталонные кейсы
- Aegis authenticator: 3077 классов → найден генератор 6-значных кодов → пересборка прошла 133/133 теста
- DX-Ball (1996): sound-pan восстановлен на C, 3205 тест-кейсов оригинала, 63/63 байта компиляции
- Touhou: 697 функций, 696 точных совпадений, играбельно за ~12 дней
- Super Mario Sunshine PC-порт: ~365 агенто-часов, 17.3B токенов
- ArtCraft: 7 приложений Adobe как clean-room Rust-альтернативы (альфа)
## Уроки из практики (пересборка Touhou)
- Чёткая цель + чёткие критерии приёмки для агента.
- Заметки и проверки — в git, чтобы следующая сессия продолжила.
- Любое объяснение агента = гипотеза, проверять.
- Тестируй свои тесты: сломанное сравнение однажды пропустило неправильную функцию.
## Локальная практика (наш Windows-стенд, 14.10.2026)
- rea 6.4.0: `tools/node-26.7.0-win32-x64/rea.cmd`; MCP `rea` в Hermes config = 170 tools.
- IDA attached-режим: env `REA_IDA_MCP_CONFIG` → ida-mcp.json (ida-pro-mcp 1.4.0 legacy, IDA GUI с плагином на :13337). Native-анализ бинарей — ТОЛЬКО через attached IDA.
- Windows-лимиты: binary-layout/pwntools = Linux-only; Go/Rust/WASM/EVM/SQLite-парсеры встроенные.
- Прогнано: `analyze-javascript-application` на TeleSender (90MB Electron) → Evidence-бандл 41878 узлов, JSON.
- Монетизация навыка: bug bounty (пайплайны 8 MCP + 300 инструментов + Ghidra/radare2/Frida окупаются), перенос легаси-софта, связывание тулов, восстановление утраченных исходников для компаний.