Un proyecto open source llamado Reverse Engineer Anything (REA) está llevando los agentes de programación hacia un terreno que hasta ahora exigía herramientas y conocimientos muy especializados: la ingeniería inversa de aplicaciones y binarios. El proyecto conecta agentes como Claude Code, Codex, Cursor o Gemini CLI con herramientas como Ghidra, Hopper e IDA para que puedan investigar cómo funciona un programa sin disponer de su código fuente.
Las claves de REA y la ingeniería inversa con agentes en 30 segundos
- REA conecta agentes de IA con herramientas de análisis de binarios, JavaScript, Electron, .NET, Android y webs.
- Puede rastrear llamadas, módulos, referencias, instrucciones y otros indicios para construir una explicación basada en evidencias.
- El análisis puede ejecutarse localmente y devuelve también las limitaciones de cada conclusión.
- Incluye casos reales como el análisis del portapapeles de Notion y la reconstrucción de funciones de juegos antiguos.
- Su configuración inicial puede hacerse con
npx rea-agents setupy requiere aprobación del usuario.
La idea de REA no consiste en pedir a una inteligencia artificial que adivine cómo funciona un programa. Su propuesta es conectar el agente con herramientas de análisis que ya utilizan los especialistas en ingeniería inversa y devolverle los resultados para que pueda seguir investigando.
Ese matiz cambia bastante el alcance del proyecto. Un agente puede recibir una pregunta sobre una aplicación, lanzar diferentes análisis sobre sus componentes, seguir referencias y llamadas, reunir evidencias y después explicar qué ha encontrado. También puede utilizar esa información para escribir y probar una implementación similar.
El proyecto está disponible como software open source y permite trabajar desde el terminal o mediante integración con agentes de programación. Su configuración utiliza el protocolo MCP (Model Context Protocol), que permite conectar el agente con las herramientas de análisis.
De Claude Code a Ghidra con un mismo flujo
La configuración inicial de REA puede realizarse con Node.js y npm mediante un único comando:
npx rea-agents setup
El asistente permite seleccionar los agentes que se quieren conectar, revisar los cambios de configuración y aprobarlos. Después registra el servidor MCP y las instrucciones de trabajo correspondientes.
El sistema es compatible con Claude Code, Codex, Cursor, Gemini CLI, Grok Build y otros agentes. Para el análisis nativo puede utilizar una instalación existente de Hopper, Ghidra o IDA. REA también puede instalar Hopper durante la configuración si el usuario lo aprueba.

En el caso de aplicaciones JavaScript o Electron, la barrera de entrada es menor. El análisis estático no necesita uno de esos motores de ingeniería inversa y puede estudiar directamente una aplicación extraída o un archivo ASAR.
Por ejemplo, el proyecto ofrece un comando para analizar una aplicación:
npx -y rea-agents@latest analyze-javascript-application /ruta/absoluta/app --json
El resultado puede incluir módulos, importaciones, límites de Electron y las evidencias utilizadas para llegar a esas conclusiones.
Esto permite plantear preguntas que antes obligaban a combinar manualmente varias herramientas. Un desarrollador puede pedir al agente que investigue una función concreta, siga su recorrido por una aplicación y explique qué ocurre en cada etapa.
La herramienta no sustituye a Ghidra, Hopper o IDA. Los incorpora dentro de un flujo en el que el agente puede utilizarlos como parte de una investigación más amplia.
Qué puede analizar REA
El alcance actual del proyecto va bastante más allá de los ejecutables nativos.
En binarios nativos puede devolver pseudocódigo, ensamblador, cadenas, símbolos, llamadas y referencias. En aplicaciones JavaScript y Electron puede analizar módulos, importaciones, mapas de fuentes, rutas, comunicaciones IPC y relaciones con extensiones nativas.
También permite analizar ensamblados .NET, aplicaciones Android, firmware, paquetes y recursos, sitios web, capturas de tráfico de red y determinados registros de procesos.
En Android, por ejemplo, puede trabajar con APK y obtener información del manifiesto, clases, métodos descompilados y referencias. En .NET puede examinar metadatos, instrucciones CIL y dependencias nativas.
La filosofía del proyecto es mantener el análisis y sus evidencias separados de las conclusiones del agente. REA devuelve los resultados obtenidos por las herramientas para que el modelo pueda razonar sobre ellos, pero también muestra las limitaciones que existen detrás de cada conclusión.
Eso es importante en ingeniería inversa porque un pseudocódigo generado a partir de un binario no equivale automáticamente al código original. Los nombres pueden haberse perdido, las optimizaciones del compilador pueden haber cambiado la estructura y diferentes implementaciones pueden producir instrucciones similares.
De Notion a juegos antiguos
Los casos de demostración muestran hasta dónde puede llegar este enfoque cuando se combinan herramientas de análisis y agentes.
Uno de ellos estudia la implementación del portapapeles de Notion. REA sigue la interfaz del portapapeles desde el proceso renderer de Electron, pasa por preload e IPC y llega hasta el proceso principal para analizar el formato utilizado.
Otro caso reconstruye una función relacionada con el posicionamiento del sonido en DX-Ball. El análisis sigue una llamada hasta una función que calcula la posición panorámica, examina las instrucciones y utiliza la información obtenida para reconstruir una implementación en C.
Según el proyecto, esa reconstrucción fue capaz de superar 3.205 casos procedentes del código original y reproducir los 63 bytes de la función compilada.
También existe un caso dedicado a TH04, un juego para PC-98. REA analiza instrucciones de 16 bits, recupera cálculos relacionados con ángulos y compara el código C++ reconstruido con el resultado histórico del compilador.
Son ejemplos que ayudan a entender qué significa realmente «reverse engineer anything» en este proyecto. No implica recuperar automáticamente el código fuente original de cualquier programa. Significa proporcionar al agente herramientas para observar un sistema, formular hipótesis, buscar evidencias y reconstruir partes concretas de su comportamiento.
El propio proyecto establece además una advertencia importante: REA está destinado a investigación y análisis legítimos y el usuario es responsable de disponer de la autorización necesaria y cumplir la legislación aplicable.
La ingeniería inversa empieza a parecerse a una conversación
La parte más llamativa de REA no es que haya inventado una nueva técnica de descompilación. Ghidra, IDA y Hopper llevan años proporcionando herramientas muy potentes para analizar software.
Lo que cambia es la interfaz entre esas herramientas y el desarrollador.
En lugar de empezar abriendo un binario y recorriendo manualmente funciones, referencias y ensamblador, un agente puede recibir una pregunta en lenguaje natural y utilizar las herramientas disponibles para investigar el problema. El usuario puede pedir evidencias, cuestionar una conclusión y solicitar después una implementación basada en lo descubierto.
Ese modelo encaja especialmente bien con los agentes de programación actuales porque la investigación y la escritura de código dejan de ser procesos completamente separados.
La frontera, sin embargo, sigue estando en la calidad de las evidencias. Un agente puede acelerar el análisis, pero no convierte una reconstrucción en una copia exacta del código original ni elimina las limitaciones de las herramientas utilizadas.
REA está demostrando precisamente eso: que una parte de la ingeniería inversa puede pasar de una secuencia de operaciones manuales a un flujo guiado por instrucciones. Para desarrolladores que necesitan entender aplicaciones de terceros, investigar software antiguo o estudiar el comportamiento de un binario autorizado, la diferencia puede ser considerable.
Y quizá el detalle que mejor resume el cambio sea el más sencillo: instalar el flujo de trabajo empieza con npx rea-agents setup.
Preguntas frecuentes
¿Qué es Reverse Engineer Anything?
Reverse Engineer Anything (REA) es un proyecto open source que conecta agentes de programación con herramientas para analizar aplicaciones, binarios y otros artefactos de software. Devuelve resultados y evidencias para que el agente pueda investigar y explicar su funcionamiento.
¿Qué agentes son compatibles con REA?
El proyecto indica compatibilidad con Claude Code, Codex, Cursor, Gemini CLI, Grok Build y otros agentes. La documentación mantiene una lista de proveedores compatibles.
¿REA recupera el código fuente original de una aplicación?
No necesariamente. Puede producir pseudocódigo, ensamblador y reconstrucciones, pero el código original puede haberse perdido o haber sido transformado por compiladores y optimizaciones.
¿Es necesario tener Ghidra, Hopper o IDA?
Para determinados análisis de binarios nativos sí se necesita uno de esos motores. En cambio, el análisis estático de JavaScript y Electron puede realizarse sin un motor de análisis nativo.





