A história da descoberta de um easter egg de 27 anos na ROM do Power Mac G3
(downtowndougbrown.com)- A ROM dos modelos bege do Power Macintosh G3 de 1997 a 1999 continha uma foto oculta da equipe, mas o método para exibí-la no hardware real só foi descoberto em 2025
- A pista decisiva veio de strings Pascal no fim do
nittresource ID 43, “Native 4.3”, como.Edisk,secret ROM imageeThe Team; esse recurso era o código nativo em PowerPC do SCSI Manager 4.3 - Ao fazer engenharia reversa do executável PEF com o
Ghidra, confirmou-se o fluxo em que, quando o nome do volume do RAM disk ésecret ROM image, o JPEG doHPOEresource ID 1 é gravado como o arquivoThe Team - A ativação funciona habilitando o RAM Disk, reiniciando e depois, ao apagar o RAM Disk, digitando exatamente
secret ROM imagena caixa de diálogo de formatação; isso foi reproduzido tanto em emulador quanto em um desktop G3 real - Com base em vários testes, esse método parece funcionar até o Mac OS 9.0.4, e o 9.1 pode ser a primeira versão em que ele deixou de funcionar
A foto oculta da equipe que permaneceu na ROM
- Durante a análise da ROM do Power Macintosh G3, veio à tona um método de ativação de easter egg que ainda não havia sido documentado
- A ROM em questão foi usada nos modelos bege desktop, minitower e all-in-one do G3 lançados entre 1997 e 1999
- Para explorar a ROM, foram usados o Hex Fiend e o ROM Fiend, template de ROM para Mac de Eric Harmon
- Nos recursos do tipo
HPOEdentro da ROM havia fotos JPEG de várias pessoas que parecem ser os responsáveis por esses modelos de Mac - A existência das fotos em si não é uma descoberta nova; Pierre Dandumont já havia falado delas em 2014
- Na época, não se sabia como exibir essas imagens em um equipamento real
- Alguns Macs mais antigos tinham combinações secretas de teclas para mostrar fotos parecidas, mas a forma de exibição das fotos da ROM do G3 continuava um mistério
O recurso SCSI Manager 4.3 que deu a pista
- Em uma exploração adicional, foi encontrado o
nittresource ID 43, com o nome “Native 4.3” - Graças à pesquisa de Keith Kaisershot sobre o Pippin, foi possível identificar rapidamente que esse recurso era o código nativo em PowerPC do SCSI Manager 4.3
- Na parte final do recurso havia strings Pascal que pareciam ligadas ao easter egg
.Edisksecret ROM imageThe Team
- Em especial,
secret ROM imageparecia ter grande chance de estar relacionado às fotos ocultas encontradas antes - Buscando na internet, viu-se que a mesma expressão também foi usada em um easter egg de Macs PowerPC anteriores
- Nos modelos anteriores, ao digitar essa expressão, selecioná-la e arrastá-la para a mesa, a foto aparecia
- Mas esse mesmo método não funcionava no G3
O fluxo real do código confirmado com Ghidra
- Ao extrair todo o
nittresource ID 43 para um arquivo, ele foi reconhecido como umPowerPC PEF executable - Os 12 primeiros bytes do arquivo eram
Joy!peffpwpc, e o Ghidra o carregou diretamente como um arquivo PEF - Na análise inicial, as referências à string
secret ROM imagenão foram identificadas corretamente, mas depois de executar o Auto Analyze mais uma vez, surgiram referências adicionais às strings de interesse - A função em questão executava operações relacionadas ao driver
.EDisk, isto é, ao driver de RAM disk - O comportamento central visto na descompilação foi o seguinte
- Procura um driver chamado
.Edisk - Procura o disco ligado a esse driver, ou seja, o RAM disk
- Procura o volume ligado a esse disco
- Se o nome do volume for
secret ROM image:- Carrega o
HPOEresource ID 1 para obter os dados da imagem JPEG - Cria o arquivo
The Team, com creatorttxte typeJPEG - Abre o arquivo, grava os dados JPEG e fecha
- Depois disso, executa ações adicionais relacionadas à control entry do driver
- Carrega o
- Procura um driver chamado
- Essa função só era chamada em mais um lugar, e o ponto de chamada verificava se o primeiro argumento era
0x3DA(986 em decimal)
Como ativar pela formatação do RAM Disk
- Como não havia um G3 bege real disponível naquele momento, a descoberta foi compartilhada no canal
#mac68kda Libera, e^alexencontrou, por meio de testes no Infinite Mac, que era necessário passar pelo processo de apagar o RAM Disk - Depois, o mesmo método também funcionou em hardware real de um desktop G3
- No navegador, é possível reproduzir isso executando um G3 bege emulado com Mac OS 8.1 instalado
- Usa o DingusPPC
- Há uma peculiaridade em que aparece, na inicialização, um erro de falha ao resolver alias; quando isso acontecer, basta clicar em Stop
- O procedimento de reprodução é o seguinte
- Ative o RAM Disk no painel de controle Memory
- No menu Special, selecione Restart
- Quando a mesa aparecer novamente, selecione o ícone do RAM Disk
- No menu Special, selecione Erase Disk
- Na caixa de diálogo de formatação, digite exatamente
secret ROM image - Clique em Erase
- Ao abrir o RAM Disk recém-formatado, aparecerá um arquivo chamado
The Team - Ao dar duplo clique nesse arquivo, o SimpleText será aberto
Um dos últimos easter eggs da velha guarda, preservado até o Mac OS 9.0.4
- Segundo testes de várias pessoas e testes diretos, esse método parece funcionar até o Mac OS 9.0.4
- O Mac OS 9.1 pode ser a primeira versão em que esse método deixou de funcionar
- Pelo que foi possível confirmar até agora, esse segredo parece ter sido realmente descoberto só agora
- O fato de haver imagens dentro da ROM já era conhecido
- Mas a forma exata de ativá-las na prática não estava documentada
- Esse easter egg pode ser um dos últimos da velha guarda incluídos em Macs anteriores às reportagens de que Steve Jobs, após retornar à Apple em 1997, proibiu easter eggs
- Se
^alexnão tivesse descoberto a condição de ativação de apagar o RAM Disk, é bem provável que ainda tivesse sido necessário rastrear mais do restante do código
1 comentários
Comentários do Hacker News
Easter eggs como esse, no geral, transmitem muito o clima da era inicial dos PCs de mesa
Eram um elemento muito humano, que conectava o produto ao fato de que ele tinha sido feito por pessoas com rostos e nomes por trás
Na época, eram projetos feitos com paixão por nerds hardcore, mas hoje há uma tendência forte de impedir que se veja além da camada de abstração do produto
Os responsáveis pelo produto querem controlar a imagem geral do produto e, considerando que a lista de nomes pode ser grande demais ou que alguém nela possa se tornar problemático no futuro, parecem achar mais seguro desumanizar
Hoje eu consigo imaginar um Easter egg legal no iPhone que, a cada ativação, mostrasse aleatoriamente algumas das pessoas que participaram do desenvolvimento; pessoalmente eu gostaria, mas acho que incomodaria o gosto refinado dos responsáveis pelo produto
Em desenvolvimento orientado a prazos, parte da equipe acaba esperando outra pessoa terminar algo para cruzar um marco, e há um limite para ficar só remexendo no backlog
Quando o tédio se junta à racionalização de “se eu enfiar uma coisinha escondida, não vai afetar o roadmap”, há muito mais motivação e oportunidade
Especialmente agora que o software ficou tão complexo e grande; nem sei se nas empresas existe tempo para fazer algo engraçado
A sensação é de estar sempre trabalhando a 120%
Softwares antigos eram feitos por um pequeno grupo de pessoas, mas hoje milhares de pessoas participam dentro de uma organização
Para o bem ou para o mal, essa é a realidade; em grandes projetos de software atuais, um Easter egg que destaque só algumas pessoas não faz muito sentido
É bem bacana e mostra que há pessoas reais por trás das empresas
Alguns ricos dizem “eu fiz isso” enquanto se apropriam das conquistas das pessoas pequenas
Já as pessoas pequenas de verdade deixam na história um rastro dizendo: “não, fomos nós que colocamos a alma nisso para realizar isto”
Claro que Steve Jobs provavelmente teria proibido
Sobre esse assunto, ele esteve mais perto de iniciar essa tendência: https://www.folklore.org/Signing_Party.html
Então não é algo para dizer “claro”, e a Microsoft também tinha uma política de proibição de Easter eggs desde o início dos anos 2000, então não era um problema exclusivo do Jobs
O mais plausível é que uma dessas “pessoas reais” a tenha apagado durante uma limpeza
Jobs falava publicamente com frequência sobre as pessoas incríveis que trabalhavam na Apple, e também conversou com Walt Mossberg sobre como era importante formar equipes excelentes e cultivar a criatividade
“É para isso que serve o dinheiro!”
Já trabalhei com alguém que fez ASICs e projeto de placas na Apple dos anos 80 até meados dos 90
Uma vez ele ficou furioso porque a equipe de hardware tinha suado sangue no projeto e na depuração do sistema, enquanto o pessoal de software usou uns 50 KB da imagem ROM para homenagear a equipe que projetou o computador, mas deixou a equipe de hardware completamente de fora
Lembrei da mensagem “We made the Amiga, they f----d it up!”
https://arstechnica.com/gadgets/2007/12/amiga-history-part-5...
Sinto muita falta de Easter eggs
Queria que eles voltassem
Talvez hoje só se veja isso em projetos pequenos, mas eu gostaria de ver também em trabalhos de maior escala
Quando eu era criança e descobria ou ouvia falar de um Easter egg dentro de um produto, acabava usando mais aquele produto só para procurá-lo
É uma pena que esses pequenos prazeres escondidos não sejam tão populares quanto antes, e é triste que até as versões recentes do Android se limitem a um “Easter egg” sem graça, com interações decepcionantemente pobres para o usuário que precisa abrir os recursos de desenvolvedor
https://raw.githubusercontent.com/tirrenotechnologies/tirren...
Lembro que certa vez alguém compartilhou um Easter egg em que dava para escrever um pequeno código no app Playground do iPad para chamar algo parecido com o logotipo seguinte da ROM
Na época eu consegui reproduzir, mas depois nunca mais encontrei material relacionado
Foi por volta de uns 6 anos atrás
Impressionante
É interessante que tenha demorado tanto para alguém descobrir o mecanismo de acionamento desse easter egg
Engenharia reversa é difícil
Agora fico curioso sobre onde dá para aprender engenharia reversa
Por onde começar, e se há recomendações de tutoriais online ou livros
Os resultados dos experimentos aparecem imediatamente, e o hardware também é simples
Porém, a “API” de hardware pode ser bem pouco intuitiva para programadores modernos
Já existem muitas ferramentas para hacking e engenharia reversa, então basta carregar seu jogo favorito de NES no Mesen, deixar o nesdev.org aberto no navegador e brincar com as ferramentas de depuração
Se alguém já tiver feito engenharia reversa do jogo em questão, também dá para encontrar informações úteis em https://datacrystal.tcrf.net
Fazer engenharia reversa de software mais moderno é complicado
Dois textos que escrevi no passado sobre hacking de jogos de Gamecube também podem ser interessantes: https://www.smokingonabike.com/2021/01/17/hacking-super-monk..., https://www.smokingonabike.com/2021/02/28/hacking-super-monk...
Discussão relacionada no HN: https://news.ycombinator.com/item?id=26315368
Em muitos casos, foi apenas alguém tentando fuçar no código pela primeira vez
Isso ficou ainda mais verdadeiro depois que o Ghidra tornou a descompilação muito mais fácil até em arquiteturas menos populares
Vale a pena tentar; há bastante fruta madura ao alcance da mão
Já enviei um caso parecido no passado
Felizmente, ao contrário de outros easter eggs de sistemas operacionais, parece que não havia ofuscação do tipo “XOR encadeado armazenado em um recurso de bitmap de um formato de executável mal suportado”: https://x.com/mswin_bat/status/1504788425525719043
As pessoas muitas vezes divinizam demais Steve Jobs, mas não sei
Pessoalmente, também gosto bastante da época em que o Mac vagava pelo deserto
Ao ler coisas assim, fico com a sensação de que, mesmo que no conjunto tenha sido positivo, a volta de Jobs fez a cultura e a identidade da Apple perderem algo
Sculley, Spindler e Amelio não foram os melhores líderes, e a Apple foi muito abalada por fracassos como Pink/Taligent, Copland, PowerBook 5300 e as séries Performa 5200/6200/5300/6300
1995, em especial, foi um ano desastroso para a Apple
Mesmo assim, havia muita coisa interessante nesse período
Jean Louis Gassée lutou por Macs expansíveis, e sua influência levou ao Macintosh II, que iniciou uma longa linhagem de Macs expansíveis que só foi interrompida com o Mac Pro “lixeira” de 2013
O System 7 não era o sistema operacional mais estável, mas sua UI era excelente
Don Norman e Bruce Tognazzini impulsionaram princípios e diretrizes sólidos de UI/UX, e o HyperCard também é fruto desse período
O Advanced Technology Group da Apple, com Larry Tesler, Alan Kay e outros, tocou projetos interessantes como a linguagem de programação Dylan e o ambiente SK8
O OpenDoc também foi uma tentativa interessante de criar uma plataforma de software baseada em componentes
O Mac OS clássico tinha uma sensação aconchegante e brincalhona, que desapareceu com a transição para o Mac OS X
Claro, sou muito grato pelo Mac OS X
Gosto tanto da Apple do “interregno” quanto da Apple de 1997 a 2011, depois da volta de Jobs, mas não gosto muito da Apple de Tim Cook
A partir daí, senti que a Apple se afastou bastante de suas raízes
A Apple teve o maior sucesso financeiro de sua história, mas o Mac já não tem mais a sensação dos anos 1990 ou 2000
A Apple deixou de ser uma empresa de Macs e se tornou uma empresa de iPhones
Isso teria sido um material perfeito para o Stump the Experts, mas fazer o quê
Sempre me fascina como as equipes eram pequenas nos primórdios da computação, e eu gostaria de poder, de algum modo, voltar àquela época