
Desktop-GUI für das REA Reverse-Engineering-MCP: Code-Browser mit Listing, Decompiler und Funktionsgraph sowie 229 Analysewerkzeuge und ein KI-Agent in derselben Sitzung.
Öffne eine App. Lies sie bis ins Mark.
Schnellstart · So funktioniert Marrow · Was du öffnen kannst · Showcase · Screenshots · FAQ · Entwicklung
[!NOTE] Marrow (früher REA Studio) ist ein unabhängiges Projekt. Die Autoren von REA erstellen es nicht und befürworten es nicht. Marrow führt das von dir installierte REA aus und liefert keine eigene Kopie mit. Beziehe REA von morluto/rea oder aus dem npm-Paket rea-agents.
Marrow ist eine Reverse-Engineering-App für macOS, Windows und Linux, aufgebaut auf REA. REA erledigt die Analyse über seinen MCP-Server. Marrow gibt ihr die Fenster, die ein Reverse Engineer erwartet: ein Listing mit dem Disassembly, einen Decompiler, einen Function Graph, den Symbol Tree, Bytes, Strings, Referenzen, Lesezeichen und Suche, angeordnet wie der klassische CodeBrowser, den viele bereits kennen.
Native Binaries öffnen sich in diesem CodeBrowser. Apple-Bundles, Electron-Apps, Webseiten, Android-APKs, .NET-Assemblies, Firmware, Paketmitschnitte und Versionsvergleiche haben jeweils ein eigenes Fenster, und das REA Tools-Fenster listet jedes REA-Tool mit einem Formular für jedes einzelne auf.
Alles auf dem Bildschirm stammt aus den Antworten von REA, zusammen mit den Belegen und Einschränkungen, die REA gemeldet hat. Marrow parst Dateien nicht selbst, und wenn ein Tool fehlschlägt, zeigt es den Fehler, den REA zurückgegeben hat. Die Analyse läuft auf deinem eigenen Computer.
Du kannst Claude auf zwei Arten in dieselbe Sitzung einbinden. Füge deinen eigenen Anthropic-API-Schlüssel in den AI Chat ein und sprich mit Claude innerhalb von Marrow, oder aktiviere den AI-Hub und verbinde Claude Code, Claude Desktop oder einen anderen MCP-Client. So oder so kann Claude die Tools von REA ausführen, die Ansichten bewegen, Funktionen umbenennen und Kommentare und Lesezeichen hinzufügen, während du zusiehst, und Marrow fragt dich, bevor etwas die Analyse nach außen verlässt.
Hole dir den Installer für dein System aus dem neuesten Release:
ein DMG für einen Mac (Apple Silicon oder Intel), einen .exe-Installer für Windows oder ein AppImage bzw.
.deb für Linux. Sie sind noch nicht signiert, daher warnt dein System beim ersten Öffnen von Marrow;
die Release-Notes erklären, wie du das umgehst.
npm install --global rea-agents. Es benötigt Node.js 22.23.4+, 24.22.1+ oder 26.12.1+.rea doctor --provider ghidra sagt dir, ob REA
sie verwenden kann. Marrow sucht Ghidra dort, wo es üblicherweise liegt (~/Applications auf einem Mac,
dein Home-Ordner oder C:\ unter Windows, dein Home-Ordner oder /opt unter Linux) und nach JDK 21 in
Homebrew, Program Files oder /usr/lib/jvm. Unter Tool Options > REA Engine kannst du es
woanders hin verweisen.Wenn Marrow startet, prüft Getting Started auf REA, Ghidra und Java und teilt Ihnen mit, wie Sie alles Fehlende erhalten. Help > Contents öffnet es jederzeit erneut.
git clone https://github.com/utabk/marrow.git
cd marrow
npm install
npm run dev
/bin/ls auf einem Mac oder Linux oder
C:\Windows\System32\notepad.exe unter Windows. Bei einer universellen macOS-Binärdatei fragt Marrow, welche
Architektur analysiert werden soll.entry zu springen. Doppelklicken Sie auf einen Namen im Listing oder
Decompiler, um ihm zu folgen, und drücken Sie ⌥← (Alt+← unter Windows und Linux), um zurückzugehen.Um innerhalb von Marrow zu chatten, öffnen Sie Fenster > KI-Chat, klicken Sie auf API-Schlüssel und fügen Sie einen Schlüssel aus der
Anthropic Console ein. Sie können auch ANTHROPIC_API_KEY setzen, bevor
Sie Marrow starten. Der Schlüssel wird verschlüsselt mit dem Schlüsselspeicher Ihres Systems gespeichert (dem macOS Keychain,
Windows' DPAPI oder GNOME Keyring bzw. KWallet unter Linux) und nur Marrows Hauptprozess liest ihn.
Wählen Sie Claude Opus, Sonnet oder Haiku aus dem Menü oben im Chat.
Um einen Agenten zu verwenden, den Sie bereits haben, öffnen Sie Fenster > KI-Hub und schalten Sie den Server ein. Das Fenster zeigt
den Befehl, der für Claude Code ausgeführt werden muss (claude mcp add marrow -- …), und den Block, der in
die Konfiguration von Claude Desktop eingefügt werden muss. Der Hub lauscht auf einem lokalen Socket (einer Named Pipe unter Windows), und vor
jeder MCP-Nachricht weisen Marrow und der Connector jeweils nach, dass sie ein Geheimnis kennen, das in Ihrem Marrow-
Profil gespeichert ist, sodass kein anderes Programm sich als einer von beiden ausgeben kann. In Marrow ist kein API-Schlüssel erforderlich.
Jedes Programm, das Sie öffnen, erhält seinen eigenen rea mcp-Prozess, da REA eine offene Zielverbindung pro
Verbindung verwaltet. Marrows Hauptprozess kommuniziert mit diesen Prozessen über MCP auf stdio. Die Fenster
beziehen ihre Daten vom Hauptprozess über eine kleine typisierte Bridge und greifen niemals selbst auf Dateien oder Prozesse zu.
REA führt Ghidra headless für nativen Code aus und ruft bei Bedarf andere Werkzeuge auf
(otool und codesign auf einem Mac, adb, JADX, einen Browser) und sendet dann jedes Ergebnis mit seinem
Nachweis zurück. KI-Chat und der KI-Hub erreichen REA über denselben Hauptprozess, mit denselben Prüfungen.
flowchart LR
subgraph marrow["Marrow"]
windows["Windows<br/>Listing, Decompiler, Function Graph,<br/>Security, REA Tools, AI Chat"]
main["Main process<br/>one REA session per open program"]
hub["AI hub"]
windows <-->|"typed bridge"| main
hub <--> main
end