lunes, 19 de octubre de 2026

REA (Reverse Engineering Anything). Análisis

Introducción

La ingeniería inversa es muy util cuando quieres migrar de lenguaje, por ejmplo pasar código de Visual Basic 6 o Java  a Python. Pero a veces por el motivo que fuere, no se dispone de las fuentes originales. 

Ahí es donde entra en acción REA que según dicen es capaza de obtener código fuente de un lenguaje  de alto nivel a partir de código ejecutable.

Hay herramientas como Ghidra que permiten convertir el código ejecutable a un código similar a C. Un problema que tiene esta herramienta es que a veces no puede encontrar el nombre real de las funciones y las llama "funct" mas la posicón de memoria. A veces es casi irreconocible el código que devuelve pues es casi ensamblador. Por eso REA intentar aprovechar este código y convertir-lo al lengiaje de alto nivel deseado. Y una vez puesto, que sea compatible en la mayoría de sistemas operativos

Puede haber algún problema de patentes si intentas analizar y replicar software ya existente. Todo depende del nivel que entres. Pero las leyes cambian y seguramente a partir de este proyecto viral, de seguro van a haber cambios en la legislación.

Que és REA?

Es un servidor Open Source que utiliza un software MCP (Model Control Protocol) que es un conector de interoperabilidad entre diferentes herramientas por ejemplo decompiladores, debuggers, inspectores web .. ,con agentes de IA (Claude Code, Codex, Cursor) para generar ingeniería inversa y por tanto la obtención de código fuente o versión nuestra de la aplicación que le hemos pasado.


Imagen de Melina Blanco

Pero REA integra aplicaciones de obtencion de pseudocódigo (Ghidra, Frida, JEB, Hopper, Playwright y ADP)

Si le pides que te analice una aplicación te explica 3 cosas sin inventarse nada, es decir te dice cuales han sido sus límites:

  1. Como funciona
  2. De donde sacó cada elemento (Evidencia)
  3. Lo que no ha podido averiguar.

El código fuente original no te lo puede dar, pero si puede darte un esquema de las funciones que entran en juego. Y a continuación el agente de IA, basándose en ese exquema crea un código fuente y lo pureba y va ajustándolo con tu ayuda.

Se puede utilizar en :

  • Programas de escritorio
  • Aplicaciones web
  • Notion, que es una especie de  plataforma "todo en uno" de gestión de proyectos, notas y bases de datos.
  • Slack, de mensajería instantánea diseñada para la comunicación en entornos de trabajo.
  • Aplicaciones abiertas en el navegador
  • Aplicaciones de Android




No hay comentarios :

Publicar un comentario