Doom no DNS: A Audácia de um Desenvolvedor

Um Experimento Genial Abusa de Registros TXT para Rodar o Clássico Jogo

O Inusitado Projeto DNS

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!

Entendendo o DNS e Registros TXT

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!

A Lógica Por Trás da Loucura

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.

Do Pato ao Doom: A Evolução da Ideia

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.

A Implementação Técnica

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.

Carregando e Executando o Jogo

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.

Um Projeto “Amaldiçoado”

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.

Baseado no artigo de Tom’s Hardware