AccueilJeux vidéosIl est possible de pirater « Tetris » depuis le jeu lui-même

Nos derniers articles

Il est possible de pirater « Tetris » depuis le jeu lui-même

Plus tôt cette année, nous avons partagé l’histoire de la façon dont un classique NES Tétris Le joueur a atteint « l’écran d’arrêt » du jeu pour la première fois, activant un crash après une incroyable performance de 40 minutes et 1 511 lignes. Désormais, certains joueurs utilisent cet écran d’arrêt (et certaines manipulations complexes de la mémoire qu’il permet) pour coder de nouveaux comportements dans des versions de Tétris fonctionnant sur du matériel et des cartouches non modifiés.

Nous avons couvert des problèmes similaires d’« exécution de code arbitraire » dans des jeux comme Super Mario Monde, Mario en papieret La Légende de Zelda : Ocarina of Time dans le passé. Et la méthode de base pour introduire du code extérieur dans NES Tétris a été théorisé publiquement depuis au moins 2021, lorsque les joueurs enquêtaient sur le code décompilé du jeu. (HydrantDude, qui a approfondi Tétris crashs dans le passé, affirme également que la communauté dispose depuis longtemps d’une méthode connue en privé pour prendre le contrôle total de Tétris‘ RAM.)

Mais une vidéo récente de Displaced Gamers fait passer l’idée de la théorie privée à l’exécution publique, en détaillant minutieusement comment obtenir la NES. Tétris pour commencer à lire les tableaux des meilleurs scores du jeu sous forme d’instructions de code machine.

Amusez-vous avec les ports de contrôleur

Reprendre une copie de NES Tétris est possible principalement en raison de la manière spécifique dont le jeu plante. Sans trop entrer dans les détails, un crash sur NES Tétris se produit lorsque le gestionnaire de score du jeu prend trop de temps pour calculer un nouveau score entre les images, ce qui peut se produire après le niveau 155. Lorsque ce délai se produit, une partie du code de contrôle est interrompue par la nouvelle routine d’écriture d’image, le faisant passer à une partie involontaire de la RAM du jeu pour rechercher l’instruction suivante.

Habituellement, cette interruption inattendue amène le code à sauter au tout début de la RAM, où les données inutiles sont lues sous forme de code et entraînent souvent un crash rapide. Mais les joueurs peuvent manipuler ce saut grâce à un caprice peu connu de la façon dont Tétris gère les entrées potentielles lors de l’exécution sur la version japonaise de la console, la Famicom.

Contrairement à la Nintendo Entertainment System américaine, la Famicom japonaise comportait deux contrôleurs câblés à l’unité. Les joueurs souhaitant utiliser des contrôleurs tiers pouvaient les brancher via un port d’extension situé à l’avant du système. Le Tétris le code du jeu lit les entrées de ce port de contrôleur « supplémentaire », qui peut inclure deux contrôleurs NES standard supplémentaires grâce à l’utilisation d’un adaptateur (cela est vrai même si la Famicom a une version complètement différente de Tétris du logiciel Bullet-Proof).

Il se trouve que la zone de RAM qui Tétris utilisé pour traiter cette entrée supplémentaire du contrôleur est également utilisé pour l’emplacement mémoire de cette routine de saut dont nous avons parlé plus tôt. Ainsi, lorsque cette routine de saut est interrompue par un crash, cette RAM contiendra des données représentant les boutons enfoncés sur ces contrôleurs. Cela donne aux joueurs un moyen potentiel de contrôler précisément où va le code du jeu après le déclenchement du crash.

Codage dans le tableau des meilleurs scores

Pour la méthode de contrôle de saut de Displaced Gamers, le joueur doit maintenir « haut » sur le troisième contrôleur et droite, gauche et bas sur le quatrième contrôleur (cette dernière combinaison nécessite quelques manipulations du contrôleur pour permettre une entrée directionnelle simultanée gauche et droite. ). Cela envoie le code de saut à une zone de la RAM qui contient les noms et les scores de la liste des meilleurs scores du jeu, donnant une surface de RAM encore plus grande qui peut être manipulée directement par le joueur.

En mettant « (G » dans la partie ciblée du tableau des meilleurs scores de type B, nous pouvons forcer le jeu à passer à un autre zone du tableau des meilleurs scores, où il commencera à lire les noms et les scores de manière séquentielle comme ce que Displaced Gamers appelle le code « bare metal », les lettres et les chiffres représentant les opcodes du processeur NES.

Malheureusement, il n’y a que 43 symboles possibles pouvant être utilisés dans la zone de saisie du nom et 10 chiffres différents pouvant faire partie d’un score élevé. Cela signifie que seule une petite partie des instructions d’opcode disponibles sur la NES peut être « codée » dans le tableau des meilleurs scores en utilisant la surface d’attaque disponible.

Robert Bertrand
Robert Bertrand
Salut à tous les gamers ! Je suis Robert Bertrand, un rédacteur web et passionné de jeux vidéo. Mon univers tourne autour des pixels, des manettes, et des aventures épiques qui font vibrer le monde du gaming. Doté d'une plume passionnée et d'une passion dévorante pour les jeux vidéo, j'ai navigué entre les lignes de codes et les univers virtuels. Mon parcours m'a amené à combiner ma passion pour l'écriture avec mon amour pour le gaming. En tant que rédacteur web spécialisé dans les jeux vidéo, je suis constamment à l'affût des dernières actualités, des sorties à ne pas manquer, et des tendances qui redéfinissent le paysage du gaming. Mon objectif est de partager avec vous des analyses approfondies et des recommandations éclairées. Parmi la multitude de jeux qui ont marqué mon parcours, "The Legend of Zelda: Ocarina of Time" reste mon incontestable favori. Cette aventure emblématique a marqué mon enfance, et la façon dont elle mélange narration immersive, exploration et bande son magistrale en fait une expérience qui résonne toujours profondément en moi.

Latest Posts

A ne pas rater

Restons en contact

Soyez toujours à l'avance sur les dernières sorties !