REA (Reverse Engineer Anything): Cómo los Agentes Descompilan y Reconstruyen Apps
Ingeniería Inversa con Inteligencia Artificial
Es una herramienta de código abierto (open source) diseñada para facilitar la ingeniería inversa de aplicaciones móviles, de escritorio o sitios web utilizando asistentes de IA, permitiendo analizar su funcionamiento y código.
REA (abreviatura de Reverse Engineer Anything) es un servidor MCP y CLI de código abierto que proporciona a los agentes de codificación IA herramientas reales de ingeniería inversa. En lugar de adivinar cómo funciona una función, tu agente puede descompilar un binario, rastrear el código relevante y mostrar la evidencia detrás de cada conclusión — y luego escribir y probar una versión para tu propio proyecto. Esta guía cubre qué es REA, cómo funciona, qué puedes analizar y cómo configurarlo.
¿Qué es REA?
REA conecta tu agente IA con herramientas para inspeccionar binarios nativos, aplicaciones JavaScript y Electron, ensamblados .NET y sitios web. Utiliza el Model Context Protocol (MCP) para que un agente pueda solicitar análisis a través de un servidor local, seguir el código relevante y recibir los hallazgos junto con su evidencia y limitaciones declaradas.
La propuesta central: ver una función que te gusta en una app, entender cómo funciona hasta el nivel binario y reconstruirla. Le pides a tu agente que investigue una función con REA, y puede inspeccionar la app sin su código fuente, explicar cómo funciona la función, mostrar la evidencia y construir una versión para tu proyecto.
Algunos datos clave:
Licencia e idioma: Tiene licencia MIT y está escrito en TypeScript, distribuido como rea-agents en npm.
Local por defecto: El análisis se ejecuta localmente, y los resultados incluyen la evidencia y las limitaciones detrás de cada conclusión.
Impulso: Cobertura de terceros lo describe como un proyecto activo que fue tendencia #1 en GitHub en octubre de 2026, y el repositorio lista más de 125k estrellas en el momento de escribir esto.
Cómo funciona REA
REA se sitúa entre tu agente y un conjunto de herramientas de análisis consolidadas. Utiliza el Model Context Protocol para permitir que los agentes soliciten análisis a través de un servidor local. El agente le pide a REA que inspeccione un objetivo, sigue el código que importa y recibe hallazgos estructurados.
El flujo de trabajo se reduce a tres pasos: descompilar, entender, recrear. Apuntas tu agente a una app, preguntas cómo funciona una función, y REA le permite descompilar el binario, seguir el código entre funciones y mostrar la evidencia detrás de su explicación.
Internamente, REA enruta las solicitudes a la herramienta correcta. Cuando le pides a tu agente que realice ingeniería inversa de una app, el MCP de REA lo dirige a herramientas como Ghidra, Hopper o IDA para la descompilación, y también puede incorporar cosas como Chrome DevTools para inspeccionar apps web o de estilo Electron. La biblioteca gestiona la capa de traducción para que el agente no necesite saber cómo operar cada herramienta individualmente.
Eso importa porque la ingeniería inversa normalmente implica manejar varias herramientas especializadas. Ghidra para descompilación, Hopper para desensamblado, trazadores dinámicos para comportamiento en tiempo de ejecución — cada herramienta tiene su propia CLI, superficie de API y gestión de sesiones, y REA las expone todas a través de un único servidor MCP para que los agentes puedan coordinar sin gestionar el estado específico de cada herramienta.
Los mismos flujos de trabajo están disponibles desde tu terminal, por lo que los investigadores que prefieren los scripts no están limitados a un agente.
Qué puedes analizar
La cobertura de REA es amplia. Según la tabla de capacidades del propio proyecto, puedes apuntarlo a:
Binarios nativos — pseudocódigo, ensamblado, cadenas, símbolos, llamadas y referencias (vía Hopper, Ghidra o IDA).
Apps JavaScript / Electron — módulos, importaciones, mapas de fuente, rutas, relaciones IPC y de complementos nativos, inspeccionados estáticamente sin ejecutar la app.
Ensamblados .NET — metadatos, instrucciones CIL y dependencias nativas declaradas (solo estático, sin motor adicional necesario).
APKs de Android — declaraciones del manifiesto, clases, métodos descompilados y referencias (vía JADX sin cabeza y un JDK).
Sitios web — estructura de página, scripts, observaciones de red y capturas de pantalla (vía un navegador de la familia Chrome).
WASM, bytecode EVM, binarios Go, firmware, capturas de red guardadas y fallos de Linux grabados — cada uno con sus propios requisitos y guía.
Una decisión de diseño clave: la inspección estática de JavaScript y .NET lee los archivos sin ejecutarlos, mientras que la captura en tiempo de ejecución realmente ejecuta o interactúa con el objetivo usando tus permisos. El análisis nativo depende de un proveedor — utiliza Ghidra, IDA Pro o Hopper para binarios nativos — por lo que los formatos y el soporte del host varían según cuál tengas instalado.
Cómo configurarlo
La configuración es un único comando.
Con una versión compatible de Node.js y npm instalados, ejecuta:
npx rea-agents setup
Eliges tus agentes, revisas los cambios propuestos y los apruebas; la configuración añade el servidor MCP de REA e instrucciones de flujo de trabajo correspondientes, con copias de seguridad de la configuración existente, y luego reinicias tu agente.
La configuración cubre los principales agentes de codificación. Las opciones compatibles incluyen Claude Code, Cursor, Codex, Gemini CLI y Grok Build, y otros clientes que admiten servidores MCP locales pueden usar el registro manual.
Para trabajo nativo profundo necesitarás un proveedor. El análisis nativo puede usar una instalación existente de Hopper, Ghidra o IDA, mientras que el análisis estático de JavaScript no necesita ningún motor nativo — según el repositorio, la configuración puede instalar Hopper opcionalmente tras tu aprobación.
Una vez conectado, preguntas en lenguaje natural — por ejemplo, «entiende cómo funciona la búsqueda en la app de Notas, muéstrame la evidencia y construye una función similar para mi proyecto» — y el agente ejecuta todo el ciclo.
¿Es legal usarlo?
La ingeniería inversa se encuentra en un espacio legal matizado, y REA es explícito en que es una herramienta para uso lícito. El proyecto lo enmarca como destinado a investigación, educación, interoperabilidad, preservación de software y análisis de software que posees o estás autorizado a examinar. También señala que los motores comerciales como IDA Pro, Hopper y JEB deben obtenerse legalmente bajo sus propias licencias — REA no otorga ninguna licencia de herramienta ni activación. Trata esos términos como tu primer paso antes de apuntar un agente a cualquier cosa que no poseas.
Por qué esto importa para los flujos de trabajo de IA
REA forma parte de un patrón más amplio: dar a los agentes herramientas reales y evidencia en lugar de pedirle a un modelo que razone desde la memoria. Es el mismo cambio detrás de los runtimes de agentes como DeepSeek Harness y superficies de desarrollador de propósito específico como Cursor Origin — el valor está en el acceso estructurado a herramientas y la salida verificable, no solo en el modelo.
El diseño de «mostrar la evidencia» es la parte interesante. Un agente que puede citar la función exacta, el desplazamiento de bytes o la llamada IPC detrás de una afirmación es mucho más confiable que uno que resume un binario por intuición.
Haz esto con tu propia fuerza laboral de IA
REA muestra lo que los agentes pueden hacer cuando les das herramientas reales y pides resultados verificables. Eigent aplica la misma idea al trabajo cotidiano: una fuerza laboral «Cowork» multi-agente de código abierto y local que ejecuta tareas reales — revisando código y pull requests, investigando y automatizando flujos de trabajo de múltiples pasos — en tu propia máquina. Si quieres agentes que actúen con herramientas en lugar de adivinar, descarga Eigent y construye el tuyo propio.
No existe un mecanismo de “adoctrinamiento total” que haga que los votantes del PSOE le voten “hagan lo que hagan” de forma automática e irracional. Lo que sí hay, según datos demoscópicos, análisis sociológicos y estrategias documentadas, es un conjunto de mecanismos de lealtad electoral bastante robustos (aunque no invulnerables) que explican por qué el partido mantiene un suelo electoral relativamente alto pese a escándalos, pactos controvertidos y desgaste de gestión.
Esto es un análisis tipo “reverse engineering” (descomponer el sistema en sus componentes observables) basado en encuestas (CIS y privadas), perfiles de votantes y estrategias públicas del partido. No es una teoría conspirativa ni una defensa del PSOE.
Componentes principales de la lealtad
- Identidad y tradición de marca (“voto de siempre”)
Una parte relevante del electorado socialista vota por identificación histórica (“partido de los trabajadores”, tradición familiar, “es el mío”). Según datos del CIS analizados por medios como El Confidencial (septiembre 2026), alrededor del 60,5 % de quienes votaron al PSOE en 2023 dicen votar “siempre” o “por lo general” al mismo partido. Esta fidelidad es más alta que en el PP en ese mismo corte, aunque otras series (Target Point, etc.) muestran fluctuaciones y desmovilización. Es un patrón común en partidos históricos de cualquier signo, no exclusivo del PSOE. - Perfil demográfico y dependencia del Estado
El CIS muestra un electorado con alta proporción de pensionistas (~35 %) y personas que no trabajan (solo ~45,5 % de los votantes de 2023 están trabajando, según el mismo análisis). Mensajes sobre pensiones, ayudas y protección social refuerzan este vínculo. Existe literatura y reportajes sobre clientelismo local (especialmente en zonas históricas de implantación socialista) donde empleo público o prebendas han influido en el voto, aunque no es el único factor ni afecta a la mayoría. - Estrategia explícita del “voto útil” y del miedo a la alternativa
El PSOE y sus portavoces (Besteiro, Mínguez y otros) apelan de forma recurrente al voto útil para concentrar el bloque progresista y evitar que el voto se “pierda” frente a PP + Vox. En contextos de fragmentación a la izquierda (Sumar/Podemos débiles) y auge de Vox, el mensaje es: “votar otra cosa progresista favorece a la derecha/ultraderecha”. Esto funciona como movilización negativa: se vota más contra algo que a favor de la gestión propia. Es una táctica clásica de partidos grandes en sistemas de listas cerradas y circunscripciones pequeñas. El propio PSOE ha reconocido en algunos momentos que el miedo a la “ultraderecha” pierde eficacia en el ámbito autonómico. - Entorno informativo y enmarcado de los escándalos
- El CIS bajo José Félix Tezanos ha sido criticado de forma sistemática (por analistas de El País, SocioMétrica, Maldita, etc.) por sobreestimar consistentemente a la izquierda en la gran mayoría de elecciones desde 2018 y por cambios metodológicos (eliminación de ponderación por recuerdo de voto). Esto no “obliga” a votar, pero influye en la percepción de viabilidad y normalidad.
- Medios afines y parte del discurso oficial tienden a enmarcar escándalos como “lawfare”, ataques de la oposición o temas menores frente al “peligro” de la derecha. Esto reduce el coste reputacional interno.
- Sindicatos y algunas instituciones públicas han mostrado alta alineación con el gobierno socialista en esta legislatura.
- Tribalismo y minimización de costes propios
En entornos polarizados, una parte del electorado minimiza los fallos propios (“montajes”, “es peor el otro”) y maximiza los del rival. Esto ocurre en ambos bloques. El resultado es que escándalos (corrupción, pactos con independentistas, etc.) provocan desmovilización o indecisión más que transferencia masiva de voto en el corto plazo.
0 comentarios