Cómo los hackers invierten los generadores de números aleatorios

Fuentes: How hackers reverse Math.random()

El canal de YouTube Zanzlanz publicó un vídeo divulgativo de algo más de 15 minutos en el que explica, paso a paso, cómo funcionan los generadores de números pseudoaleatorios empleados por los navegadores y juegos —entre ellos Flash— y cómo pueden invertirse para predecir resultados futuros o recuperar estados internos. La grabación parte de los generadores lineales congruenciales (LCG), repasando por qué los valores concretos de multiplicador, incremento y módulo son decisivos, e introduce un programa propio para buscar parámetros válidos según el teorema de Hull–Dobell.

A continuación, el autor describe la inversión matemática de un LCG mediante el inverso multiplicativo modular, requisito esencial para “deshacer” un valor y conocer el anterior. Después profundiza en los generadores XOR-shift, analiza el algoritmo Xorshift128+ y cómo invertirlo (citando el trabajo de Scott Contini y la investigación comunitaria sobre Minecraft), y dedica un bloque específico al generador de ActionScript empleado por Flash. En la parte práctica, el vídeo muestra cuatro demos en juegos alojados en Flashpoint —Clover, Minesweeper, Spin the Wheel y Slots— donde la inversión del RNG permite anticipar tiradas o patrones visuales. El contenido combina criptografía, programación y game hacking, y enlaza herramientas como Ruffle, JPEXS decompiler y el solucionador Z3.