Publicidade

Jogador deixa DOOM rodando por 2 anos e meio só para provar um bug

Por  • Editado por Jones Oliveira | 

Compartilhe:
Divulgação/Bethesda
Divulgação/Bethesda

Você sabia que é possível travar um jogo simplesmente por deixá-lo rodando tempo demais? Embora pareça loucura, não é tão fácil causar um overflow (estouro do limite de dados em um software): o título teria que ficar ativo por anos para simplesmente quebrar. Da série "se tem placa, tem história", um usuário revelou que conseguiu travar DOOM após deixá-lo rodando por dois anos e meio.

O feito foi registrado por "minki", que contou mais sobre a façanha no fórum "len0w0". O usuário descobriu que, a cada demonstração do clássico DOOM (quando o jogo começa a "se jogar sozinho" após ficar muito tempo na tela de título), um contador interno começava a subir.

Para quem já viu uma dessas demos, sabe que ela recomeça depois de um tempo. O problema de DOOM é que, a cada vez que a demonstração rodava na tela inicial, uma variável subia, ou seja, o contador não zerava, levando ao acúmulo de dados "gotinha por gotinha".

Canaltech
O Canaltech está no WhatsApp!Entre no canal e acompanhe notícias e dicas de tecnologia
Continua após a publicidade

Confira um exemplo de uma dessas demonstrações no DOOM original:

"Eu havia lido um artigo sobre como a engine de DOOM funciona e notei como uma variável, usada para acompanhar a demo, continuava sendo incrementada mesmo após o início da próxima. Essa variável era comparada com uma segunda, que armazenava seu valor anterior", afirmou minki em uma publicação no fórum.

Esse tipo de vulnerabilidade fazia com que a variável se aproximasse lentamente de um overflow. Obviamente, ninguém jogaria um game por anos ininterruptamente para descobrir tal brecha — o que não seria um cenário realista —, mas o usuário "queria saber se isso realmente aconteceria no jogo de verdade, em hardware de verdade".

Para fazer o experimento, minki instalou DOOM em um PDA (Assistente Pessoal Digital, aparelho popular antes dos smartphones) alimentado por um no-break caseiro com baterias 18650, que, por sua vez, estavam conectadas à porta USB de seu roteador para um fornecimento constante de 5V.

"Deixei o sistema rodando e praticamente me esqueci dele", afirmou o usuário. Dois anos e meio depois, ele concluiu: "Até hoje, quando notei um pop-up aparecendo no dispositivo, um pouco antes de postar isto no fórum. O jogo tinha travado, apenas algumas horas depois da marca de dois anos e meio, provando que a variável de fato estourou e causou o esperado travamento completo (hard crash) do jogo".

DOOM roda em tudo?

Continua após a publicidade

Apesar de o experimento ser bem curioso, um fator que torna o caso ainda mais inusitado é o fato de DOOM conseguir rodar até em aparelhos e dispositivos que, definitivamente, não deveriam suportar o jogo.

Não é de hoje que o FPS da id Software é conhecido por rodar em absolutamente tudo que tenha qualquer componente eletrônico, por menor que seja, incluindo calculadoras e testes de gravidez.

Leia tabém no Canaltech:

Continua após a publicidade

Vídeo: O que é a Stop Killing Games, campanha que quer salvar os jogos?

Fonte: minki