Programador usa ferramenta da NSA para liberar emulador SNES de jogo da EA

Um programador sueco, tomado pelo conhecimento da existência de um lendário emulador Easter egg no jogo ‘Fight Night Round 2’, do GameCube, usou de uma ferramenta produzida pela Agência Nacional de Segurança (NSA) — braço de vigilância do governo norte-americano exposto de forma ilustre por Snowden há quase uma década — e uma dose de engenharia reversa sobre o game da Electronic Arts para criar uma versão ‘bootável’ do SNESticle, o emulador do Nintendo Entertainment System projetado para desbloquear uma versão jogável de ‘One Punch Out!!’, criado por Icer Addis e oculto por mais de décadas.

Imagem: Pawel Durczok/Unsplash

Com auxílio da ferramenta de código aberto da NSA, a Ghidra, o sueco Johannes Holmberg criou um script Python – compartilhado no GitHub e no site The SNESticle Liberation Project –, capaz de modificar um arquivo de imagem no disco óptico do jogo original para isolar o emulador SNESticle, ou seja, sem que haja intervenção (o emulador desativa o jogo original em vez de extrai-lo do jogo).

Embora necessite de mais testes, o programador assegura que a maioria dos jogos do Super NES funcionam, além de ter encontrado características que não foram muito exploradas pelo ‘Super Punch Out!!’, como efeitos do Mode 7. Por outro lado, diferenças no mapeamento do controlador de um Super NES original e falta de suporte para dois jogadores podem torná-lo um pouco menos perfeito.

Não é primeira vez que a Ghidra é vinculada a projetos de videogame. A ferramenta foi usada em um descompilador do Nintendo 64 para lançar Mario 64 para PC e PlayStation em 2020. Holmberg confessa que optar por um software da NSA o colocou em dilema pessoal, já que outras ferramentas mais complexas que desempenhavam o mesmo papel como Radare2, poderiam ser usadas. “Admito que tive algumas dúvidas sobre o uso de software da NSA… mas é código aberto, afinal de contas, então acho que estou bem com ele”, disse ele.

O programador observa ainda que ao permitir os usuários navegarem com o código executável descompilado em formato semelhante ao da linguagem C, “isso só facilita a compreensão do código em ordens de grandeza”.

Embora o emulador projetado por Holmberg seja apenas para executar ‘Super Punch-Out!!’ (e apenas isso, basicamente), a ideia de crackear um jogo antigo e extrair um emulador dele é uma ideia interessante, já que a maioria das pessoas não se darão ao trabalho de construir o próprio arquivo ISO para rodar um único jogo de Super NES em um console de duas décadas. “Para alguns de nós (bem, para mim de qualquer forma), é apenas uma boa sensação, talvez até mesmo uma sensação de fechamento, de finalmente colocar as mãos neste emulador que tão desesperadamente desejávamos todos aqueles anos atrás”, disse ele.

Multiplayer no ‘One Punch-Out!!’

Há quem aponte a falta de suporte a dois jogadores em ‘One Punch-Out!!’, porém, depois de 28 anos, os fãs souberam finalmente que o jogo sempre foi, na verdade, um multiplayer competitivo. Embora tenha sido descoberto recentemente, não está claro por que o modo secreto tem sido escondido por anos, sendo provável que esteja lá apenas para fins de teste.

Para quem jogou o game no Wii, isso não é novidade, já que no console, o Punch-Out!! tem multiplayer garantido, apesar de ser contra o clone do Little Mac em vez de boxeadores reais, diferentemente de uma batalha contra o palhaço louco de circo no game para Super NES.

At the title, hold Y+R, then press A or START. Following screen will appear instead or regular menus. Here you can select any character to fight a free single match. See, even fighters from SPECIAL CIRCUIT are available here. -> pic.twitter.com/Hh7AtPdTcK

— Unlisted Cheats (@new_cheats_news) August 8, 2022

Além disso, de acordo com o perfil Unlisted Cheats no Twitter, um dos cheats oferece acesso a uma partida única gratuita com qualquer lutador no jogo. Ele pode ser acessado pressionando Y+R no controlador conectado ao player 2, e ‘start’ no player 1.

Já o segundo cheat, dá a possibilidade de jogar com um dos 16 personagens do game, e até mesmo executar especiais. Ao pressionar para baixo + B, por exemplo, o jogador consegue o ataque ‘Bull Charge’ de Bald Bull.

Para o modo multiplayer será preciso entrar na tela de modo de jogo livre, selecionar um lutador, e quando aparecer a tela de informações do personagem, segurar B+Y no controle de player 2 enquanto se pressiona o ‘start’ no joystick 1.

Segundo a IGN, ambos os cheats descobertos foram confirmados para ‘Super Punch-Out!!’ de Nintendo Switch Online.

Com informações de Vice e IGN