O engenheiro de hardware e hacker de software ZZAZZGlitch realizou com sucesso engenharia reversa dos dados de um jogo Game Boy Advance apenas a partir do som produzido quando um jogo GBA sofre uma falha grave [h/t Ars Technica]. O ruído de travamento do Game Boy Advance, para os não iniciados, é uma ocorrência há muito documentada, mais conhecida por seu efeito único. “músicas de travamento” por jogo.
De acordo com TheZZAZZGlitch, essas “músicas de travamento” por jogo não são apenas um efeito colateral peculiar do GBA e de seus jogos não terem tratamento real de travamentos. Essas “músicas” de travamento por jogo, na verdade, contêm todos os dados ROM do cartucho, reproduzidos em áudio bruto, que inclui todos os sons do cartucho do jogo em uma ordem sequencial. Com as ferramentas corretas e conhecimento de hacking, qualquer jogo GBA deve ser recuperável por si só a partir desse áudio.
Ou, em termos leigos: os jogos do Game Boy Advance podem ser recriados a partir do som que fazem quando morrem, desde que você tenha as ferramentas adequadas para ouvir e decodificar.
Abaixo, incorporamos o vídeo original de TheZAZZGlitch, que inclui uma análise detalhada da metodologia de teste e é executado até obter sucesso com uma réplica chinesa de cartucho de Pokémon Emerald. O dispositivo de gravação usado foi o modelo original do Nintendo DS da ZAZZ, conectado via Line In a um laptop sobressalente, para captura de máxima fidelidade daquela bela cacofonia.
Se experimentar isso parece atraente para você, o código-fonte está disponível no site pessoal de TheZZAZZGlitch, rotulado como “gbacrashsound_dumper.zip.” Lembre-se de que você ainda precisará fazer muito trabalho manual e ajustes além do processo inicial de despejo de áudio – ZZAZZ até esclarece sua natureza como “dificilmente uma solução pronta para uso” na descrição do vídeo original.
A engenharia reversa elaborada dos dados do jogo a partir do áudio de travamento ainda é uma façanha, embora o resultado final exigisse um script separado que alinhasse seções de dados de 0 bytes da gravação para ficarem alinhados com seu posicionamento no arquivo original do jogo. Isso deu um resultado de 99,76% de precisão que não conseguiu concluir a inicialização do jogo, mas até mesmo TheZZAZZGlitch se refere a isso como “trapaça”, pois depende de dados ROM existentes para ajudar a mapear o áudio de travamento gravado.
No geral, esta demonstração serve como uma fascinante prova de conceito, mas não é de forma alguma uma maneira prática ou ideal de criar um despejo de um carrinho de jogo do Game Boy Advance. É, no entanto, uma visão incrivelmente fascinante dos primeiros dias do hardware de jogos portátil, e estranhamente existencial.