Programador usa ferramenta da NSA para liberar o lendário Emulador Super Nintendo da EA
O famoso SNESticle estava escondido em um jogo do GameCube por mais de uma década. Agora, um programador descobriu uma maneira de executar SNESticle por conta própria.
Meia década atrás, quando escrevi sobre o conto de NESticle, o emulador inovador do Nintendo Entertainment System que ajudou a abrir o cenário dos jogos retrô para a era da internet, tive que vasculhar muitos cantos para reunir alguns tópicos antigos do esquecido fóruns e registros de bate-papo de canais obscuros de Internet Relay Chat, onde a cena é dramática, muitas vezes parecia um esforço de vida ou morte para pessoas que queriam entender o funcionamento interno de seus cartuchos de infância.
Uma coisa de que não precisei para contar essa história foram as ferramentas construídas pela Agência de Segurança Nacional, o braço de vigilância do governo dos Estados Unidos que Edward Snowden notoriamente expôs há quase uma década.
Mas alguém que leu esse artigo e foi inspirado por seu kicker – que revelou que uma versão Super NES do famoso emulador foi secretamente lançada como um ovo de Páscoa em um jogo de boxe do GameCube – precisava de uma ferramenta produzida pela NSA para conseguir um revés impressionante – façanha de engenharia: um processo para criar uma versão inicializável do SNESticle, um emulador que passou grande parte de sua vida como folclore na história dos jogos retro.
Em minha pesquisa para o artigo da placa-mãe de 2017, li um boato em alguns fóruns arquivados há muito tempo de que o emulador apareceu no jogo; Eu tirei um tempo para verificar isso no emulador Dolphin e, vejam só, ao pesquisar no código do jogo, o copyright do SNESticle estava lá.
Por duas décadas, foi um boato, a aparente criação de um programador que negou que jamais seria lançado ao público; então, de repente, era real.
Johannes Holmberg, um programador sueco, foi inspirado o suficiente pelo conhecimento de que este emulador realmente existia em uma forma comercial que ele recentemente passou noites e fins de semana ao longo de alguns meses fazendo engenharia reversa do jogo de 2005 da Electronic Arts Fight Night Round 2 para isole o emulador, um trabalho do então funcionário da EA Icer Addis que foi usado para desbloquear uma versão jogável do Super Punch-Out !! (Addis, comumente conhecido como Sardu em sua vida anterior como o principal programador da Bloodlust Software, produziu vários emuladores de console, incluindo o NESticle, junto com uma série de jogos shareware rudes, mas populares.)
O resultado do trabalho de Holmberg, um script Python publicado no GitHub e um site intitulado The SNESticle Liberation Project , permite que as pessoas que possuem o jogo original modifiquem um arquivo de imagem de disco óptico para executar SNESticle por conta própria, sem que o jogo principal atrapalhe . (Neste momento, o emulador funciona essencialmente desativando o jogo original, em vez de extrair o emulador do jogo.) Os resultados até agora: a maioria dos jogos Super NES são executados, embora mais testes precisem ser feitos, e o emulador tem recursos que Super Punch-Out !! não use muito, como os efeitos do Mode 7. No entanto, existem problemas, como diferenças no mapeamento do controlador de um Super NES real e uma falta de suporte para dois jogadores, que o tornam um pouco menos que perfeito.
Holmberg, que estava acompanhando a cena de emulação durante o início da era, lembra-se do exagero em torno do suposto emulador, ao qual Addis fez referência na documentação de seus emuladores NESticle e Genecyst.
“Em retrospectiva, provavelmente nunca iria acontecer”, disse ele. “Tenho certeza de que o SNESticle teria sido ótimo, se tivesse sido lançado em 1997, mas não havia como ele ter correspondido ao hype. Sardu colocou a fasquia muito alta com o NESticle. ”
Mas depois de ouvir sobre a existência do emulador em um jogo GameCube, ele ganhou o desejo de tomar medidas para “liberá-lo” da ROM existente. Ele não pensou que realmente faria isso sozinho, ao invés disso, passou a ideia para outra pessoa. (“Inicialmente, decidi que não seria o único a fazê-lo porque me faltava o tempo livre e também o know-how”, disse ele.) Mas quando chegou a hora, foi ele quem realmente fez o trabalho .
Como ele fez isso? Isso nos leva ao vínculo fraco, mas incomum, do SNESticle com a NSA. Holmberg, depois de analisar várias ferramentas de engenharia reversa, decidiu pelo Ghidra, um projeto de código aberto que é principalmente o trabalho da agência. Embora tenha sido usado para outros projetos de videogame no passado (incluindo um descompilador do Nintendo 64 , parte de uma tendência mais ampla de desmontar jogos antigos que levaram ao lançamento do Super Mario 64 no PC e Playstation 2 em 2020), Holmberg teve um debate pessoal ao escolher usá-lo em vez de outras ferramentas mais complexas que faziam a mesma coisa, como Radare2.
“Admito que tive alguns escrúpulos em usar software da NSA … mas é código aberto, afinal, então acho que estou bem com isso”, disse ele.
Ajuda o fato de a ferramenta, de acordo com Holmberg, ter se mostrado bastante à altura do trabalho. O Ghidra permite aos usuários navegar pelo código executável descompilado em um formato dividido que é semelhante à linguagem de programação C. “Isso apenas torna muito mais fácil entender o código”, disse ele.
De muitas maneiras, esse ressurgimento de um emulador de console vintage que mal existia no mundo mainstream é notável mais por razões históricas – já que o criador do emulador também criou um dos emuladores mais conhecidos de todos os tempos – do que por questões técnicas razões. Por um lado, os emuladores modernos já o ultrapassaram há muito tempo. Mas as preocupações técnicas ainda oferecem questões interessantes. Exemplo: um SNESticle descompilado pode ser portado para outra plataforma, como outra plataforma PowerPC como um iMac antigo? A resposta: Teoricamente, sim, mas a descompilação não é bastante a ponto de permitir algo assim, Holmberg diz, como mais precisaria ser feito para separar o emulador de seu código circundante.
“Realisticamente, é provavelmente mais trabalho do que qualquer pessoa sã estaria disposta a dar”, disse ele. “E, honestamente, meu trabalho não é muito útil para quem deseja fazê-lo.”
No final das contas, vale lembrar que este emulador em sua forma lançada foi projetado para rodar um jogo, Super Punch-Out !! , e caso contrário, não faça mais nada. Que faz qualquer outra coisa é molho. E que é possível quebrar um jogo antigo e extrair um emulador é muito fascinante. Embora a maioria das pessoas provavelmente não se esforce para construir seu próprio arquivo ISO para rodar um único jogo Super NES em um console que recentemente celebrou seu 20º aniversário, Holmberg está feliz por ter conseguido pelo menos tornar possível obter um sensação de um emulador historicamente importante.
“Para alguns de nós (bem, para mim pelo menos), é apenas uma boa sensação, talvez até uma sensação de encerramento, finalmente colocar as mãos neste emulador que tão desesperadamente queríamos anos atrás”, disse ele.
leitura boa, valeu!!!!