Os leitores já foram apresentados ao Rui Ribeiro, seja pela sequência de artigos técnicos que já escreveu para o Planeta Sinclair (aqui, aqui, aqui e aqui), seja por ter sido o autor do WSpecEM, primeiro emulador de ZX Spectrum para o Microsoft Windows, seja também por termos noticiado aqui, em primeira mão, a criação do seu novo emulador QtSpecEm. O que muitos leitores talvez desconheçam, é que o Rui foi também um prolífico cracker, bastante activo nos anos 90, como o nosso blogue irmão, o Planeta MS-DOS já havia descortinado neste post.
Mas eis que o Rui passou ao Planeta Sinclair, um ficheiro .z80 que sobreviveu ainda antes dessa época, quando começou a crackar jogos do ZX Spectrum. O snapshot em questão, contêm um crack do jogo Popeye, realizado no ano de 1987. Detalhe curioso: o jogo crackado fora preservado através do TAPE2TAP, um utilitário escrito pelo próprio Rui em assembly 80x86, e que permitia digitalizar programas em cassete, recorrendo a um cabo próprio ligado à porta paralela (da impressora) de um PC.
Popeye com vidas infinitas e tempo ilimitado. |
O crack permite vidas e tempo ilimitados, além de funções extras como gravar e imprimir em qualquer ponto do jogo. Não terá sido o único jogo que o Rui alterou ou acrescentou funcionalidades, mas é o único que guardou até aos dias de hoje.
Usando o MONS3 (já referido aqui) para dissassemblar à mão, o Rui quebrou as proteções do turbo-loader, fez o unroll de rotinas de encriptação e código auto-modificável, criou a rotina a ser acrescentada ao ciclo principal do jogo, e ainda implementou um menu de arranque para perguntar se o jogador quer vidas infinitas.
Menu de arranque. |
O Rui também criou o loader Basic do crack, o qual podemos ver na listagem abaixo. Podemos reparar que o código-máquina está na primeira linha de REM (uma técnica que alguns ainda poderão se lembrar terem usado), bem como a rotina original que foi usada para gravar em fita, ou o uso VAL para poupar espaço.
Tendo o Rui já crackado vários jogos, este foi o primeiro com menu, e assinado por ele. O jogo com o crack pode ser obtido aqui. A rotina de código-máquina pode ser consultada abaixo.
Sem comentários:
Enviar um comentário