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