Hace una semana contamos qué es REA, la herramienta de código abierto que conecta agentes de IA como Claude Code o Codex con desensambladores como Ghidra, IDA o Hopper para estudiar programas de los que no se tiene el código fuente. Desde entonces ha triplicado su popularidad: ya pasa de 300,000 estrellas en GitHub. Repasamos qué programas se han analizado con ella, qué se ha descubierto y qué polémicas han empezado a aparecer.
Para entenderlo, conviene separar dos tipos de casos. Los de la web oficial, rea.tools, son demostraciones del propio proyecto, con las pruebas publicadas en su repositorio. Los de la comunidad son proyectos de terceros que dicen haber usado REA: los hemos comprobado en sus repositorios, pero lo que cuentan no está verificado por nadie más, y casi todos son proyectos pequeños, creados en los últimos días. Nuestra guía práctica de REA explica cómo instalarlo y probarlo.
Los casos oficiales
- Aegis Authenticator. En la versión 3.4.3 de esta aplicación de Android para la verificación en dos pasos, REA encontró la función que genera los códigos de acceso y confirmó que sigue el estándar TOTP: un código de 6 dígitos que cambia cada 30 segundos, calculado con HMAC-SHA1. Después rastreó desde dónde se llama y lo reprodujo en una demostración.
- La calculadora de Windows 11. ¿Por qué 200 + 10 % da 220, y 200 × 10 % da 20? REA localizó en el programa la rama del porcentaje: cuando la operación anterior es una multiplicación o una división, el porcentaje se calcula sobre 100; con una suma o una resta, sobre el número anterior. El resultado se contrastó con el código de la calculadora que Microsoft publicó como software libre. La propia ficha reconoce que una persona ayudó a elegir qué función mirar.
- Un reto de seguridad. En un problema de la competición DownUnderCTF 2023, un programa sin símbolos que comprueba una contraseña, REA extrajo las 26 condiciones sobre una cuadrícula de 6 por 6 que debía cumplir la respuesta, planteó el sistema de ecuaciones y obtuvo la clave que hace que el programa responda «Correct!».
- Los tres que ya contamos. El juego DX-Ball de 1996, la aplicación de escritorio de Notion y el Touhou 4 para PC-98.
Lo que ha hecho la comunidad
En los últimos días han aparecido varios proyectos que usan REA para estudiar programas comerciales conocidos y crear después una versión propia, sin copiar su código:
- QuickBooks para Mac. El proyecto ledger-reborn estudió con REA el programa de contabilidad de Intuit y, a partir de ahí, escribió una aplicación de contabilidad propia, de código abierto. Es una versión preliminar, no hace todo lo que QuickBooks y aclara que no tiene relación con Intuit.
- CapCut. ReaCut es un editor de vídeo de código abierto, hecho con Electron y FFmpeg, para el que se usó REA para entender la interfaz y el formato de los proyectos del popular editor de ByteDance. Asegura que no copia código ni recursos de CapCut.
- El mando del Apple TV. Con REA y Ghidra, el proyecto remote-me desentrañó el mando a distancia que Apple integra en el iPhone para hacer un mando web que funciona desde cualquier navegador, también con televisores LG.
- Ultima VI. Un equipo descompiló con REA la versión para Amiga de este clásico de rol de 1990 y llevó el motor a Rust y al navegador. Para jugar hay que aportar los archivos originales del juego.
Hay más ejemplos recogidos en la lista awesome-rea, desde el protocolo de una impresora térmica hasta un clon de Obsidian. Lo que no hemos encontrado es ningún fallo de seguridad atribuido a REA: ni vulnerabilidades con número CVE, ni avisos de fabricantes, ni recompensas por fallos. Por ahora se usa más para entender y reimplementar programas que para buscar agujeros.
Las primeras polémicas
El caso más visible es el de GensokyoClub, un grupo de aficionados que reconstruye a mano el código de los juegos de Touhou. En su proyecto de Touhou 8 anuncia que trabajará en privado hasta terminar, por culpa de los «aprovechados» que publican descompilaciones y versiones hechas con IA a partir de su trabajo. En el propio repositorio de REA hay debates abiertos sobre el riesgo de infringir derechos de autor si el agente llega a ver el código original de un programa, y sobre la posibilidad de que los proveedores de IA cierren cuentas a quien analice software propietario o intente saltarse protecciones anticopia. Además, el proyecto advierte de que circulan copias con nombres parecidos: las únicas fuentes oficiales son su repositorio en GitHub, rea.tools y el paquete rea-agents de npm.
Por qué importa
Las primeras semanas de REA muestran qué pasa cuando la ingeniería inversa deja de ser cosa de especialistas: aparecen en días versiones independientes de programas comerciales como QuickBooks o CapCut, y juegos antiguos que vuelven a funcionar en el navegador. Es útil para conservar software, entender formatos cerrados y aprender cómo están hechos los programas. Pero también reabre un debate legal sin resolver. La ingeniería inversa para lograr compatibilidad está permitida en muchos países, pero muchos programas la prohíben en sus condiciones de uso, y reimplementar una aplicación ajena con ayuda de una IA que ha leído su binario está en una zona gris. De momento, ninguna de las empresas afectadas ha reaccionado en público.
Datos contrastados con el repositorio de REA y los casos de Aegis y DownUnderCTF en rea.tools, y con los repositorios de ledger-reborn, ReaCut, remote-me, ultima6, awesome-rea y GensokyoClub. Portada: ilustración de decodigo.com.
Fuente: REA, «Reverse Engineer Anything»
