1. Projektübersicht
REA (Reverse Engineer Anything) ist ein Open-Source-MCP-Server (Model Context Protocol) und Kommandozeilen-Tool, das KI-Agenten ermöglicht, Software zu untersuchen – von nativen Binärdateien über Electron-Apps, Websites und Android-Pakete – zu erklären, wie sie funktioniert, und jede Schlussfolgerung mit Belegen zu untermauern – alles läuft lokal auf deinem Rechner.
2. Hintergrund & Positionierung
Warum es entwickelt wurde
Reverse Engineering bedeutet normalerweise, zwischen vielen spezialisierten Tools (Dekompilern, Disassemblern, Paketanalysatoren, Browser-Entwicklertools) zu wechseln und die Ergebnisse manuell zusammenzufügen. REA gibt KI-Codierungsagenten eine einzige, konsistente Schnittstelle zu diesen Tools, sodass ein Agent ein Ziel ohne dessen Quellcode untersuchen, beschreiben kann, wie sich eine Funktion verhält, und beim Aufbau einer ähnlichen helfen kann.
Wie es sich von ähnlichen Projekten unterscheidet
- Ein MCP für viele Ziele: Statt eines Einzweck-Plugins für einen Dekompiler deckt REA Binärdateien, Anwendungen und Laufzeitverhalten in einem Server ab.
- Belegorientierte Ausgabe: Ergebnisse enthalten den unterstützenden Pseudocode, Assembly, Symbole, Referenzen und einen Hinweis auf bekannte Einschränkungen.
- Anbieterunabhängig: Native Analyse kann Hopper, Ghidra oder IDA verwenden, und Offline-Inspektion kann GNU objdump oder Rizin nutzen.
- Lokal und statik-first: Analyse läuft lokal; statische JavaScript- und .NET-Inspektion liest Dateien, ohne sie auszuführen.
- Doppelte Schnittstelle: Dieselben Workflows stehen Agenten über MCP und Menschen über die
rea-CLI zur Verfügung.
3. Funktionskategorien
🧩 Native Binärdateien & Firmware
- Abdeckung: native ausführbare Dateien, ELF, Go/Rust, WASM, EVM-Bytecode, Firmware-Images
- Beispiele: Pseudocode und Assembly über Hopper/Ghidra/IDA; ELF-Sektionen, -Segmente und Mitigationskandidaten (pwntools); Go/Rust-Compiler- und Crate-/Abhängigkeitsinformationen; WASM-Validierung und WAT-Formen (WABT); EVM-Dispatch-Selektoren und Mutabilität; Firmware-Entpacken (Binwalk/Unblob)
- Zweck: kompilierten Code verstehen, wenn kein Quellcode verfügbar ist.
🌐 Web- & JavaScript-Anwendungen
- Abdeckung: Websites, JavaScript und Electron-Apps
- Beispiele: Module, Importe, Routen und IPC in Electron-Apps; native Add-ons; Seitenstruktur, Skripte, Netzwerkdaten und Screenshots für Websites (Chrome-Familie-Browser)
- Zweck: kartieren, wie eine Web- oder Desktop-Web-Anwendung aufgebaut ist.
📱 Mobile & .NET
- Abdeckung: Android-APKs und -Geräte, .NET-Assemblies, Flutter, Apple-App-Bundles
- Beispiele: APK-Manifeste und dekompilierte Methoden (JADX + JDK); Geräteprotokolle und Dateiübertragungen (adb); .NET-Metadaten, CIL-Anweisungen und Build-Vergleiche
- Zweck: mobile und verwaltete Code-Software untersuchen.
📡 Daten, Netzwerk & Signale
- Abdeckung: SQLite, Paketerfassungen, Logikanalysator-Aufzeichnungen, Prozessverhalten
- Beispiele: SQLite-Tabellen, -Indizes, -Views, -Trigger und -Zeilen; pcap-Analyse über TShark; Logiksignal-Dekodierung über sigrok-cli; Laufzeit-Prozesserfassung
- Zweck: Datenspeicher und Laufzeitverhalten neben dem Code untersuchen.
🤖 Agentenintegration
- Abdeckung: Claude Code, Codex, Cursor, Gemini CLI, Grok Build und andere Agenten, die lokale MCP-Server unterstützen
- Beispiele: Ein-Befehl-
setup, installierte Workflow-Anweisungen, eine veröffentlichte Agenten-Fähigkeit, eine vollständigerea-CLI - Zweck: die Tools aus dem Agenten nutzbar machen, in dem du bereits arbeitest.
4. Hauptmerkmale
- Breite Zielabdeckung: Ein Server verarbeitet Dutzende Zieltypen, von nativem Code bis zu Websites.
- Belegorientierte Ergebnisse: Jede Antwort kommt mit ihren unterstützenden Artefakten und genannten Grenzen, was die Überprüfung von Ergebnissen erleichtert.
- Geführte Einrichtung:
setupzeigt vorgeschlagene Konfigurationsänderungen zur Genehmigung an und sichert die bestehende Konfiguration, bevor sie angewendet werden. - Bring deine eigenen Tools: REA integriert sich in die Dekompiler und Dienstprogramme, die du bereits hast; es installiert oder aktualisiert sie nicht.
- Dokumentierte Vorführungen: Fallstudien umfassen eine DX-Ball-Rekonstruktion, die 3.205 originale x86-Testfälle besteht, eine Electron-Zwischenablage-Bridge-Studie für Notion und eine DOS-Kugelring-Berechnung für TH04.
- Lokalisierte Dokumentation: Die README ist in 20 Sprachen verfügbar.
5. Anwendungsfälle nach Rolle
- Allgemeine Entwickler: undokumentiertes Verhalten verstehen, untersuchen, wie eine Bibliothek oder App eine Funktion implementiert, oder an Interoperabilität arbeiten.
- DevOps/SRE: Drittanbieter-Binärdateien und Desktop-Apps untersuchen, Abhängigkeiten in Go/Rust-Builds überprüfen und Netzwerkerfassungen prüfen.
- Sicherheitsingenieure: Binärdateien triagieren, ELF-Mitigationen überprüfen, APKs, Firmware und Paketerfassungen analysieren – nur an Software, die du untersuchen darfst.
- Daten-/Forschungswissenschaftler: Tabellen aus SQLite-Dateien extrahieren, Dateiformate dokumentieren und Software-Erhaltungsarbeit unterstützen.
- Projektmanager: lesbare, belegorientierte Zusammenfassungen darüber erhalten, wie sich ein Konkurrenz- oder Legacy-Produkt verhält, um die Planung zu informieren.
6. Erste Schritte
🔍 Finde, was du brauchst
Durchsuche die Anleitungen und Vorführungen unter rea.tools/guides und rea.tools/showcase oder sieh dir die Dokumentation im Repository an (docs/cli.md, docs/mcp-contracts.md).
⚙️ Installieren und integrieren
Erfordert Node.js 22.19+, 24.11+ oder 26+ und npm.
# REA bei deinem(n) Agenten registrieren und Anweisungen installieren
npx rea-agents setup
# Oder die globale CLI installieren
npm install --global rea-agents
rea --help
# Eine extrahierte JavaScript/Electron-App vom Terminal aus analysieren
npx -y rea-agents@latest analyze-javascript-application /absoluter/pfad/zur/app --json
# Eine globale Installation aktualisieren
rea update
Starte deinen Agenten nach der Einrichtung oder Aktualisierung neu.
🤝 Mitwirken
Eröffne ein Issue oder einen Pull-Request. Siehe CONTRIBUTING.md für Entwicklungseinrichtung und -prüfungen und SECURITY.md für die Meldung von Schwachstellen.
7. Projektstruktur
rea/
├── src/ # Kernquellcode (TypeScript)
├── bridge/ # Bridge-Komponenten
├── native/windows/ # Windows-native Unterstützung
├── website/ # Quelle für rea.tools
├── docs/ # Dokumentation, übersetzte READMEs, Assets
├── tests/ # Test-Suiten
├── scripts/ # Wartungsskripte
├── licenses/ # Lizenztexte
├── third_party/ # Drittanbieter-Material
├── CONTRIBUTING.md
├── DISCLAIMER.md
├── SECURITY.md
└── THIRD_PARTY_NOTICES.md
docs/enthält Installation, CLI, MCP-Verträge, Anbieteranleitungen, Roadmap und eine Architekturübersicht.docs/readme/enthält die übersetzten READMEs.THIRD_PARTY_NOTICES.mdlistet die Lizenzen der gebündelten oder referenzierten Komponenten auf.
8. Verwandtes Ökosystem
- Analyse-Anbieter: Hopper, Ghidra, IDA, GNU objdump, Rizin
- Unterstützende Tools: JADX, Apktool, adb, JEB, WABT, pwntools, Binwalk, Unblob, TShark, sigrok-cli
- Verteilung: das rea-agents npm-Paket
- Agenten-Fähigkeit: reverse-engineer-anything auf skills.sh
- Vorführ-Repositories:
N0zoM1z0/dx-ballundN0zoM1z0/th04 - Agenten: Claude Code, Codex, Cursor, Gemini CLI, Grok Build und andere MCP-fähige Clients
9. Lizenz
- ✅ REA-eigener Code wird unter der MIT-Lizenz veröffentlicht: verwenden, modifizieren und weiterverbreiten.
- ✅ Für rechtmäßige Forschung, Bildung, Interoperabilität, Software-Erhaltung und Analyse von Software, die du besitzt oder untersuchen darfst.
- ❌ REA gewährt keine Lizenzen oder Schlüssel für kommerzielle Tools wie IDA Pro, Hopper oder JEB; du musst sie selbst legal erwerben.
- ❌ Nicht für die Analyse von Software gedacht, die du nicht untersuchen darfst.
- ℹ️ Drittanbieter-Komponenten behalten ihre eigenen Lizenzen (siehe
THIRD_PARTY_NOTICES.md). - ℹ️ Überprüfe
DISCLAIMER.mdvor der Verwendung und installiere nur aus dem offiziellen Repository, rea.tools oder demrea-agentsnpm-Paket.
10. FAQ
F: Mit welchen KI-Agenten funktioniert REA?
A: Claude Code, Codex, Cursor, Gemini CLI, Grok Build und andere Agenten, die lokale MCP-Server unterstützen. Führe npx rea-agents setup aus, um es zu registrieren.
F: Muss ich einen Dekompiler installiert haben?
A: Für nativen Binärcode-Pseudocode, ja – Hopper, Ghidra oder IDA. Viele andere Ziele (JavaScript, .NET, Go/Rust, SQLite) verwenden eingebaute oder leichtgewichtige Inspektion. REA installiert keine Anbieter für dich.
F: Verlassen meine Daten meinen Rechner?
A: Die Analyse läuft lokal. Statische Inspektion liest Dateien, ohne sie auszuführen; Laufzeiterfassung führt das Ziel unter deinen eigenen Berechtigungen aus.
F: Wie aktualisiere ich REA?
A: Führe rea update für eine globale Installation aus oder npx rea-agents@latest setup, um Agentenregistrierungen nach einem npx-Update zu aktualisieren.
F: Wo kann ich es in Aktion sehen?
A: Siehe rea.tools/showcase für Fallstudien wie DX-Ball und Notion.
11. Schnelllinks
- Repository: https://github.com/morluto/rea
- Website und Anleitungen: https://rea.tools
- npm-Paket: https://www.npmjs.com/package/rea-agents
- Installationsdokumentation: https://github.com/morluto/rea/blob/main/docs/installation.md
- Mitwirkungsanleitung: https://github.com/morluto/rea/blob/main/CONTRIBUTING.md
- Community: Discord-Server und GitHub-Issues/Pull-Requests (im README verlinkt)
12. Zusammenfassung
REA gibt KI-Agenten eine einzige, belegorientierte Schnittstelle zum Reverse Engineering von Binärdateien, Anwendungen, Websites und Laufzeitverhalten – alles läuft lokal. Es eignet sich für Entwickler, Sicherheitsingenieure und Forscher, die Software verstehen möchten, die sie untersuchen dürfen, ohne für jedes Ziel ein separates Tool zu benötigen.