Doom no DNS: A Loucura de Adam Rice
Registros TXT são Abusados para Armazenar e Carregar o Clássico Jogo Diretamente da Internet
Um Projeto Inusitado com DNS
Administradores de rede, preparem-se! O projeto de hoje é chocante: alguém conseguiu colocar o jogo Doom dentro do DNS. Uma façanha impensável, mas real.
O que é DNS e a Maestria de Adam Rice
- DNS: A Base da Internet: O Sistema de Nomes de Domínio traduz endereços de sites (como tomshardware.com) em IPs numéricos.
- Adam Rice, o Especialista: Conhecido por “dobrar” o DNS de maneiras inesperadas, como usar registros TXT para malware.
Registros TXT: Mais do que Apenas Texto
- Função Original: Usados para validação de domínio e controle de spam.
- Flexibilidade Inesperada: Podem conter dados arbitrários. Onde há dados, há arquivos… e programas como Doom!
Capacidade e Desempenho Impressionantes
- Limite de Caracteres: Até 2.000 caracteres por registro TXT.
- Milhares de Registros: Um único domínio pode ter milhares.
- Armazenamento em Cache: Dados podem ser consultados rapidamente devido ao cache DNS global.
A Evolução da Ideia: De Imagens a Doom
- Primeiro Teste: Uma imagem de pato em base64, dividida em várias partes.
- Desafio do Filme: 1 GB de filme exigiria 670.000 registros – inviável.
- A Escolha Perfeita: Doom, para demonstrar o quão “absurdo” é possível ser.
Implementação Técnica com C#
- Port C#: Utilizou “managed-doom” para facilitar a montagem/desmontagem do jogo.
- Linguagem de Bytecode: C# compila para binário, executado no motor .NET (similar ao Java).
Otimizações e Compactação
- Carregamento em Memória: Modificou o jogo para ler dados diretamente da memória, sem tocar no disco.
- Remoção de Áudio: Arquivos de áudio foram eliminados para economizar espaço.
- Tamanho Final: 3.8 MB, distribuídos em aproximadamente 2.000 registros DNS, graças à compactação.
O Script de Carregamento em PowerShell
- Processo: Um script PowerShell consulta registros TXT, remonta os dados e verifica a integridade.
- Execução: Com o conteúdo na memória, o jogo é iniciado como qualquer programa .NET.
Conclusão: 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.
Siga Tom’s Hardware no Google Notícias para mais análises e novidades.
Baseado no artigo de Tom’s Hardware