Alexander Blade: el programador que hizo posible los mods de GTA V

Un desarrollador anónimo rompió el cifrado propietario de Rockstar y obligó a Take-Two a reconocer legalmente el modding

Ilustración de GTA V

Cada vez que alguien descarga un mod de Grand Theft Auto V, cambia la física del tráfico o convierte Los Santos en una ciudad de zombis, lo hace sin saber que detrás de todo eso hay una sola persona. Un programador independiente conocido como Alexander Blade, prácticamente anónimo fuera del círculo técnico de la comunidad, cuyo trabajo convenció a una empresa valorada en miles de millones de dólares de que tenía que aceptar —y finalmente abrazar— la modificación de sus juegos en ordenador.

Esta es la historia de cómo un solo desarrollador rompió las capas de seguridad de Rockstar Games, construyó el puente de software que permite a los mods funcionar dentro del juego y desencadenó una batalla silenciosa con los ingenieros de la compañía que duró años y terminó cambiando las reglas de toda la industria.

El candado que Rockstar puso a GTA V

Cuando Grand Theft Auto V llegó a PC en abril de 2015, Rockstar publicó el juego con todos sus archivos internos —texturas, sonidos, comportamientos de los personajes, geometría de los vehículos— encerrados dentro de un formato de contenedor propietario con extensión .rpf. No eran archivos convencionales que cualquier programa pudiera abrir. Funcionaban como una caja fuerte digital: agrupaban y protegían todo el contenido del juego bajo varios niveles de cifrado.

El más sencillo usaba un estándar de cifrado conocido como AES-256, descifrable si se conseguía extraer la clave maestra de la memoria del juego en ejecución. Pero los archivos más sensibles —los que contenían la lógica interna del juego— estaban protegidos por un algoritmo propio al que Rockstar denominó internamente NG (Next Generation): un sistema de cifrado dinámico con 101 llaves de ronda y 272 tablas de sustitución. A diferencia de un cifrado convencional, no había ninguna clave fija escondida en el código. Las claves se generaban en el momento de forma matemática, a partir de un índice numérico. Ninguna herramienta estándar podía abrirlo.

Sin romper ese candado, modificar el juego era imposible.

El hombre que lo abrió

Alexander Blade no llegó a GTA V de la nada. Desde 2013 acumulaba una trayectoria técnica documentada en ingeniería de software de bajo nivel: el análisis directo del código máquina de un programa para entender cómo funciona por dentro, sin tener acceso al código fuente original. Es la misma disciplina que usan los investigadores de seguridad para auditar software, aplicada aquí a los motores de videojuegos.

En marzo de 2013 había desarrollado Script Dragon para The Elder Scrolls V: Skyrim, la primera herramienta que permitía ejecutar scripts externos en ese juego inyectando código directamente en su motor. En octubre de ese mismo año publicó ENBHelper, un plugin que extraía datos de renderizado de la memoria del juego para alimentar efectos visuales avanzados. Colaboraba además en OpenIV, la suite de edición de archivos más completa de la franquicia GTA.

Para descifrar el algoritmo NG de GTA V, Blade y otros analistas de la comunidad desensamblaron directamente el ejecutable GTA5.exe —es decir, lo descompusieron instrucción a instrucción para leer qué hacía el programa por dentro— y desarrollaron herramientas de búsqueda automática que localizaban las estructuras matemáticas del cifrado dentro de ese código. El resultado fue la extracción de tres archivos de claves: gtav_aes_key.dat, gtav_ng_key.dat y gtav_ng_decrypt_tables.dat. Con esas tablas en mano, los archivos .rpf se podían abrir, leer y volver a empaquetar sin que el juego los rechazara.

El 23 de abril de 2015, Blade publicó la primera versión de Script Hook V junto al Native Trainer, la primera interfaz de usuario para modificar GTA V en tiempo real.

Cómo consiguió que los mods funcionaran sin romper el juego

Descifrar los archivos del juego era solo la mitad del problema. El otro reto era conseguir que código externo —el de los mods— se ejecutara dentro del motor de Rockstar sin que el juego se bloqueara o colapsara.

La solución más obvia habría sido modificar directamente el ejecutable GTA5.exe. El problema es que eso habría disparado los sistemas de verificación de integridad del archivo. Blade optó por una vía distinta: colocó en la carpeta de instalación del juego una biblioteca llamada dinput8.dll que imita a un componente estándar de Windows llamado DirectInput8. Cuando el juego arranca, Windows carga primero el archivo que encuentra en la carpeta local del juego, sin ir a buscarlo al sistema operativo. De ese modo, el código de Blade se carga en la memoria del juego sin tocar el ejecutable original.

Esa biblioteca actúa como un cargador: gestiona correctamente todas las señales del teclado, el ratón y el mando, y al mismo tiempo busca en la carpeta del juego archivos con extensión .asi —que son los mods— y los carga en memoria de forma controlada.

El problema siguiente era más delicado: cómo hacer que el código de esos mods se ejecutara en el momento correcto, sincronizado con el juego, sin interferir con su procesamiento interno. Un error habitual en este tipo de sistemas es crear procesos paralelos que intentan modificar la memoria del juego al mismo tiempo que el motor la está usando, lo que provoca colisiones y bloqueos. Para evitarlo, Blade estudió cómo el motor RAGE gestiona internamente sus propias tareas: no las procesa de forma lineal, sino mediante fibras, pequeñas unidades de ejecución cooperativa que el motor activa y pausa de forma ordenada. Script Hook V inserta su propia fibra en ese planificador. Así, en cada fotograma renderizado, el motor cede brevemente el control al código del mod y, cuando termina, retoma su procesamiento habitual sin ninguna interferencia.

El resultado práctico es que los mods podían modificar cualquier variable del juego —la gravedad, el comportamiento de la policía, la posición de la cámara, la generación de vehículos— en tiempo real, de forma estable y sin cierres inesperados.

La guerra silenciosa tras cada actualización

Mantener ese sistema funcionando era otra historia. Cada vez que Rockstar publicaba una actualización del juego, ocurría lo mismo: todos los mods existentes dejaban de funcionar de golpe.

El motivo técnico es el siguiente. El motor RAGE expone más de 6.000 funciones internas —instrucciones que controlan todo lo que ocurre en el juego— a través de identificadores numéricos. En las versiones de consola, esos identificadores eran deducibles porque se generaban a partir del nombre de cada función mediante una fórmula matemática conocida. Al portar el juego a PC de 64 bits, Rockstar los sustituyó por números pseudoaleatorios de 64 bits. Y con cada actualización, el compilador generaba una lista completamente nueva de números para las mismas funciones, cambiando además su ubicación en la memoria. El efecto era el mismo que cambiar todas las cerraduras de un edificio de golpe: todas las llaves anteriores quedaban inútiles.

Para que los mods no quedaran obsoletos con cada parche, Blade desarrolló una capa de traducción interna llamada Crossmap. Cuando un mod llama a una función del juego, lo hace usando el nombre histórico de esa función. Script Hook V intercepta esa llamada, consulta una tabla de correspondencia actualizada, traduce el nombre histórico al identificador numérico nuevo que Rockstar ha asignado en la versión actual del ejecutable, localiza la dirección de memoria exacta y ejecuta la instrucción. Todo eso ocurre en milisegundos, de forma invisible para el modder.

Reconstruir esa tabla de correspondencia tras cada parche —con más de 6.000 funciones que reasignar— requería desensamblar de nuevo la memoria del ejecutable actualizado. Blade lo hacía en cuestión de horas. Cada actualización de Rockstar inutilizaba de golpe el ecosistema entero, y él lo reconstruía antes de que acabara el día.

El escudo que protegía las cuentas de los jugadores

Uno de los frentes más delicados que Blade abordó de forma proactiva fue impedir que los mods del modo historia arrastraran baneos en GTA Online.

En los primeros tiempos del juego en PC, cuando un jugador usaba mods en el modo historia y luego intentaba conectarse al modo multijugador, los módulos de modificación seguían activos en la memoria del juego. El sistema antitrampas de Rockstar detectaba esa alteración y emitía baneos permanentes sobre la cuenta, aunque el mod se hubiera usado únicamente para cambiar texturas o modificar la física de los coches en solitario.

Script Hook V resolvió el problema de raíz: el propio cargador monitoriza en todo momento si el juego intenta conectarse a los servidores de GTA Online. Si detecta esa transición, fuerza el cierre inmediato de todo el proceso antes de que la conexión se establezca, garantizando que ningún rastro del mod quede en memoria cuando los servidores ejecutan sus comprobaciones de seguridad.

Esa decisión técnica fue determinante para que Rockstar tolerara la herramienta. Blade había separado con precisión el modding del modo historia del ecosistema competitivo en línea.

El conflicto legal que lo cambió todo

La tensión acumulada entre la comunidad de modding y la cúpula corporativa estalló el 5 de junio de 2017, cuando Take-Two Interactive —la empresa matriz de Rockstar— envió una orden de cese y desistimiento al programador GooD-NTS, líder del proyecto OpenIV, en el que Blade colaboraba activamente. Los representantes legales de la compañía argumentaban que OpenIV permitía eludir las medidas de protección del juego y que esa capacidad era aprovechada por terceros para construir herramientas de trampa en GTA Online.

El equipo de OpenIV suspendió la distribución de la herramienta el 14 de junio de 2017. La reacción de la comunidad fue inmediata: decenas de miles de reseñas negativas coordinadas en Steam hundieron la valoración histórica de GTA V en cuestión de días.

El impacto comercial forzó a Rockstar a intervenir. La compañía emitió un comunicado aclarando que la acción legal no perseguía el modding del modo historia individual. La mediación resultó en un cambio de posición sin precedentes: Rockstar publicó directrices en las que declaraba que toleraría el desarrollo y uso de herramientas de modificación orientadas de forma exclusiva al modo de un solo jugador. OpenIV volvió a distribuirse y las herramientas de inyección de código diseñadas por programadores independientes quedaron jurídicamente reconocidas.

La incorporación posterior del sistema antitrampas BattlEye a nivel de kernel del sistema operativo —que bloquea bibliotecas no firmadas como dinput8.dll— reforzó de forma técnica esa separación: quien quiera usar mods debe desactivar explícitamente la validación antitrampas en el lanzador del juego, lo que aísla por definición la experiencia modificada de la competitiva en red.

Hoy, más de una década después del lanzamiento de GTA V en PC, Script Hook V sigue siendo la infraestructura sobre la que opera la práctica totalidad de la escena de modificación. Cada vez que alguien pulsa un botón y convierte Los Santos en lo que quiere, lo hace porque un programador anónimo tardó unas horas en reconstruir lo que los ingenieros de seguridad de Rockstar tardaron meses en diseñar.

Antonio Retamero

Periodista especializado en la industria de los videojuegos. Con experiencia en el periodismo de investigación y en la cobertura de la actualidad y la política local, aplica su rigor periodístico en el seguimiento de la saga Grand Theft Auto y Rockstar Games.

ARTÍCULOS RELACIONADOS