Dans un billet daté du 8 octobre 2026, Joshua Kennedy raconte avoir repris puis achevé, au cours de l’année, son projet de glitch de tension sur Xbox 360. Il avait acheté une Matrix CoolRunner Rev D en 2017, avant de mettre le projet de côté après un essai infructueux avec un programmateur sur port LPT. Son récit détaille le rôle du Raspberry Pi Pico : lire la mémoire NAND de la console et programmer les fichiers de timing. Le CoolRunner, lui, est resté la puce chargée du glitch.

Que provoque un glitch du signal de reset ?

Kennedy décrit une brève impulsion sur le signal de réinitialisation du processeur, CPU_RESET. Cette perturbation peut amener le processeur à exécuter incorrectement une instruction : c’est une forme d’injection de faute matérielle. Tom’s Hardware explique que cette faille peut ouvrir la voie à l’exécution de code arbitraire et au contournement des protections cryptographiques de la console ; le média rapporte aussi que les fenêtres de déclenchement varient selon les révisions matérielles de la Xbox 360. Tom’s Hardware détaille ces conséquences et variations.

Kennedy décrit une impulsion d’environ 100 ns pour la Matrix CoolRunner Rev D. La puce doit déclencher le glitch au moment opportun pour perturber l’exécution d’une instruction.

À quoi servait le Pico ?

Joshua Kennedy dit avoir achevé son projet de glitch sur Xbox 360

Le Pico n’a pas remplacé la puce de glitch : il a servi à lire la NAND et à programmer les fichiers de timing qui vont sur le CoolRunner. Kennedy rapporte que la lecture de la NAND a pris quelques secondes.

TâcheOutil ou composantRôle
Lecture de la NANDRaspberry Pi Pico avec PicoFlasherLire la mémoire NAND de la console
Programmation des fichiers de timingRaspberry Pi Pico avec Pico-dirtyJTAG et urjtagProgrammer les Octal450 Timing Files sur la Matrix CoolRunner Rev D
Injection du glitchMatrix CoolRunner Rev DEnvoyer l’impulsion destinée à perturber le signal CPU_RESET

Pour programmer les fichiers, Kennedy dit avoir utilisé Pico-dirtyJTAG sur le Pico et installé urjtag depuis les sources. Le Pico servait donc de lecteur et de programmateur ; le CoolRunner restait au cœur du déclenchement.

Pourquoi la précision temporelle compte-t-elle ?

Kennedy attribue aux blocs PIO du Raspberry Pi Pico une résolution temporelle effective d’environ 7,5 ns, avec une horloge à 133 MHz. Les fichiers de timing servent à régler le moment du déclenchement, tandis que les fenêtres disponibles varient selon les révisions de la console.

Cette distinction explique les deux rôles du montage : le Pico fournit les outils de lecture et de programmation, et la Matrix CoolRunner Rev D produit l’impulsion de glitch.