
GUI de escritorio para el MCP de ingeniería inversa REA: navegador de código con listado, descompilador y grafo de funciones, además de 229 herramientas de análisis y un agente de IA en la misma sesión.
Abre una aplicación. Léela hasta la médula.
Inicio rápido · Cómo funciona Marrow · Qué puedes abrir · Demostración · Capturas de pantalla · Preguntas frecuentes · Desarrollo
[!NOTE] Marrow (antes REA Studio) es un proyecto independiente. Los autores de REA no lo crean ni lo respaldan. Marrow ejecuta el REA que tú instalas y no incluye una copia propia. Obtén REA desde morluto/rea o desde el paquete npm rea-agents.
Marrow es una aplicación de ingeniería inversa para macOS, Windows y Linux, construida sobre REA. REA realiza el análisis a través de su servidor MCP. Marrow le da las ventanas que un ingeniero inverso espera: un Listing con el desensamblado, un Decompiler, un Function Graph, el Symbol Tree, Bytes, cadenas, referencias, marcadores y búsqueda, dispuestos como el clásico CodeBrowser que mucha gente ya conoce.
Los binarios nativos se abren en ese CodeBrowser. Los paquetes de Apple, las aplicaciones Electron, las páginas web, los APK de Android, los ensamblados .NET, el firmware, las capturas de paquetes y las comparaciones de versiones tienen cada uno su propia ventana, y la ventana REA Tools enumera todas las herramientas de REA con un formulario para cada una.
Todo lo que aparece en pantalla proviene de las respuestas de REA, junto con la evidencia y las limitaciones que REA informó. Marrow no analiza los archivos por sí mismo, y cuando una herramienta falla muestra el error que REA devolvió. El análisis se ejecuta en tu propio ordenador.
Puedes incorporar a Claude a la misma sesión de dos maneras. Pega tu propia clave de API de Anthropic en AI Chat y habla con Claude dentro de Marrow, o activa el AI hub y conecta Claude Code, Claude Desktop o cualquier otro cliente MCP. De cualquier forma, Claude puede ejecutar las herramientas de REA, mover las vistas, renombrar funciones y añadir comentarios y marcadores mientras observas, y Marrow te pregunta antes de que algo salga fuera del análisis.
Obtén el instalador para tu sistema desde la última versión:
un DMG para Mac (Apple Silicon o Intel), un instalador .exe para Windows, o un AppImage o
.deb para Linux. Aún no están firmados, así que tu sistema te avisará la primera vez que abras Marrow;
las notas de la versión explican cómo superarlo.
npm install --global rea-agents. Requiere Node.js 22.23.4+, 24.22.1+ o 26.12.1+.rea doctor --provider ghidra te indica si REA
puede usarlos. Marrow busca Ghidra donde la gente suele instalarlo (~/Applications en un Mac,
tu carpeta personal o C:\ en Windows, tu carpeta personal o /opt en Linux) y JDK 21 en
Homebrew, Program Files o /usr/lib/jvm. Tool Options > REA Engine te permite indicarle
otra ubicación.Cuando Marrow se inicia, Getting Started verifica REA, Ghidra y Java y te indica cómo obtener lo que falte. Help > Contents lo abre de nuevo en cualquier momento.
git clone https://github.com/utabk/marrow.git
cd marrow
npm install
npm run dev
/bin/ls en Mac o Linux, o
C:\Windows\System32\notepad.exe en Windows. Para un binario universal de macOS, Marrow pregunta qué
arquitectura analizar.entry. Haz doble clic en un nombre en el Listing o
en el Decompiler para seguirlo, y pulsa ⌥← (Alt+← en Windows y Linux) para volver atrás.Para chatear dentro de Marrow, abre Window > AI Chat, haz clic en API Key y pega una clave de la
Anthropic Console. También puedes establecer ANTHROPIC_API_KEY antes de
iniciar Marrow. La clave se almacena cifrada con el almacén de claves de tu sistema (el Llavero de macOS,
DPAPI de Windows, o GNOME Keyring o KWallet en Linux) y solo el proceso principal de Marrow la lee.
Elige Claude Opus, Sonnet o Haiku en el menú de la parte superior del chat.
Para usar un agente que ya tengas, abre Window > AI Hub y activa el servidor. La ventana muestra
el comando que hay que ejecutar para Claude Code (claude mcp add marrow -- …) y el bloque que hay que pegar en
la configuración de Claude Desktop. El hub escucha en un socket local (una tubería con nombre en Windows), y antes de
cualquier mensaje MCP, Marrow y el conector demuestran cada uno que conocen un secreto guardado en tu perfil de Marrow,
de modo que ningún otro programa puede hacerse pasar por ninguno de los dos. No necesita ninguna clave de API en Marrow.
Cada programa que abres obtiene su propio proceso rea mcp, porque REA mantiene un objetivo abierto por
conexión. El proceso principal de Marrow se comunica con esos procesos mediante MCP sobre stdio. Las ventanas obtienen
sus datos del proceso principal a través de un pequeño puente tipado y nunca tocan archivos ni procesos
por sí mismas. REA ejecuta Ghidra en modo headless para código nativo y llama a otras herramientas donde las necesita
(otool y codesign en un Mac, adb, JADX, un navegador), y luego envía cada resultado junto con su
evidencia. AI Chat y el hub de IA llegan a REA a través del mismo proceso principal, con las mismas comprobaciones.
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