REA erklärt: Reverse Engineering mit KI-Agenten, getestet an eigenem Code
REA verbindet Coding-Agenten mit Werkzeugen, um Programme, Apps und Websites ohne Quelltext zu untersuchen. Wir haben es auf unser eigenes, minifiziertes Tracking-Skript angesetzt und die Rekonstruktion mit dem Originalquelltext verglichen. Dazu: was das Schweizer Urheberrecht zum Reverse Engineering sagt.

Was ist REA? REA («Reverse Engineer Anything») ist ein Open-Source-Werkzeug, mit dem ein KI-Agent fremde Software ohne deren Quelltext untersuchen kann: native Programme, Android-Apps, .NET-Dateien, JavaScript- und Electron-Anwendungen sowie Websites. Der Agent stellt eine Frage, REA liefert Belege, und der Agent erklärt daraus, wie eine Funktion arbeitet.
Wir haben REA an eigenem Code ausprobiert: an px.js, dem minifizierten Tracking-Skript von dlm-digital.ch. Weil wir den Originalquelltext kennen, konnten wir genau messen, wie nah die Rekonstruktion herankommt.
Warum REA gerade so gefragt ist
Laut GitHub hat morluto/rea Stand 04.11.2026 rund 429'116 Sterne, davon 426'427 im letzten Monat; damit stand es auf Platz 1 der monatlichen Trending-Liste. Das Repository wurde am 14.04.2026 angelegt, Lizenz MIT. Ein Zuwachs dieser Grösse ist ungewöhnlich. Woher er stammt, lässt sich aus dem Repository nicht belegen.
Belegbar sind schnelle Releases: Version 6.8.0 des npm-Pakets rea-agents erschien am 25.10.2026, laut Changelog unter anderem mit Agenten-Umgebungen aus Netzwerkmitschnitten und vielen neuen Dateiformaten. Das README warnt ausdrücklich vor Nachahmer-Repositories mit ähnlichem Namen; offizielle Quellen sind nur GitHub morluto/rea, rea.tools und das npm-Paket rea-agents.
So funktioniert es
REA ist kein Decompiler, sondern eine Schicht zwischen Agent und Analysewerkzeugen:
- Agent fragt: «Wie funktioniert die Suche in dieser AppEine App, kurz für Applikation oder Anwendung, ist ein Programm, das eine bestimmte Aufgabe für seine Nutzenden erledigt. Im Alltag meint man damit meist eine…Mehr erfahren →?»
- REA untersucht über das Model Context Protocol oder die Kommandozeile: statische Analyse von JavaScript, Anbindung an Hopper, Ghidra oder IDA für native Programme, Browser-Beobachtung für Websites.
- REA liefert Belege: Fundstellen mit Zeile und Spalte, Prüfsummen, ausdrücklich markierte Unbekannte und Einschränkungen.
- Der Agent erklärt und kann, laut README, eine eigene Umsetzung für das eigene Projekt bauen.
Für JavaScript braucht es keine externen Programme. Die Rückverwandlung minifizierter Bundles in lesbare Module übernimmt Wakaru, das REA nicht selbst installiert.
Installation
REA verlangt Node.js 22.23.4, 24.22.1 oder 26.12.1 und neuer. Das README empfiehlt npx rea-agents setup, das REA in Agenten wie Claude Code einträgt. Für unseren Test haben wir das Paket nur lokal in einem Testordner installiert, ohne Eingriff in die Agenten-Konfiguration:
mkdir rea-run && cd rea-run && npm init -y
npm i rea-agents@6.8.0
npx rea doctor
npx rea analyze-javascript-application /absoluter/pfad/target --json > analyze.json
npx rea recover-javascript-sources /absoluter/pfad/target/px.js /absoluter/pfad/out --json
Unser Test
Ziel war unser eigenes Skript px.js, 2'549 Bytes, wie es live ausgeliefert wird. Es zählt Seitenaufrufe, Klicks auf Telefon-, WhatsApp- und Mail-Links sowie Formularstarts, ohne CookiesCookies sind kleine Textdateien, die eine Website im Browser der Besucher speichert, um sie bei späteren Aufrufen wiederzuerkennen — etwa für einen Login,…Mehr erfahren →.
Zuerst lief REA allein. Die statische Analyse brauchte 6.4 Sekunden und schrieb 963 KB Belege für 2.5 KB Code. Richtig erkannt: Zugriffe auf den Sitzungsspeicher, das Senden per sendBeacon mit fetch als Ausweichweg, drei Timer (zweimal 0, einmal 1'500 Millisekunden), 16 Funktionen. Nicht erkannt: die Zieladresse der Daten (nur als Variable «w»), die Event-Listener für Klicks und Formulare als eigene Befunde. Falsch eingeordnet: Die gelesenen Parameter utm_source, gclid und Co. erschienen als «mögliche Netzwerk-Endpunkte» mit niedriger Sicherheit. Die Quelltext-Wiederherstellung brach ab, weil Wakaru als Linux-Programm verlangt wird.

Danach haben wir REA in Claude Code (Modell Claude Opus 5.5) so angewendet, wie es gedacht ist: Ein Agent ohne Zugriff auf unseren Quelltext sollte mit REA das Skript verstehen und lesbar nachbauen. Er machte fünf weitere REA-Aufrufe. Am nützlichsten war eine Suche nach allen Aufrufern der zentralen Tracking-Funktion: Sie fand alle sechs Stellen, an denen Ereignisse entstehen.

Wie genau trifft es? Die Rekonstruktion beschreibt alle Funktionen unseres Originals: Schutz vor doppeltem Laden, ausgeschlossene Pfade wie /admin, Opt-out per Meta-Tag, Erstquelle pro Sitzung, Bündelung von bis zu 30 Ereignissen, Unterscheidung echter Formulare von Suchformularen. In einem Testskript, das beide Fassungen in einem nachgebauten Browser laufen lässt, sendeten Original und Rekonstruktion in vier von vier Szenarien identische Daten. Was fehlte, war der fachliche Zusammenhang aus unseren Kommentaren, etwa wofür ein Formular-Ereignis im Auswertungs-Cockpit zählt. Das steht nirgends im ausgelieferten Code.
Ehrliche Bilanz: Der Agent schätzte den Anteil von REA an den Erkenntnissen auf 20 bis 25 Prozent. Für ein kleines Skript ist direktes Lesen durch ein gutes Sprachmodell schneller. Der Wert von REA dürfte bei grossen Bundles, Desktop-Apps und nativen Programmen höher liegen; das haben wir nicht getestet.
Beispiele aus der Praxis
- Eigene Altlasten verstehen: Ein KMU hat eine Website-Erweiterung, deren Quelltext verloren ist. Analyse des ausgelieferten Codes, um sie neu zu bauen.
- Datenschutz prüfen: Welche Daten sendet ein eingebundenes Skript eines Anbieters, mit dem ein Vertrag besteht? Belegte Antworten helfen beim Gespräch mit dem Anbieter und bei der DatenschutzerklärungEine Datenschutzerklärung informiert Besucherinnen und Besucher einer Website darüber, welche Personendaten zu welchem Zweck bearbeitet werden, an wen sie…Mehr erfahren →.
- Schnittstellen für eigene Software: Wie spricht ein lizenziertes Programm mit seiner Datei oder seinem Gerät, damit die eigene Software damit zusammenarbeitet? Genau dafür sieht das Gesetz eine Ausnahme vor, siehe unten.
Grenzen, Risiken, Lizenz
Rechtliches (keine Rechtsberatung): Das Urheberrechtsgesetz, Art. 21 erlaubt einer Person, die ein Programm rechtmässig gebrauchen darf, die Entschlüsselung des Programmcodes, um Informationen über Schnittstellen zu unabhängig geschaffenen Programmen zu gewinnen. Diese Informationen dürfen nur für die Entwicklung, Wartung und den Gebrauch interoperabler Programme genutzt werden und nur, soweit die normale Auswertung des Programms und die rechtmässigen Interessen der Rechteinhaber nicht unzumutbar beeinträchtigt werden. Weitere Grenzen können sich aus Lizenzverträgen und Nutzungsbedingungen ergeben, aus dem Schutz technischer Massnahmen (Art. 39a URG) und aus anderen Gesetzen. Ein fremdes Produkt nachzubauen, ist durch Art. 21 nicht abgedeckt. Wer fremde Software analysieren will, sollte das vorab rechtlich prüfen lassen. Unser Test betraf ausschliesslich eigenen Code.
- Lizenz: MIT. Mitgelieferte Drittwerkzeuge haben eigene Lizenzen, das Repository listet sie in THIRD_PARTY_NOTICES.md.
- Sicherheit: REA kann Zielprogramme ausführen und Browser steuern. Nur in einer abgetrennten Umgebung mit fremden Programmen arbeiten.
- Daten: Die Analyse läuft laut README lokal. Die Belege gehen aber an das Sprachmodell des Agenten, und damit an dessen Anbieter.
- Plattform: Mehrere Funktionen sind laut Dokumentation an Linux gebunden, etwa die JavaScript-Wiederherstellung mit Wakaru.
Für wen lohnt sich REA?
Für Entwickler und Sicherheitsfachleute, die regelmässig fremde Binärdateien, Apps oder grosse Bundles verstehen müssen, idealerweise unter Linux. Für kleine Skripte reicht ein gutes Sprachmodell allein. Wer eine Altanwendung ohne Dokumentation ablösen oder an eigene Software anbinden möchte, findet bei uns Individualsoftware aus der Schweiz; den Begriff selbst erklärt unser Glossar unter Reverse Engineering.
Mehr Werkzeuge aus dieser Reihe: alle 20 GitHub-Trends vom November 2026.
Häufige Fragen
Was ist REA?+
REA steht für «Reverse Engineer Anything». Es ist ein Open-Source-Werkzeug mit MCP-Server und Kommandozeile, über das ein Coding-Agent Programme, Apps, JavaScript-Bundles und Websites ohne Quelltext untersuchen kann. Die Ergebnisse kommen mit Belegen und offen ausgewiesenen Unsicherheiten zurück.
Kann REA minifizierten JavaScript-Code zurückverwandeln?+
Die eigentliche Wiederherstellung lesbarer Module überlässt REA dem Programm Wakaru, das laut Dokumentation als Linux-x64-Version verlangt wird. Auf unserem Mac war das nicht verfügbar. Die statische Analyse lief, die lesbare Fassung schrieb in unserem Test der KI-Agent selbst, gestützt auf die Belege von REA.
Ist Reverse Engineering in der Schweiz erlaubt?+
Das Urheberrechtsgesetz erlaubt in Art. 21 unter bestimmten Bedingungen, Programmcode zu entschlüsseln, um Schnittstelleninformationen für interoperable Programme zu gewinnen. Lizenzverträge, technische Schutzmassnahmen und andere Gesetze können weitere Grenzen setzen. Im Einzelfall ist eine Rechtsberatung nötig.
Wie genau war die Rekonstruktion im Test?+
Unser Skript mit 2'549 Bytes wurde vollständig und funktionsgleich rekonstruiert: In vier nachgestellten Browser-Szenarien sendeten Original und Rekonstruktion identische Daten. Laut dem Agenten stammten aber nur etwa 20 bis 25 Prozent der Erkenntnisse direkt aus REA, der Rest aus dem Lesen des Codes.
Über den Autor
Daniel MüllerSenior Developer & SEO-Stratege
Daniel Müller ist Senior Developer und SEO-Stratege bei DLM Digital in Zürich. Mit über 10 Jahren Erfahrung in Webentwicklung, SEO, GEO/AEO und KI-Integration begleitet er Schweizer KMU bei der digitalen Transformation. Im DLM Magazin schreibt er über KI, Vibe Coding und moderne Suchmaschinen-Sichtbarkeit.


