Doom over DNS: O cómo guardar, descarga y ejecutar Doom desde el DNS (de Cloudflare)
Almacenar ficheros en los sitios menos pensados no es algo nuevo. Hace años que ya teníamos DNSFS, donde se utilizaba el DNS para almacenar ficheros, y nosotros en el equipo de Ideas Locas creamos un almacenamiento infinito a mi Macintosh utilizando una Raspberry Pi, Python & Google Photos, lo que nos permitía tener la posibilidad de descargar cualquier juego desde la nube y ejecutarlo.
Estos días se ha publicado Doom over DNS, así que he ido a ver cómo lo han hecho, y la verdad es que es bastante sencillo, pero mezclar Doom siempre en la ecuación genera mucho interés.
Cuando había que probar el emulador de MS-DOS para iPhone, mi primera prueba fue con DOOM, por supuesto, ya hace poco os hablé de otro caso donde construían versiones Doom-Like para DuckDB, CedarDB e incluso Excel, que es que los fans de esta joya son muchos.
Ahora el "hack" era utilizar registros TXT de los DNS - en este caso de Cloudlare - para guardar un port de Doom a C#, aprovechar la distribución mundial de baja latencia en Edge que ofrece el DNS más rápido y más seguro de Internet - ya sabéis que es 1.1.1.1 de Cloudflare -, y ejecutarlo con una simple llamada.
Para ello, tienes el proyecto de Doom over DNS en GitHub, y te puedes bajar todos los scripts que necesitas, escritos en PowerShell, con el contenido del juego que se va subir a 1964 registros TXT del DNS de tu dominio, para tener el código que hay que descargar completo.
Los comandos para compilar el juego a bytecodes y poderlo subir al DNS de Cloudflare son los siguientes tres que tienes aquí. Y te va a ir a toda "mecha" y cifrado en PQC si usas el cliente WARP de Cloudflare en tu conexión de Internet.
Una vez que lo tengas subido, pues ya es tan fácil como pedir la ejecución con otro script, también en PowerShell que tiene varias opciones para que lo puedas ejecutar bajo demanda.
Esta idea de usar PowerShell para descargar y ejecutar cosas también es la que se usa en iBombShell de la que hemos hablamos muchas veces por aquí. Así que se podría hacer una mezcla de registros TXT del DNS para almacenar los payloads de iBombShell.
Figura 8: Arrancando Doom over DNS
Si quieres saber cómo funciona, pues descárgate el código desde el GitHub de Doom over DNS y pruébalo. Y, si quieres, adáptalo para hacer lo mismo con el juego que quieras. ¿Quién se anima a hacer uno para ejecutar el Light-Cycles de Tron?
Otra opción chula podría hacer el porting a TypeScript y subirlo a los Workers de Cloudflare, como hicimos con el Arkanoid, ¿no? Vamos, que es muy sencillo.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)




DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 












No hay comentarios:
Publicar un comentario