REA (Reverse Engineer Anything) es uno de los repositorios más virales del año. Tiene más de 429.000 estrellas en GitHub y, entre los proyectos creados en 2026, es el que más acumula. La idea llama la atención: le añades una herramienta a tu agente de código y este puede analizar programas ya compilados, de esos de los que no tienes el código fuente.
En este artículo te cuento qué es, cómo instalarlo y qué pasó cuando lo probé con una aplicación real. También te explico por qué Claude a veces se niega a usarlo, porque ahí hay más de una causa. Lo hago con un proyecto open source: mi enfoque es didáctico y no quiero enseñar a descompilar programas propietarios.
Qué es REA
REA es un servidor MCP, es decir, una herramienta que conectas a tu agente: Claude Code, Codex, OpenCode, Cursor o cualquier otro que admita MCP local. Por debajo usa motores de ingeniería inversa que ya existían, como Ghidra, IDA o Hopper, y le da a tu agente una forma sencilla de utilizarlos.
Conviene aclarar dos cosas desde el principio:
- REA no clona aplicaciones. Le da a tu agente las herramientas para entender cómo funciona un programa, pero el código lo escribe el modelo.
- No recupera el código original. En programas nativos devuelve pseudocódigo y ensamblador, y su propio aviso legal advierte que el análisis puede ser incompleto o incorrecto.
Por eso, que un agente te entregue algo que funciona no significa que sea una copia exacta de lo que había dentro.
Antes de empezar: Claude puede bloquearte
Desde finales de octubre se viralizaron posts en Reddit y en X donde se ve cómo Claude Code se niega a ciertas tareas o corta la respuesta a la mitad con un aviso de seguridad. Aquí va un matiz sobre lo que conté en el video, porque después de grabarlo revisé mejor las fuentes: en realidad hay dos mecanismos distintos.
1. Una regla nueva contra recrear juegos. Addy Osmani, de Anthropic, confirmó que añadieron dos frases al prompt de Claude Code con Opus 5.5 para que no recree el juego concreto de otra persona. Los juegos originales, los de un género y los hechos con tus propios diseños y recursos deberían seguir funcionando. El texto que circula lo publicó el usuario chasm, aunque Anthropic no lo ha citado.
2. Los clasificadores de ciberseguridad. Existen desde hace meses. Cuando detectan una petición de riesgo, pueden cortar la respuesta o cambiar la sesión a Opus 4.8. Es lo que me pasó a mí durante la demo. Muchos usuarios sienten que ahora saltan más, pero no hay datos que lo demuestren y Anthropic no ha dicho si los cambió en octubre. Tom's Hardware y Kotaku recogen también reportes de bloqueos en tareas legítimas.
Ninguna de las dos medidas nombra a REA: no está prohibido. Y como REA no depende del modelo, puedes usarlo con otro agente. Eso sí, no es una salida automática. Cursor con modelos Opus mantiene las salvaguardas de Anthropic y Codex tiene las suyas. Los modelos abiertos suelen ser más permisivos, pero eso no cambia lo que dice la licencia del programa que analizas.
Si haces trabajo de seguridad legítimo, existe el Cyber Verification Program, que no sirve para recrear juegos ni para clonar programas.
La aplicación de prueba: Flameshot
Para la demo usé Flameshot, una herramienta de capturas de pantalla con editor. Es open source, con licencia GPL v3, está hecha con C++ y Qt y funciona en Linux, Windows y macOS. Al ser una aplicación nativa y compilada, REA tiene que trabajar de verdad.
¿Por qué hacer ingeniería inversa de algo que ya es código abierto? En la vida real no lo harías: irías a GitHub y lo clonarías. Pero no puedo hacer esta demo con programas propietarios de empresas, y con una aplicación abierta no hay riesgo legal.
Cómo instalar REA
Hazlo desde el repositorio oficial. Hay muchas copias con nombres parecidos, y un README copiado no demuestra que una descarga sea oficial.
Basta con tener Node instalado y ejecutar:
npx rea-agents setup
Lo más cómodo es pegarle el comando a tu agente y decirle que lo ejecute y verifique que tienes lo necesario. Tres cosas que debes saber:
- Dependencias: el
setupsolo ofrece instalar Hopper, y Ghidra o IDA usan lo que ya tengas. En mi caso, Java, Ghidra y JADX los instaló el agente porque se lo pedí. La parte de IDA, Hopper y otras herramientas comerciales exige que tengas licencia. - Windows: el soporte de Ghidra en Windows es experimental y de solo lectura.
- Configuración: REA modifica la configuración de tu agente. El
setupya crea copias de seguridad, aunque yo pedí una adicional para poder restaurarla después de las pruebas.
En mi máquina todo tomó unos cinco minutos.
¿Se come el contexto de tu agente?
Dentro de Claude Code, ejecuta /context. Yo tenía alrededor de 500 herramientas MCP entre todos mis servidores, y las instrucciones de esos servidores apenas ocupaban un 0,4 % del contexto. Esto es porque Claude Code usa tool search: las herramientas MCP se cargan bajo demanda, y al inicio solo se leen sus nombres e instrucciones.
Si en tu caso sí ocupan mucho, revisa que no tengas ENABLE_TOOL_SEARCH=false en tu entorno, porque esa opción las carga todas de entrada.
La prueba: un botón nuevo con OCR
Clonar no es lo más interesante; lo útil es añadirle algo que no tiene. Le pedí esto:
Analiza flameshot.exe con REA y crea una nueva versión que tenga un botón que permita hacer OCR enviando los datos a OpenRouter con un modelo de DeepSeek.
Aquí apareció el aviso de seguridad, que intentó pasarme a Opus 4.8. A pesar de ser un proyecto abierto, se marcó como algo a revisar. Le di más contexto (es una demo, en local, de un proyecto open source cuya licencia lo permite) y siguió. Eso fue lo que pasó en mi sesión; no significa que explicar el contexto funcione siempre, ni que mencionar a REA sea el disparador, porque Anthropic no publica qué los activa.
El agente generó una carpeta con tres partes: el código reconstruido en C++, la nueva versión con su binario y las herramientas que usó. Ten en cuenta que Flameshot es abierto y que durante el proceso aparece una opción de construir desde fuente, así que no te tomes esta demo como prueba de que todo ese C++ salió solo del ejecutable.
El resultado
La nueva versión instalada ya mostraba un icono para extraer texto con OCR. Faltaba la clave, así que creé una en OpenRouter, una plataforma que da acceso a muchos modelos desde un solo lugar, y le puse una expiración de un día para la prueba. También le pedí un panel lateral para ver las pantallas, y lo añadió sin problema.
Después probé con un texto y con una factura de ejemplo: seleccionas la zona, pulsas el botón y en el panel aparece la transcripción. A partir de ahí puedes seguir pidiendo cosas, porque ya tienes el control del código.
Un detalle importante: lo que captures sale de tu máquina hacia un servicio externo. Con facturas o datos sensibles, tenlo en cuenta. Lo mismo pasa con REA: el análisis corre en local, pero tu agente envía los resultados a su proveedor de modelo.
¿Se puede proteger el código con ciertos nombres?
En el video comento una jugada que circula: escribir funciones con términos que hacen que el modelo se niegue a seguir analizando. Lo cuento como curiosidad, porque no lo he probado y no encontré una fuente que lo confirme. Es plausible, ya que los clasificadores revisan todo lo que lee el modelo, pero no lo tomes como una técnica de protección: basta con usar otro modelo para que deje de servir.
Los límites legales
REA está pensado para investigación legal, educación, interoperabilidad, preservación y software propio o autorizado. Su aviso dice que no apoya copiar software propietario ni evadir las medidas de seguridad de los proveedores de IA, y que tener una copia de un programa o que sea público no te da permiso por sí solo.
Si publicas tu versión de Flameshot, cumple la GPL: mantén la licencia y ofrece el código. Y con cualquier otro programa, revisa antes su licencia.
Conclusión
REA baja mucho la barrera para entender un programa compilado, y lo más valioso no es copiar, sino estudiar y mejorar algo que ya usas. Eso sí, los resultados hay que comprobarlos, y las reglas de los modelos están cambiando semana a semana.
¿Ya lo has probado, o te ha bloqueado algún modelo? Cuéntamelo en los comentarios.