La Game&Watch Mario Edition déjà hackée

À peine sortie, déjà mise à nue et hackée ! La petite « console » hommage de Nintendo, pour fêter les 35 ans du plombier moustachu le plus célèbre au monde, est en effet passée entre les mains de stacksmashing, qui a fait plusieurs découvertes assez intéressantes.

Tout d’abord la partie hardware : La bestiole est propulsée par un Cortex-M7, épaulé de 128 Kilo-octets de mémoire flash et 1024 Kilo-octets de RAM. Celui-ci est bien connu et est équipé d’un port debug SWD, dont le pinout a été retrouvé par l’intéressé. Une mémoire flash Macronix 25U8035 8Mb (1Mo) vient compléter la donne

Puis la partie software : le port SWD est actif mais protégé, ce qui empêche un dump direct du firmware. Néanmoins, la flash Macronix a pu être dumpée (checksum MD5: 1f5a35ca9b4e6439639c70a01a113620 / SHA256: e3a59ee061cd730957b17a34cde5575e49ef24168188b602ca317e8e1f3403fe) à l’aide d’un Minipro et d’un clip SOIC8. stacksmashing s’est ensuite rendu compte qu’il pouvait lire le frame buffer via SWD, permettant d’analyser le contenu de la RAM, dans laquelle une rom du jeu Super Mario Bros a pu être identifiée (tiens tiens 😆 )

Pour finir, celui-ci a pu modifier des données sans que le système ne rechigne à démarrer, prouvant ainsi qu’il n’y a pas de validation forte de la mémoire flash.

Même si le hack de cette « console » peut paraître dérisoire, voire inutile, au vu de la quantité plus que restreinte de mémoire de stockage (on ne risque pas d’y stocker le romset NES complet), il est intéressant de voir le cheminement de réflexion du hacker pour analyser, décortiquer, et finalement modifier son fonctionnement. Il était couru d’avance que les protections du système se limiteraient à sa plus simple expression, mais jamais une console n’aura été hackée avant même sa sortie (en Europe, elle sort demain !).

Je ne peux que vous conseiller de lire le fil de discussion dans son intégralité. Bonne lecture !