---
title: REA - Reverse Engineering für Ihr Codiermittel
url: https://rea.tools/de/
---

Reverse Engineering mit Ihrem Codierungsagenten

# Finde heraus, wie Software funktioniert.

Frag deinen Coding-Agenten nach einer App, einem Spiel oder einer Website. REA gibt ihm die Werkzeuge, um den Code hinter der Antwort zu untersuchen.

[Erste Schritte](https://rea.tools/get-started/)
[Ein Beispiel ansehen ↓](https://rea.tools/de/#dinosaur)

## Einrichten von REA

Kopiere diesen Prompt in deinen Coding-Agent:

Ihr Codierungsagent

Installiere REA mit npx rea-agents@latest setup und verbinde es mit diesem Coding-Agent. Zeige mir zuerst die geplanten Änderungen und warte auf meine Zustimmung. Prüfe anschließend die Installation.

Oder führe diesen Befehl im Terminal aus:

`npx rea-agents@latest setup`

Prüfe und bestätige die geplanten Änderungen. Starte danach deinen Agent neu.


Setup-Optionen


Weitere Installationsoptionen: [curl →](https://rea.tools/get-started/#curl-installation)

Zum ersten Mal oder vermisst Node.js oder ein Kodierungsagent? [Befolgen Sie die Schritt-für-Schritt-Anleitung zur Einrichtung →](https://rea.tools/get-started/)

[RL-Umgebungen erstellen →](https://rea.tools/de/#rl-environments)

Zeichne eine Web-App zum Trainieren und Testen von Agenten auf.

[Präsentieren →](https://rea.tools/de/showcase/)

Untersuchungen und interaktive Demos.

[Blog →](https://rea.tools/de/blog/)

Methoden und Notizen zur Rekonstruktion.

## So funktioniert es

Reverse Engineering heißt, Software zu verstehen, indem man das Programm selbst untersucht. Mit REA kann dein Agent dem Code folgen, eine Funktion erklären und dir helfen, sie nachzubauen.

1. ### Nach einer Funktion fragen

   Gib deinem Agenten ein Programm oder eine Seite und eine Frage.
2. ### Das Programm untersuchen

   REA hilft deinem Agenten, den Code zu lesen und zu untersuchen, was das Programm während der Ausführung macht.
3. ### Verstehen, dann etwas ändern

   Dein Agent nutzt die Ergebnisse, um die Funktion zu erklären oder nachzubauen.

Die vollständige Taschenrechner-Untersuchung ansehen

Warum ergibt 200 + 10% im Taschenrechner 220?

### Die Anweisungen Schritt für Schritt verfolgen

Original x64 \* ausgewählte Anleitung 

```
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
0x180124960: LEA RCX, [RSP + 0x160]
0x180124968: CALL 0x180122650
0x18012496e: LEA RDX, [R13 + 0x160]
0x180124975: LEA RCX, [RSP + 0x78]
0x18012497a: CALL 0x180109720
0x18012497f: MOV RSI, RAX
0x180124982: MOV qword ptr [RSP + 0x28], RAX
0x180124987: LEA RDX, [RSP + 0x160]
0x18012498f: MOV RCX, RAX
0x180124992: CALL 0x180123190
; … value-copy instructions omitted …
0x180124a14: MOV RDX, RDI
0x180124a17: LEA RCX, [RSP + 0xf8]
0x180124a1f: CALL 0x180109720
0x180124a24: LEA R8, [RSP + 0x30]
0x180124a29: MOV RDX, RAX
0x180124a2c: LEA RCX, [RSP + 0xb8]
0x180124a34: CALL 0x180123c10
```



01 \* Welche Branche?

“**0x5b? 0x5 Grad?** Zwei Sprünge an die gleiche Stelle. Welche Betreiber sind das?”

Suchen Sie nach den Befehls-IDs und beschriften Sie den Zweig.

0x5b
:   Teilen ÷

0x5c
:   Multiplizieren ×

02 · Was machen die aufgerufenen Funktionen?

“100 ist klar. Die Anrufe sind nur Adressen. **Welcher teilt sich? Welcher Wert geht ein?**”

Überprüfen Sie die Hilfsfunktionen und verfolgen Sie die gespeicherten Werte.

0x64
:   100

…123190
:   Teilen

03 · Was ist die Regel?

“Dieser Pfad multipliziert sich mit der anderen Eingabe. So **10% bedeutet 10% von 200** nach +.”

Benennen Sie die Operanden und überprüfen Sie beide Operatorpfade.

200 × 10 / 100
**20**

![](https://rea.tools/assets/localized/de/figures/analyst-thinking.svg)

Anschauliche Argumentation von Experten

**Sie entschlüsseln die Anweisungen, folgen den Funktionsaufrufen und rekonstruieren die Berechnung.**

Dem Agenten dieselbe Frage stellen

Beispiel Eingabeaufforderung \* Rechner

Verwenden REA inspizieren Windows Rechner. Warum ergibt 200 + 10% 220?

Beispielantwort \* basierend auf den Ergebnissen

Nach + nimmt die% -Taste **ein Prozentsatz der ersten Zahl.**

`10% of 200 = 20`**200 + 20 = 220**

REA liefert
:   Die Anweisungen des Handlers, dekompilierter Code und Aufrufe.

Dein Agent erklärt
:   Welcher Zweig gilt, was er berechnet und wie er neu erstellt wird.

Ausgewählte Baugruppe aus der installierten Taschenrechner-DLL. Die Gedanken und Antworten veranschaulichen die Ergebnisse. [Fahren Sie mit dem Taschenrechnerbeispiel fort ↓](https://rea.tools/de/#calculator)

Probieren wir zwei Beispiele: die Geschwindigkeit eines Spiels ändern und die %-Taste des Taschenrechners nachbauen.

Beispiel 01 \* Dinosaurier-Spiel von Chrome

## Warum wird der Dinosaurier schneller?

Das Spiel wird schneller, während du läufst. Um es mit einer Geschwindigkeitssteuerung nachzubauen, müssen wir zuerst verstehen, wie sich die Geschwindigkeit ändert.

### 1. Nach der Geschwindigkeit fragen

Beispielfrage · Dinosaurierspiel

Verwenden Sie REA, um dieses Dinosaurierspiel zu inspizieren. Warum wird es schneller? Zeigen Sie die Geschwindigkeitsregel an und bauen Sie dann eine kleine Version mit einstellbarer Geschwindigkeit.

### 2. Die Geschwindigkeitsregel finden

Mit REA kann der Agent den laufenden Spielcode lesen. Die Geschwindigkeit beginnt bei 6 und steigt bei jeder Aktualisierung ein wenig, solange sie unter 13 liegt.

### 3. Das Ergebnis spielen

Wir haben diese Regel im Minispiel unten nachgebaut und einen Geschwindigkeitsregler ergänzt. Drücke Spielen und wähle dein Tempo.

Geschwindigkeit 6.0
 Verwenden Sie die wiederhergestellte Beschleunigungsregel

Ursprüngliche Regel: Beginnen Sie bei 6 und erhöhen Sie sich dann in Richtung 13.

Bewegen Sie den Schieberegler, um Ihre eigene Geschwindigkeit einzustellen. Leertaste oder Sprung löscht einen Kaktus.



Aktiviere JavaScript zum Spielen. Die Regel und den Quellcode unten kannst du weiterhin lesen.

[Öffnen Sie das Geschwindigkeitslabor →](https://rea.tools/de/examples/dino-lab/)

Sehen Sie sich das Skript, die Überprüfungen und das Ausprobieren der Analyse an

Untersuchtes Ziel: [wayous von Chromium abgeleitete Browser-Edition](https://wayou.github.io/t-rex-runner/).

REA \* geladen index.js \* ausgewählte Linien

```
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}
```

Beginnen Sie bei 6. Hinzufügen 0.001 jedes Update ohne Kollision, während die Geschwindigkeit darunter liegt 13.

Was jeder Teil tut

1. 01 · REA

   Lesen Sie das Skript des laufenden Spiels

   Geben Sie den tatsächlichen Code und die Einstellungen an den Agenten zurück.
2. 02 · Ihr Agent

   Erstellen Sie die Regel neu, fügen Sie ein Steuerelement hinzu

   Verwenden Sie die wiederhergestellte Beschleunigung in einem kleinen Spiel mit einem Geschwindigkeitsregler.
3. 03 · Sie

   Ändern Sie die Geschwindigkeit und spielen Sie

   Probieren Sie die ursprüngliche Beschleunigung aus und wählen Sie dann Ihr eigenes Tempo.

REA überprüfte die HTTP-Browser-Edition über eine lokale Debugging-Verbindung und gab das geladene zurück `index.js`, einschließlich seiner Quelle und Verdauung.

Ausgewählte Einstellungen aus dem überprüften Skript

```
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6
```

Wir haben die Update-Funktion des Originalspiels in einem kontrollierten Browser-Check aufgerufen, bei dem Hindernisse und die automatische Zeitplanung deaktiviert waren. Nach 4.000 Aktualisierungen betrug die Geschwindigkeit 10,0; Nach 10.000 war es 13,0, auf eine Dezimalstelle gerundet.

Das neue Minispiel hält diese Geschwindigkeitsregel ein. Sein Zeichen-, Sprung- und Kollisionscode ist eine kleine Unterrichtsimplementierung. [Öffnen Sie das Labor](https://rea.tools/de/examples/dino-lab/) um den neuen Code zu sehen und die gleiche Geschwindigkeitsprüfung durchzuführen.

Um das Ziel selbst zu inspizieren, folgen Sie den Anweisungen [schritte zur Browser-Verbindung](https://rea.tools/de/guides/browser/#prepare) wobei [die Dinosaurier-Seite](https://wayou.github.io/t-rex-runner/). Geben Sie Ihrem Agenten die Seiten-URL und Ihren lokalen Debugging-Endpunkt an und kopieren Sie dann die obige Eingabeaufforderung.

[Geprüfter Geschwindigkeitscode](https://github.com/wayou/t-rex-runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571) ·  [Chromium Autoren \* BSD-Lizenz](https://rea.tools/assets/licenses/dinosaur.txt)

Beispiel 02 \* Windows Rechner

## Die %-Taste des Rechners nachbauen.

Die %-Taste verhält sich nach + und × unterschiedlich. Finden wir beide Regeln und probieren sie in einem kleinen Taschenrechner aus.

### 1. Nach der %-Taste fragen

Beispielfrage · Taschenrechner

Verwenden Sie REA, um die% -Schaltfläche des Windows-Rechners zu überprüfen. Stellen Sie die Regeln nach + und × wieder her und erstellen Sie dann einen kleinen Taschenrechner, der beide verwendet.

### 2. Beide Regeln finden

REA hilft dem Agenten, den Code hinter der %-Taste zu lesen. Er wendet zwei unterschiedliche Regeln an:

Mit +
:   Nimm 10% der ersten Zahl.`10% of 200 = 20 → 200 + 20 = 220`

Mit ×
:   Verwandle 10% in 0,1.`200 × 0.1 = 20`

### 3. Die %-Taste ausprobieren

Wir haben beide Regeln unten nachgebaut. Wähle + oder ×, drücke % und dann =.

200 +
**20**

10% von 200 = 20. Dann ist 200 + 20 = 220.

Interaktive Darstellung der geprüften Prozentregel.

Sehen Sie sich den echten Code an und wie die Antwort überprüft wurde

Für dieses Beispiel, `previous = 200` und `current = 10`.

Lesbare Zusammenfassung des % -Handlers

```
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}
```

Von der installierten App zu einer funktionierenden% -Schaltfläche

1. 01 \* REA liest calc.exe

   Es startet die Taschenrechner-App

   Der Code öffnet sich `ms-calculator:`. Der Agent wählt dann die Bibliothek der installierten App aus.
2. 02 \* REA liest die Bibliothek

   Geben Sie den Code des% -Handlers zurück

   Die Funktion überprüft den Operator und verwendet die Konstante `100`.
3. 03 · Ihr Agent interpretiert es

   Erklären und reproduzieren Sie die Regeln

   Überprüfen Sie den Zweig mit der Quelle von Microsoft und versuchen Sie dann oben + und ×.

REA \* ausgewählte Originalanleitung

```
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
```

Betreiber-IDs \* Quelle von Microsoft

```
#define IDC_MUL 92      // 0x5c
#define IDC_DIV 91      // 0x5b
#define IDC_PERCENT 118 // 0x76

0x64 = 100
```

Geprüft mit REA 4.1.0: Windows-Rechner 11.2508.4.0, x64. Die lesbare Zusammenfassung verwendet Namen aus der öffentlichen Quelle von Microsoft, um den wiederhergestellten Zweig zu erläutern.

[Prozentuale Umsetzung](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalcManager/CEngine/scifunc.cpp#L98-L111) · [Testfälle von Microsoft](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalculatorUnitTests/CalculatorManagerTest.cpp#L350-L370) · [Anleitung zur nativen Einrichtung](https://rea.tools/guides/native/)

## REA Fallstudien.

Entdecke eine Funktion in einer veröffentlichten App oder einem Spiel, mit Code und geprüften Ergebnissen.

[Präsentieren →](https://rea.tools/de/showcase/)

Androide \* APK Analyse

### Wie ein Authentifikator einen Anmeldecode generiert

Verfolge den sechsstelligen Anmeldecode von Aegis in der veröffentlichten APK. Bewege dann die Demo-Uhr und sieh, warum er sich alle 30 Sekunden ändert.

[Lesen Sie die Android-Fallstudie](https://rea.tools/showcase/aegis/)

Electron \* Merkmalsverfolgung

### Wie Notion Text und HTML kopiert

Folge Notions gebündeltem JavaScript bis zur Systemzwischenablage und sieh, wie eine Kopie strukturierte Blockdaten bewahrt.

[Lesen Sie die Notion-Fallstudie](https://rea.tools/de/showcase/notion/)

Einheimische \* Rekonstruktion

### DX-BallS Berechnung der linken / rechten Klangposition

Rekonstruiere, wie die Ballposition in einem Windows-Spiel von 1996 zum linken oder rechten Ton wird.

[Lesen Sie die DX-Ball-Fallstudie](https://rea.tools/de/showcase/dx-ball/)

## RL-Umgebungen erstellen

Erstelle aus einer aufgezeichneten Webanwendungssitzung eine lauffähige Umgebung zum Trainieren und Testen von KI-Agenten.

Dein Agent zeichnet die Anfragen des Browsers und die Antworten der App auf. REA erstellt daraus eine lokale Umgebung, in der Agenten Aufgaben üben können, ohne die ursprüngliche App auszuführen.

Damit das Löschen von Ordnern unterstützt wird, muss die Aufzeichnung den Ordner vor dem Löschen zeigen und bestätigen, dass er danach nicht mehr vorhanden ist.

[Anleitung zum Erstellen einer Umgebung](https://rea.tools/guides/rl-environments/) · [Demo auf X ansehen](https://x.com/reatools/status/2112574822584918075?s=20)

Richte REA in deinem Agenten ein und ersetze die Beispiel-URL und die Ordneraufgaben durch deine eigenen:

Ihr Codierungsagent

Erstelle mit REA eine RL-Umgebung aus meiner Test-Web-App unter `http://127.0.0.1:3000`. Decke das Auflisten, Erstellen, Umbenennen und Löschen von Ordnern ab. Du darfst Testordner anlegen und entfernen. Lass bestehende Daten unverändert. Speichere sie in einem Ordner namens `my-env`, prüfe die verfügbaren Operationen und erkläre mir den Start.

Beispiel-Prompt. Ersetze URL und Ordneraufgaben durch deine eigenen.

Ihre erste Untersuchung

## Probieren Sie REA mit einer kleinen App aus.

Laden Sie unser Notizbeispiel herunter, verfolgen Sie den Export von CSV und überprüfen Sie eine geänderte Eingabe.

[Probieren Sie das geführte Beispiel aus](https://rea.tools/de/first-investigation/)

## Wähle dein Ziel.

Diese Anleitungen behandeln die Einrichtung und eine erste Untersuchung für jede Art von Software.

### Maschinencode-Programme

Überprüfen Sie Funktionen, Zeichenfolgen, Referenzen und Funktionsaufrufbeziehungen in ausführbaren Dateien und Bibliotheken.

[Handbuch zur Analyse von Maschinencode-Programmen](https://rea.tools/guides/native/)

### Modell: JavaScript und Electron

Verfolge den Code einer JavaScript-Desktop-App.

[Anwendungs-Workflows](https://rea.tools/guides/javascript/)

### Browser- & Laufzeit-Aktivität

Erfassen Sie ausgewählte Browser- oder Prozessaktivitäten und vergleichen Sie dann die Ergebnisse über Läufe hinweg.

[Anleitung zur Browserbeobachtung](https://rea.tools/de/guides/browser/)

Ein größeres Projekt ausprobieren

Beispiel Eingabeaufforderung \* Website

Verwenden Sie REA zum Überprüfen https://rea.tools/. Klonen Sie diese Website für mich.

Ja, das hier.

Beispiel-Eingabeaufforderung \* Spielrekonstruktion

Verwenden Sie REA, um dieses Spiel aus seiner ausführbaren Datei zu rekonstruieren. Stellen Sie die Gameplay-Logik in C wieder her und testen Sie sie gegen das Original.

[Siehe die Fallstudie DX-Ball →](https://rea.tools/de/showcase/dx-ball/)

## Noch Fragen?

[Lies die FAQ](https://rea.tools/de/faq/), wenn du Hilfe bei der Einrichtung oder Antworten auf häufige Fragen suchst.

[Tritt Discord bei](https://discord.gg/GkcryMnJDM), um Hilfe zu bekommen und deine Untersuchungen zu besprechen.

Melde Fehler oder schlage Funktionen in [GitHub Issues](https://github.com/morluto/rea/issues/new/choose) vor.
