Reverse all software: REA geht auf GitHub 58.000 Stern, angent verwandelt sich in eine Frage.
GitHub hat kürzlich ein anderes Projekt in Brand gesetzt: REA. Der Benutzer sagte, es sei "zum 42.000 Stern", aber ab heute (10. Oktober 2026) ist die Zahl gestiegen. 58.000 Sterne, 11.000 Gabel- Mehr als sie sagen. Und was es tut, ist, dass Sie dasselbe sagen können: Sie verwenden es, um jede Software umzukehren, von der Anwendung auf die ursprüngliche Binärdatei zu graben.
I. REA: Was genau ist das Problem?
Die traditionelle Rückseite ist "Der Mensch sitzt ein paar Tage in einem Zähler-Compiler, um die Compilation zu lesen". Die Idee von REA ist es, einen Anti-Zirkulator (Originalcode mit Hopper, Ghidra oder IDA) zu aktivieren und dann eine Verbindung zu einem statischen Analysator für JavaScript herzustellen. NET. Angent ist dafür verantwortlich, das Tool in Frage zu stellen, Schlussfolgerungen zu sammeln und die Beweise zurückzugeben.
Sein README-Beispiel ist der gesamte Point of Sale: "Wissen Sie, wie die Suche in der Notes-Anwendung funktioniert, zeigen Sie mir die Beweise und machen Sie eine ähnliche Funktion für mein Projekt." Was Sie haben, ist eine Erklärung, ein Code-Standort und eine Liste von dem, was Sie nicht wissen.
Der entscheidende Punkt ist, alle lokalen Operationen zu analysieren, und die Schlussfolgerungen werden von Beweisen und Einschränkungen begleitet - nicht, um dem Modell zu erlauben, eine Erklärung für Sie zu erstellen.
ii. Welche Ziele zu essen
REA hat eine ziemlich breite Unterstützungsbasis, die im Wesentlichen gemeinsame umgekehrte Objekte abdeckt:
- Native Binary: Pseudocodes, Compilations, Strings, Symbole, Aufrufe und Referenzen (Hopper/Ghidra/IDA erforderlich)
- Offline ELF Layout: Absätze, Abschnitte, Originalsymbol/Reposition, statischer Minderungskandidat
- JavaScript/Elektron: Modul, Import, Source Map, Route, IPC-Beziehung zum primären Plugin (statische Analyse ohne primäre Engine)
- WebsiteSeitenstruktur, Skripte, Webbeobachtung und Screenshot
- .NET ProgrammsammlungMetadaten, CIL-Befehle, Deklaration der ursprünglichen Abhängigkeit gegenüber der Konstruktion (reine Statik)
- Android APKListenanweisung, Klasse, Reverse Translation Methode und Referenz (benötigt Headless JADX + komplettes JDK)
- Festkörper: Partitionen, Extraktionen schneiden sich mit der ursprünglichen Analyse (Binwalk / Unblob benötigt)
- EVM Bytes, Login Linux Abstürze, HAR Grabs, ProzessverhaltenWarten Sie.
Umweltanforderungen: Node.js 22.x (≥22.19), 24.x (≥24.11) oder 26+ plus npm. Unterstützte Agenten sind Claude Code, Codex, Cursor, Gemini CLI, Grok Build usw. - alle Agenten, die lokale MCP-Server unterstützen, sind grundsätzlich funktionsfähig. Installieren Sie eine Bestellung:npx rea-agents setupEs wird MCP-Server registrieren und die begleitende Workflow-Beschreibung schreiben und dann ant neu starten.
Drei öffentliche Fälle: Was kann es beweisen?
Sternzahlen repräsentieren Hitze und Fallergebnisse. Der REA-Beamte stellte drei Showcases aus "was kann" und "was kann nicht".
Fall 1: Schallfeldformel für DX-Ball
Frage: Wie hat DX-Ball in den 1990er Jahren die horizontale Position der Steine in ein linkes / rechtes Klangfeld übersetzt? Der Zähler-Compiler ist in 0x406400 Nur eine unbeobachtete Eingabe wurde gesehen __ftol() Ruf; fehlende Referenzen im Kommando [EBP+8]Ich weiß es nicht. Folgen Sie dem Anrufer 0x411f40 Koordinatenformel gefunden 20 + 30 × tile_x, und lesen Sie drei Konstanten aus dem Speicher 1.5625, 500.0 und der anfänglichen akustischen Skalierung 1.0.
Die Regel, die schließlich wiederhergestellt wird, ist: Koordinate doppelt, multipliziert mit 1,5625, minus 500,0, multipliziert mit gespeichertem akustischem Feld und dann abgeschnitten. Zoom auf 1 mit der linken Kante -500, Mitte 0, rechte Kante 500. Was wirklich Vertrauen schafft, sind die Mittel der Authentifizierung: Der Autor führt 3205 Beispiele gleichzeitig durch die ursprüngliche x86-Funktion und die neue C-Version aus (die 0-640 volle Positionen abdeckt, die Skalierung 0/05/1/20-1), und unter der festen VC 4.0-Toolkette werden die Bytes mit den ursprünglichen 63 Bytes abgeglichen. Der gesamte Projektbericht unterhielt 55 C-Funktionen, 45380 Vergleiche.
Es hat es nicht bewiesen.Der Schritt, das Klangfeld mit dem hinteren Ende des Spiels zu verbinden, ist noch nicht abgeschlossen, und das spielbare Produkt ist unvollständig; die Arbeit ist an einen festen Hash bei DX-Ball 1.07 gebunden; die Zusammenstellung von "repositionierten und überprüften Konstanten, die auf manueller Überprüfung beruhen" ist nicht vollständig automatisch.
Fall 2: Notion Wie man auf Clip Board kopiert
Springen Sie von den 90er Jahren binär zu einer modernen Elektronenanwendung. Frage: Notion Desktop 7.6.1 Wie schreibe ich Text und HTML in das Systemclipboard? Pfad in vier Segmenten: Preload-Script zur Seite ausgesetzt clipboard.writeEin Wrapper, der auf irgendeinem Kanal aufruft ipcRenderer.invoke;Hauptprozess ipcMain.handle Empfang; Elektron durch Sender clipboard.write Crash. Der gleiche Kanalname auf beiden Seiten. notion:clipboard:writeIch weiß es nicht.
Zwei Entdeckungen sind erwähnenswert: Der Hauptprozess-Handler wird überprüfen, welche Seite die Anfrage gesendet hat, und nur Notion hat seine eigenen Websets, um die Zwischenablage zu erreichen, um zu schreiben - Dies ist die richtige Position, für die Electron gelten sollte; die zweite ist, dass in der Kopie ein Datenstück versteckt ist, mit einem Kommentar in HTML, der auf Notion zeigt, um Mimetypes anzupassen text/_notion-blocks-v3-production Lokal gespeicherte Blockdaten. Revertiert den Eintrag beim Einfügen nach ID und gibt den Originaltext +HTML zurück, wenn der Eintrag abläuft.
Es hat es nicht bewiesen.: REA 4.1.0 analysiert nur das Label Preload, findet exponierte API und invoke Call, Wrapper erkennt, dass der Autor den Channel manuell liest und mit dem Empfänger verbindet; die Schlussfolgerung der Zwischenablage stammt aus dem Web-Ressource- und Spar-Cache vom 13. Juli 2026, nicht aus Live-Desktop-Sitzungen.
Fall 3: Playscreen für PC-98 Spiele Ring
Zurück zu 16 Bit DOS-Code. Das GERA-Programm unterstützt 16 Bits DOS-Analyse. Der Autor stellt die Fixwinkel und Zielwinkel hinter einem Bombenvorhangring wieder her, rekonstruiert sie mit C++ und vergleicht sie mit dem Output des historischen Compilers. Formen sind die gleichen wie DX-Ball: Stellen Sie einen kleinen Bruchteil der Berechnung wieder her, bauen Sie sie wieder auf und authentifizieren Sie sie dann mit dem Originalprodukt, anstatt an diese Erklärung zu glauben.
vier. Setzen Sie die drei Fälle zusammen.
- Es ist sehr eng.: eine akustische Formel, ein Clipboard-Pfad, ein Kugelvorhangring, und kein Fall sagt "Wiederaufbau der gesamten Anwendung".
- Die Beweise sind beigefügt.Adresse, Konstante, 3205 Tests, Kanalname, gespeicherte Sonde, Compilervergleich.
- Alle zugelassen manuelle Schritte.Manuell überprüft repositioniert, manuell gelesen Wrapper, Compiler-Matching.
- Ziele haben feste Versionen.DX-Ball 1.07 mit Hash, Notion 7.6.1, original PC-98 binär.
Das ist die ehrliche Grenze von heute:Agent ist ein schneller, unermüdlicher Assistent, um individuelles Verhalten zu verfolgen, und erweist sich als Test, aus dem Sie wieder laufen können.
V. Was es für Entwickler bedeutet
Wenn Sie angente Anwendungen durchführen, stellt die REA ein neues Muster dar: Anstatt das Modell direkt darüber "erraten" zu lassen, wie ein Programm läuft, setzen Sie das Modell auf ein professionelles Reverse-Tool, um es über Beweise sprechen zu lassen. Sein Wert ist nicht "Ein Schlüssel kehrt die gesamte Software um", aber er wird den umgekehrten Schwellenwert von "Compilationen lesen" auf "Frage + validiert" verschieben.
Aber seien Sie nüchtern zwei Punkte. Erstens ist die lokale Analyse nicht dasselbe wie der Datenfluss - Ihr Angent exportiert die Tools an Modelllieferanten, und die Datenpolitik gilt weiterhin. Zweitens hing die Qualität der Beweise von der Zertifizierungskette ab, und die Glaubwürdigkeit in dem Fall wurde aus den 3205 Vergleichen und Byte-Matching und nicht aus der mündlichen Interpretation des Modells abgeleitet.
Wie macht man das?
- Umgebung: Node.js 22.x (≥22.19)/ 24.x (≥24.11)/ 26+, plus npm
- Erste Schlüsselinstallation:
npx rea-agents setupWählen Sie Ihren Anent aus, überprüfen und genehmigen Sie Änderungen und starten Sie einen Anent neu - Globale Installation:
npm install --global rea-agents, später verfügbarrea --help - Statische JS/Elektronen-Analyse:
npx -y rea-agents@latest analyze-javascript-application /abs/path --json - Primäranalyse: Vorkonfiguration des Anbieters (Hopper/Ghidra/IDA)
- Update:
rea updateOder wieder laufen.npx rea-agents@latest setup
Das Gegenteil ist der Übergang von "Read Compilation" zu "Frage + Validierung" - das Tool hat den Schwellenwert gesenkt, aber die Beweise müssen noch getestet werden.