Preparados para uma façanha tecnológica? Um “gênio” chamado Adam Rice conseguiu o impensável: armazenar o clássico jogo Doom dentro do DNS. Uma verdadeira surpresa para os administradores de rede!
O DNS (Domain Name System) é a base da internet, traduzindo nomes de sites em endereços IP. Os registros TXT, normalmente para validação e controle de spam, podem guardar qualquer tipo de texto. Adam Rice percebeu que, onde há texto, há dados, e onde há dados, há Doom!
Cada registro TXT suporta até 2.000 caracteres, e um domínio pode ter milhares deles. Com o cache de DNS em toda a internet, é possível armazenar e consultar uma quantidade considerável de dados de forma eficiente. Isso abriu caminho para o projeto inusitado.
Inicialmente, Rice armazenou uma imagem de pato em base64. Um filme seria inviável (1GB = 670.000 registros). A escolha lógica para demonstrar o absurdo foi Doom, dividindo o jogo em várias partes.
Usando uma versão de Doom em C# (managed-doom), Rice evitou gravar arquivos no disco, carregando tudo diretamente na memória. Com a ajuda de um bot e muita compressão, ele conseguiu encaixar os 3.8 MB do jogo em cerca de 2.000 registros DNS, removendo os arquivos de áudio.
Um script PowerShell foi criado para consultar os registros TXT do domínio, remontar os dados e verificar a integridade. Uma vez que todo o conteúdo de Doom estava na memória, o jogo pôde ser iniciado como qualquer outro programa .NET.
Adam Rice descreve seus projetos como “amaldiçoados”, e com razão. Os servidores DNS da Cloudflare podem precisar de terapia! O projeto está disponível no GitHub para os curiosos.