heliofilho.devNewsletter
Cofre/Vídeos
Vídeo · 18 de out. de 2026

Como os fãs abriram o Doom sem ter o código (e como fazer hoje)

O Freedoom para jogar e estudar de graça, o formato WAD explicado, os primeiros editores de fase, o truque da memória, a tabela dos monstros no código da id Software e o REA, que faz engenharia reversa com IA.

Você veio do vídeo de como os fãs abriram o Doom sem ter o código e aqui está tudo para fazer igual: o Freedoom (a versão livre e gratuita que aparece no vídeo), o código que a id Software liberou depois, a história dos primeiros editores feitos por fãs, o truque da memória e o REA, que faz esse trabalho com IA hoje.

Resumo pra quem tem pressa

NomeO que fazPreçoLink
FreedoomJogo completo e livre que roda no motor do DoomGrátisfreedoom.github.io
Código do DoomO código-fonte que a id Software publicou em 1997Grátis (GPL)github.com/id-Software/DOOM
Cheat EngineProcura e congela números na memória de um jogoGrátischeatengine.org
READá para a sua IA as ferramentas de engenharia reversaGrátis (MIT)github.com/morluto/rea
Ultimate Doom BuilderEditor de fases modernoGrátisGitHub

1. Por que o jogo chega sem o código

O Doom saiu em dezembro de 1993. O que você compra (ou baixa) não é o código que os programadores escreveram, e sim o resultado da compilação: um arquivo com instruções em zeros e uns, feito para o processador ler. Pensa numa receita de bolo e no bolo pronto. Você recebe o bolo. Dá para olhar, provar e cortar, mas a receita não vem junto.

O Doom tinha duas partes: o executável (o motor do jogo) e um arquivo de dados chamado WAD, com fases, imagens, sons e monstros. Foi no WAD que os fãs começaram a mexer.

2. Abrindo o WAD: os bytes crus

Os fãs abriram o WAD num editor hexadecimal, um programa que mostra cada byte do arquivo como número. No começo parece barulho. Até que aparecem padrões: o arquivo começa com as letras IWAD, e lá no fim tem um diretório, uma lista de pedaços com nome. Cada fase tem os mesmos pedaços, sempre na mesma ordem: THINGS (monstros e itens), LINEDEFS (paredes), SIDEDEFS, VERTEXES (os pontos, em coordenadas x e y), SECTORS e outros.

No vídeo, tudo isso é real: os bits, os bytes e o mapa da fase E1M1 foram tirados do arquivo freedoom1.wad.

Quem juntou essas descobertas foi o Matt Fell, no documento Unofficial Doom Specs, de 1994. Ele descreve o formato do WAD, das imagens e das fases, e virou a base de quase tudo que veio depois.

Dica: para ver o diretório de um WAD sem programar, abra o arquivo no SLADE, um editor de WAD gratuito. Ele lista cada pedaço pelo nome.

3. Os primeiros editores de fase

Com o formato entendido, vieram os editores. O DEU (Doom Editing Utilities), de Raphaël Quinet e Brendon Wyber, teve a primeira versão completa em janeiro de 1994, um mês depois do lançamento do jogo. Foi o primeiro contato com criação de fases para muita gente. Daí nasceram os mods, e o Doom virou um dos jogos mais modificados da história.

Hoje o editor mais usado é o Ultimate Doom Builder, gratuito e com visualização em 3D.

4. O truque da memória (vida 100)

É o truque do vídeo, e ele funciona em muito jogo antigo, não só no Doom:

  1. Abra o jogo e um programa de busca na memória, como o Cheat Engine.
  2. Sua vida é 100: procure o número 100. Vão aparecer milhares de endereços.
  3. Tome um tiro. A vida cai, por exemplo, para 85.
  4. Procure 85 só entre os endereços que tinham 100. A lista encolhe.
  5. Repita até sobrar um endereço. É ali que o jogo guarda a sua vida.
  6. Congele esse endereço: o programa reescreve o valor o tempo todo e você não morre mais.

Dica: use só em jogo de um jogador e offline. Em jogo online isso dá banimento. O Cheat Engine pede que o usuário seja maior de idade e, no instalador, recuse qualquer oferta extra que aparecer.

5. A tabela dos monstros (o Imp com 1 de vida)

Dentro do executável existe uma tabela com os dados de cada monstro: vida, velocidade, sons. Em 1994, o Greg Lewis lançou o DeHackEd, que edita essa tabela direto no executável. Trocar a vida do Imp de 60 para 1 faz ele morrer num soco.

Em 23 de dezembro de 1997, a id Software publicou o código-fonte do Doom. No arquivo info.c, a mesma tabela aparece escrita: no bloco MT_TROOP (o Imp) está a linha 60, // spawnhealth. É o trecho que aparece no vídeo. Hoje o código está no GitHub da id Software, com licença GPL.

6. O Freedoom: o Doom livre

O Doom original é pago, então as imagens do vídeo são do Freedoom. É um projeto de fãs que recriou do zero todas as fases, monstros, sons e imagens com conteúdo livre. O Freedoom usa o mesmo formato de arquivo, então serve para estudar o WAD sem pirataria.

Como jogar:

  1. Baixe o Freedoom na página de download (quando este texto foi escrito, a versão era a 0.13.0, de janeiro de 2024).
  2. Baixe um motor moderno do Doom, como o GZDoom ou o Chocolate Doom.
  3. Coloque o freedoom1.wad (ou o freedoom2.wad) junto do motor e abra.

7. O REA: engenharia reversa com IA

O que os fãs levaram meses para fazer em 1994, hoje uma IA ajuda a fazer bem mais rápido. O REA (Reverse Engineer Anything) é um projeto aberto que entrega para o seu agente de IA (Claude Code, Codex, Cursor, Gemini CLI e outros) as ferramentas de engenharia reversa, como Ghidra e Hopper. Você pergunta em português o que quer entender, e a IA abre o programa, segue o caminho e te mostra a evidência.

Ele não devolve o código-fonte original: mostra pseudocódigo e de onde tirou cada conclusão. A instalação passo a passo está na minha página do REA no Cofre.

Dica: use engenharia reversa para estudar e nos seus próprios programas. Em programa dos outros, ela pode violar os termos de uso.

Pra ir mais fundo

Documentação e história

Código

Ferramentas

Glossário rápido

  • Compilar: transformar o código que a pessoa escreve no arquivo que o processador executa.
  • WAD: o arquivo de dados do Doom, com fases, imagens e sons ("Where's All the Data?").
  • Editor hexadecimal: programa que mostra cada byte de um arquivo como número.
  • Endereço de memória: a "gaveta" numerada onde o jogo guarda um valor enquanto está aberto.
  • Mod: uma modificação feita por fãs, como fase, monstro ou regra nova.
  • Engenharia reversa: descobrir como algo funciona por dentro sem ter o projeto original.

Gostou? Tem mais coisa assim no Cofre, e no Instagram @heliofilhou sai tecnologia todo dia.