REA: Lass KI-Agenten Software ohne Quellcode rückentwickeln
Das Open-Source-Projekt REA (Reverse Engineer Anything) bindet Reverse-Engineering-Tools in KI-Programmieragenten wie Claude Code, Codex und Cursor ein. Du entdeckst eine praktische Funktion in der App einer anderen Person? Dann kannst du den Agenten das Programm analysieren und erklären lassen, wie die Funktion umgesetzt ist – mit Belegen. Anschließend kann er eine ähnliche Funktion in deinem eigenen Projekt schreiben. Beim Reverse Engineering wird ohne Quellcode anhand des kompilierten Programms rekonstruiert, wie es geschrieben wurde.
REA selbst ist ein MCP-Dienst. MCP ist eine universelle Schnittstelle, über die KI-Agenten externe Tools aufrufen können. Nach der Anbindung kann der Agent die Analysefunktionen von REA direkt im Chat nutzen. Die Installation erfordert nur den Befehl npx rea-agents setup. Dabei wird REA in Agenten wie Claude Code, Codex, Cursor, Gemini CLI und Grok Build registriert. Bevor die Konfiguration geändert wird, erstellt das Programm ein Backup und bittet um Bestätigung. Wer keinen Agenten verwenden möchte, kann die Befehle auch direkt im Terminal ausführen.
Analysieren lässt sich vieles. Für native Programme (Software, die direkt in Maschinencode kompiliert wurde) werden Disassembler wie Hopper, Ghidra oder IDA benötigt, die Maschinencode in Assembly und C-ähnlichen Pseudocode zurückübersetzen. Electron-Apps (Desktopsoftware auf Basis von Webtechnologien, zum Beispiel Notion) lassen sich direkt auseinandernehmen: Dazu wird das ASAR-Archiv im Installationspaket analysiert, um Module und die Kommunikation zwischen Prozessen nachzuvollziehen. Zusätzliche Tools sind dafür nicht erforderlich. Außerdem werden .NET-Programme, Android-APKs, Firmware, Websites, Netzwerkaufzeichnungen, Bytecode von Ethereum-Contracts sowie die Aufzeichnung des Laufzeitverhaltens von Programmen unter Linux und macOS unterstützt.
Die Analyse findet lokal statt; REA lädt das Zielprogramm nicht hoch. Die Analyseergebnisse werden jedoch an den Anbieter des Modellservices übermittelt, auf dem der Agent basiert. Wie die Daten verarbeitet werden, richtet sich nach den jeweiligen Richtlinien.
Das Projekt stellt drei Beispiele vor. Das erste ist das klassische Breakout-Spiel DX-Ball: Ausgehend von einem Aufruf zur Wiedergabe eines Soundeffekts wird die Funktion aufgespürt, die anhand der Ballposition die Signale für den linken und rechten Audiokanal berechnet. Unvollständiger Pseudocode wird zu C-Code rekonstruiert. Die Ergebnisse von 3.205 Tests stimmen mit dem Original überein, und auch die kompilierten 63 Bytes sind exakt identisch mit dem Original. Das zweite Beispiel ist die Desktopversion von Notion: Der vollständige Ablauf von Kopieren und Einfügen wird von der Benutzeroberfläche über Preload-Skripte und die Kommunikation zwischen Prozessen bis zum Hauptprozess verfolgt. Das dritte Beispiel ist das Spiel „Touhou Gensoukyou“ (TH04) für den japanischen Vintage-Computer PC-98: Aus 16-Bit-Instruktionen wird der Winkelalgorithmus für einen Ring aus Projektilen rekonstruiert.
Für Sicherheitsforscher sowie für Menschen, die alte Spiele nachbilden oder Software erhalten möchten, bedeutet das: Statt selbst Zeile für Zeile Disassembler-Ausgaben zu lesen und Aufrufketten Schritt für Schritt nachzuverfolgen, können sie den Agenten die Arbeit zunächst erledigen lassen und anschließend die vorgelegten Belege überprüfen. Auch Entwickler, die herausfinden möchten, wie eine bestimmte Funktion bei einem Konkurrenzprodukt umgesetzt wurde, haben damit eine weitere Möglichkeit.
Laut README hat das Projekt auf GitHub bereits 50.000 Sterne. Das npm-Paket wurde erstmals im Juli dieses Jahres veröffentlicht; die neueste Version 6.3.0 erschien heute.
Vor der Nutzung sind zwei Dinge zu beachten. Das Projekt erklärt, dass es ausschließlich legales Reverse Engineering unterstützt. Für die Einhaltung von Genehmigungen und Vorschriften sind die Nutzer selbst verantwortlich. Das Reverse Engineering fremder Software kann gegen Nutzungsbedingungen oder Urheberrechtsgesetze verstoßen. Außerdem stellt das Projekt klar, dass es noch nie eine Kryptowährung herausgegeben oder unterstützt hat. Token, die den Namen REA verwenden, stehen in keiner Verbindung zum Projekt.
https://github.com/morluto/rea
Das Open-Source-Projekt REA (Reverse Engineer Anything) bindet Reverse-Engineering-Tools in KI-Programmieragenten wie Claude Code, Codex und Cursor ein. Du entdeckst eine praktische Funktion in der App einer anderen Person? Dann kannst du den Agenten das Programm analysieren und erklären lassen, wie die Funktion umgesetzt ist – mit Belegen. Anschließend kann er eine ähnliche Funktion in deinem eigenen Projekt schreiben. Beim Reverse Engineering wird ohne Quellcode anhand des kompilierten Programms rekonstruiert, wie es geschrieben wurde.
REA selbst ist ein MCP-Dienst. MCP ist eine universelle Schnittstelle, über die KI-Agenten externe Tools aufrufen können. Nach der Anbindung kann der Agent die Analysefunktionen von REA direkt im Chat nutzen. Die Installation erfordert nur den Befehl npx rea-agents setup. Dabei wird REA in Agenten wie Claude Code, Codex, Cursor, Gemini CLI und Grok Build registriert. Bevor die Konfiguration geändert wird, erstellt das Programm ein Backup und bittet um Bestätigung. Wer keinen Agenten verwenden möchte, kann die Befehle auch direkt im Terminal ausführen.
Analysieren lässt sich vieles. Für native Programme (Software, die direkt in Maschinencode kompiliert wurde) werden Disassembler wie Hopper, Ghidra oder IDA benötigt, die Maschinencode in Assembly und C-ähnlichen Pseudocode zurückübersetzen. Electron-Apps (Desktopsoftware auf Basis von Webtechnologien, zum Beispiel Notion) lassen sich direkt auseinandernehmen: Dazu wird das ASAR-Archiv im Installationspaket analysiert, um Module und die Kommunikation zwischen Prozessen nachzuvollziehen. Zusätzliche Tools sind dafür nicht erforderlich. Außerdem werden .NET-Programme, Android-APKs, Firmware, Websites, Netzwerkaufzeichnungen, Bytecode von Ethereum-Contracts sowie die Aufzeichnung des Laufzeitverhaltens von Programmen unter Linux und macOS unterstützt.
Die Analyse findet lokal statt; REA lädt das Zielprogramm nicht hoch. Die Analyseergebnisse werden jedoch an den Anbieter des Modellservices übermittelt, auf dem der Agent basiert. Wie die Daten verarbeitet werden, richtet sich nach den jeweiligen Richtlinien.
Das Projekt stellt drei Beispiele vor. Das erste ist das klassische Breakout-Spiel DX-Ball: Ausgehend von einem Aufruf zur Wiedergabe eines Soundeffekts wird die Funktion aufgespürt, die anhand der Ballposition die Signale für den linken und rechten Audiokanal berechnet. Unvollständiger Pseudocode wird zu C-Code rekonstruiert. Die Ergebnisse von 3.205 Tests stimmen mit dem Original überein, und auch die kompilierten 63 Bytes sind exakt identisch mit dem Original. Das zweite Beispiel ist die Desktopversion von Notion: Der vollständige Ablauf von Kopieren und Einfügen wird von der Benutzeroberfläche über Preload-Skripte und die Kommunikation zwischen Prozessen bis zum Hauptprozess verfolgt. Das dritte Beispiel ist das Spiel „Touhou Gensoukyou“ (TH04) für den japanischen Vintage-Computer PC-98: Aus 16-Bit-Instruktionen wird der Winkelalgorithmus für einen Ring aus Projektilen rekonstruiert.
Für Sicherheitsforscher sowie für Menschen, die alte Spiele nachbilden oder Software erhalten möchten, bedeutet das: Statt selbst Zeile für Zeile Disassembler-Ausgaben zu lesen und Aufrufketten Schritt für Schritt nachzuverfolgen, können sie den Agenten die Arbeit zunächst erledigen lassen und anschließend die vorgelegten Belege überprüfen. Auch Entwickler, die herausfinden möchten, wie eine bestimmte Funktion bei einem Konkurrenzprodukt umgesetzt wurde, haben damit eine weitere Möglichkeit.
Laut README hat das Projekt auf GitHub bereits 50.000 Sterne. Das npm-Paket wurde erstmals im Juli dieses Jahres veröffentlicht; die neueste Version 6.3.0 erschien heute.
Vor der Nutzung sind zwei Dinge zu beachten. Das Projekt erklärt, dass es ausschließlich legales Reverse Engineering unterstützt. Für die Einhaltung von Genehmigungen und Vorschriften sind die Nutzer selbst verantwortlich. Das Reverse Engineering fremder Software kann gegen Nutzungsbedingungen oder Urheberrechtsgesetze verstoßen. Außerdem stellt das Projekt klar, dass es noch nie eine Kryptowährung herausgegeben oder unterstützt hat. Token, die den Namen REA verwenden, stehen in keiner Verbindung zum Projekt.
https://github.com/morluto/rea