Le Bug de la Baie Grena
Le Glitch Grena
Corruption des Pokémon

Lors du Glitch Grena, le curseur se retrouve en réalité téléporté sur les données du 24e Pokémon de la Boîte 2 du PC.
Et comme la corruption s'effectue en remontant le curseur, tous les Pokémon avant cette position sont susceptibles d'être corrompus.
Il y a ainsi 54 Pokémon du PC qui pourront voir leurs données altérées.
Le jeu va alors essayer d'interpréter ces nouvelles données, ce qui va souvent donner lieu à des Mauv.Oeufs, ou parfois à un Oeuf.
Avoir un Oeuf paraît bien plus intéressant, car il ne semble pas que l'on puisse tirer la moindre chose d'un Mauv.Oeuf.
Et pourtant, le Mauv.Oeuf a quelques avantages indéniables dans certaines corruptions.
L'Oeuf reste toutefois comme un petit diamant parmi le gravier, car il recèle en lui tout un potentiel que vous apprendrez rapidement à exploiter, pour Obtenir n'importe quel Pokémon, Objet, ou Attaque par exemple (même si c'est déjà énorme), ou bien initier la Double Corruption.

Mais bon, ne nous emballons pas trop vite.
Avant de partir bille en tête sur un Glitch, il vaudrait peut-être mieux savoir un peu de quoi il en retourne.
Parce que oui, pourquoi y a-t-il des Oeufs qui apparaissent à la suite d'une corruption, et quel est leur contenu ?

Explications

Mécaniques
Pour bien comprendre pourquoi le Pokémon peut se transformer en Oeuf de n'importe quel Pokémon, ou pas, plusieurs éléments entrent en jeu :
Le PID (Pokemon IDentifiant) :
Sorte d'identifiant qui définit diverses caractéristiques du Pokémon (Sexe, Nature, Cap.Spé, IVs).
Le PID étant une valeur comprise entre 0 et 2^32 - 1 (ou 4.294.967.295), il est pratiquement unique à chacun de vos Pokémon. Donc si votre Pokémon est mortellement badass de l'infini, c'est en partie grâce à ce morceau de données.
Le couple ID/ID Secret (ou Trainer ID, TID) :
L'ID et l'ID Secret du dresseur ayant capturé le Pokémon. Ces deux valeurs sont réunies en une seule appelée le TID.

Le cryptage des données d'un Pokémon :
Lorsqu'un Pokémon est généré, cet algorithme fait une opération avec le PID du Pokémon et avec son couple ID/ID Secret afin d'avoir une première valeur en résultat.
Il réalise ensuite une sorte de "cryptage" des données du Pokémon restantes en se servant du premier résultat comme clé de cryptage, et les données cryptées sont les données que vous verriez si vous regardiez le contenu de votre sauvegarde.
Ainsi, pour modifier un Pokémon, il faut d'abord retrouver la clé de cryptage pour décrypter ses données, car sinon vos modificaions vont faire n'importe quoi. C'est un premier moyen pour protéger les données des Pokémon contre la triche, mais Game Freak ne s'est pas arrêté là.

Le checksum :
Algorithme anti-triche chargé de repérer les modifications de données "illicites" et de changer le Pokémon en Mauv.Oeuf.
Le checksum va décrypter les données "cryptées" d'un Pokémon, puis va réaliser une opération avec ces données "décryptées", et va stocker ce résultat, que l'on appelle aussi checksum du Pokémon (c'est plus pratique à désigner ainsi).
Lorsque le jeu va ensuite chercher à utiliser les données d'un Pokémon, il va recalculer la clé de cryptage, tenter de décrypter à nouveau les données "cryptées", refaire la même opération avec les données "décryptées", et va comparer le résultat obtenu avec le résultat stocké (le checksum du Pokémon), d'où le nom de "check" "sum" (ou "contrôle de la somme" en français)
Et si ces deux valeurs diffèrent, le Pokémon se transforme en Mauv.Oeuf, car cela signifie qu'on a traficoté les données du Pokémon de manière illicite.
Ainsi, si l'on souhaite modifier son Pokémon (ex : Rattata en Mew), il faut modifier les données relatives à l'espèce du Pokémon, ainsi que le checksum du Pokémon, afin que lorsque le jeu recalcule le checksum du Pokémon, il ne voie pas de différence avec celui déjà enregistré et ne remarque pas qu'on a traficoté les données du Pokémon.
Mais le checksum c'est pas si facile à manipuler, donc autant laisser un logiciel faire le taff à notre place, c'est moins compliqué.
La corruption des données réalisée par le Glitch Grena est très légère (très peu de valeurs dans les données d'un Pokémon sont modifiées), ce qui en général n'échappe pas au checksum, sauf si l'on touche au PID ou au Couple ID/ID Secret, car ces deux données sont traitées différemment (elles servent à déterminer le cryptage des autres données).
Du coup, la Corruption des Pokémon se base sur la corruption du PID ou du couple ID/ID Secret du Pokémon, et ça, on sait très bien le faire.
Reste après à savoir à quoi servent aussi le PID et le Couple ID/ID Secret.

Les données du Pokémon :
Ce sont toutes les données qui vont définir le Pokémon (Espèce, Stats, EVs, IVs, PID, DO, Attaques,....).
Le PID, le Couple ID/ID Secret, et le surnom sont juste enregistrés tels quels.
Le reste des données est réparti dans 4 sous-structures (que j'appelle zones) différentes : Zone Croissance, Zone Attaques, Zone EVs & Condition, et Zone Divers.
Ce sont les données de ces 4 sous-structures qui sont "cryptées" par le checksum.
Pour rendre la triche encore plus compliquée, ces 4 zones sont aussi disposées dans un ordre qui dépend du PID du Pokémon.
Cet ordre dépend du reste de la division euclidienne du PID par 24 : car il y a 24 façons de ranger 4 livres différemment.
Vous retrouverez le contenu détaillé de chaque sous-structure, ainsi que le le tableau récapitulatif de l'ordre des sous-structures (ou zones), en fonction du PID ici : Précisions sur les sous-structures de la Gen III.
Cette description plus détaillée des sous-structures vous sera très utile pour savoir quelles données du Pokémon manipuler pour parvenir à vos fins, et ainsi mieux maîtriser les diverses Corruptions des Pokémon.
Je m'y réfère souvent, donc n'hésitez pas à faire de même. (vous en aurez besoin de toute façon)

Effets du Glitch Grena sur un Pokémon, Corruption du PID/TID

Maintenant que tous les mécanismes vous sont présentés, intéressons-nous aux effets de la corruption du Glitch Grena.
En termes techniques, le curseur fou du Glitch Grena va modifier la valeur des octets les plus à gauche des double-mots de deux manières différentes.
Soit le Bit 6 (0x40) change de valeur, soit les Bits 0 et 2 sont mis à 1 (0x05)
Or, l'hexadécimal étant comme le décimal, les chiffres (ou caractères) situés à gauche sont ceux qui ont la plus grande valeur.
Ainsi, pour dire les choses plus simplement, lorsque le PID d'un Pokémon est modifié par ce curseur, sa valeur va énormément changer.

- ex : Mon PID est 0x1450F000 (le 0x signifie que le nombre est en écriture hexadécimale, et non décimale, afin de ne pas se tromper)
La corruption du Glitch Grena peut lui rajouter 0x0500 0000 ou lui rajouter/enlever 0x4000 0000, ce qui donnerait 0x5450 F000 (rajout de 0x4000 000).
En écriture hexadécimale, le changement est minime, mais si je convertis en décimal, mon PID est passé de 340.848.640 à 1.414.590.464, ce qui fait une très grosse différence.

Par dessus, arrive le checksum.
Le changement de valeur du PID va induire un changement du résultat de la première opération.
Ce nouveau résultat est ensuite utilisé comme clé de cryptage afin de décrypter les données du Pokémon, d'appliquer une opération à tout ça, et de comparer le résultat au checksum du Pokémon.
Mais si la valeur rajoutée/enlevée n'est pas présente dans les données décryptées du Pokémon, le résultat de l'opération restera identique au checksum du Pokémon.
Le jeu est alors dupé et croira que ce Pokémon n'a pas été traficoté. Il va traiter les données de notre Pokémon corrompu comme celles d'un Pokémon tout à fait normal, même si ce Pokémon se retrouve alors avec des Attaques inconnues, une espèce inconnue, beaucoup trop d'expérience, ou des EVs dont le total dépasse les 510.
En plus de cela, cette valeur rajoutée/enlevée est aussi rajoutée aux données "décryptées" du Pokémon.
Et ce qu'il faut savoir, c'est que le jeu repère le fait que le Pokémon soit dans un Oeuf ou non en regardant si une certaine donnée possède la valeur 0x4000 000 ou non.
Donc, si le Pokémon n'est pas transformé en Mauv.Oeuf par le checksum, ses données seront modifiées, et cette modification le transformera en Oeuf !
C'est un effet un peu imprévu du Glitch Grena, auquel on ne s'attendait pas, mais il reste assez drôle car il fait le contraste entre corruption ratée (Mauv.Oeuf) et corruption réussie (Oeuf).
Du coup, si les données non cryptées de notre Pokémon ne contiennent pas de 0x4000 0000, notre corruption fonctionnera comme sur des roulettes ; et c'est le cas !
Un Pokémon classique a un identifiant allant jusqu'à 386, peut tenir un objet dont l'identifiant ne dépasse pas les 500, a des attaques dont le n° s'arrête à 354,...
Converties en hexadécimal, ces valeurs ne dépassent pas les 0x01XX, donc même mises bout à bout, la majorité d'entre elles ne formera pas la valeur 0x4000 0000.
Certaines données peuvent gêner la corruption, en formant cette valeur 0x4000 0000 une fois mises bout à bout, mais on les connaît, il y en a peu, et on sait quelles valeurs leur donner afin d'éviter cela.
"Bon, Metarkrai, pour le moment, tu nous as dit qu'on pouvait modifier le PID, que le jeu ne verrait pas que cette modification a été faite à la main, et que le Pokémon corrompu serait dans un Oeuf, mais ça nous sert à quoi ?"
Ne vous en faites pas, j'y viens. Comme ce sont des explications, et que ce Glitch est très riche, je préfère détailler un peu plus ce qui se passe pour que le reste des choses vous paraisse plus clair, et que vous soyiez plus à l'aise avec le Glitch Grena.
En effet, le PID est modifié, et il ne faut pas oublier que c'est le PID qui gère l'ordre des 4 sous-structures (ou zones) d'un Pokémon.
Du coup, lorsque le jeu va essayer de lire les données d'un Pokémon, hé bien il va les lire au mauvais endroit.
Par exemple, les données de la zone Croissance peuvent être lues sur l'emplacement où étaient stockées les données de la zone Attaques, ce qui fait que le jeu va aller lire l'identifiant du Pokémon corrompu sur l'Attaque n°1 du Pokémon avant la corruption.
Donc si j'avais dans mon PC un Queulorior avec l'Attaque Baston (n°251) en première position, et qu'après la Corruption, la nouvelle valeur de son PID fait que les données de sa zone Croissance sont lues là où étaient stockées les données de sa zone Attaques, le jeu considèrera alors que l'identifiant de mon Queulorior corrompu est 251, qui est l'identifiant de Celebi.
Comme le PID de Queulorior a été corrompu, le Queulorior corrompu se retrouve aussi dans un Oeuf, ce qui nous fait en fin de compte un Oeuf de Celebi !
Tout l'intérêt de la Corruption des Pokémon, c'est que le jeu tente de lire les données d'un Pokémon corrompu à la place d'autres données. Ainsi, en choisissant judicieusement les Attaques, les EVs, la Condition, l'Expérience d'un Pokémon, on est capable de modifier des données normalement fixes, comme l'espèce, le Pokérus, l'Objet Tenu, les IVs, l'Obéissance, ou bien de dépasser des valeurs limites, histoire d'obtenir des Attaques Glitch ou des Pokémon Glitch (comme le fameux ??).
Ainsi, ce pauvre curseur qui va altérer des octets çà et là va au final modifier les données du Pokémon de manière bien plus optimale que si on tentait de le faire à la main.
Comme quoi, il n'y a pas besoin de grand-chose pour duper le jeu !
Bon, pour résumer un peu tout ce pavé bien dense, si le curseur modifie le PID, le Pokémon devient un Oeuf, et les données des différentes zones sont mélangées.
Le jeu va essayer de lire les sous-structures des données d'un Pokémon sur d'autres, et on va profiter de ça à fond.

Il y a du coup deux zones sur lesquelles on a envie que d'autres zones soient lues : la zone Attaques et la zone EVs & Conditions.
Comme le Pokémon corrompu se retrouve dans un Oeuf, il y a quand même peu de données que l'on récupèrera de l'éclosion, donc corrompre l'espèce du Pokémon reste le plus intéressant.
On trouve aussi un autre élément absolument divin à obtenir : Le Pokérus !
Plus rare que les Shiny, ce petit virus s'obtient au détour d'un Oeuf corrompu, et, une fois l'Oeuf éclot, il peut se propager à toute votre équipe pour doubler votre Xp et vos EVs reçus en combat.
D'autant plus que la majorité d'entre vous n'ont jamais eu la chance de l'obtenir sur leur partie à l'époque, tant ce truc est rare ! (probabilité de 3/65.536 seulement !)
Donc ne serait-ce que pour ça, le Glitch Grena, c'est de la balle !
Ces Corruptions vont toutefois vous demander de capturer pas mal de Pokémon, et de resetter pas mal de fois le Glitch Grena, car il y a 3 facteurs chance qui entrent en jeu :

1) Il faut que le Pokémon ait un PID tel qu'une fois corrompu, sa zone Croissance soit lue sur sa zone Attaques ou sur sa zone EVs & Condition (cela arrive dans 2/3 des cas)
Cela vous demandera ainsi de capturer des Pokémon, et de les tester avant de vous en servir pour la corruption.
Mais, il existe une méthode pour avoir des cobayes dont on connaît parfaitement l'effet de la corruption du PID sur leurs sous-structures.
2) Il faut que, lorsque le PID du Pokémon est corrompu, aucune autre donnée du Pokémon ne soit corrompue par le curseur (sinon le checksum le verra)
Mais, il existe une stratégie particulière afin de "manipuler" la corruption pour que lorsque le PID ou TID sont corrompus, aucune autre donnée du Pokémon ne le soit.
Cette stratégie fait rentrer en jeu des Pokémon appelés Initiateurs de corruption.
3) Pour obtenir un Pokémon corrompu sous forme d'Oeuf, il faut que le curseur modifie la valeur du PID.
Mais, avec de nouvelles méthodes élaborées par mes soins, vous aurez 6-7 chances sur 32 (18.75%) de corrompre le PID d'un Pokémon en réalisant un Glitch Grena.
On ne peut pas avoir mieux, et j'essaie de vous donner les méthodes les plus agréables afin que vous n'ayez pas besoin de faire trop de corruptions ou de captures de Pokémon pour obtenir ce que vous désiriez. (par exemple, la procédure pour déclencher le Glitch Grena est la plus rapide et la plus pratique possible)

Il y a de plus un cas de "faux-positif", où un Pokémon va se transformer en Oeuf, mais son contenu ne sera pas ce que vous désiriez.
Car si le TID est corrompu, il va se passer la même chose qu'avec le PID : Le Pokémon va se transformer en Oeuf.
Mais comme seul le PID gère l'ordre des sous-structures des données du Pokémon, la corruption du TID ne va rien changer à ce niveau-là, donc le Pokémon dans l'Oeuf sera toujours le Pokémon avant la corruption.
On détecte ce cas assez facilement, en regardant le résumé d'un Oeuf (s'il a le Pokérus, s'il est sur le point d'éclore) ou en envoyant l'Oeuf au combat (voir quel Pokémon est dans l'Oeuf).
Auparavant, cette corruption n'était pas utilisée, mais de nouvelles méthodes permettent de cumuler la corruption du PID et du TID afin d'avoir une corruption finale encore plus manipulable qu'avant.
Et ce sont ces méthodes qui seront traitées par la suite, car elles sont plus intéressantes que les anciennes dans tous les domaines (temps de préparation, temps de réalisation, chances de succès, résultats possibles)

Mon petit moment probabiliste vous a peut-être découragés, mais rassurez-vous, resetter le Glitch Grena, c'est rapide, donc même si vous deviez faire 20 resets, cela restera peu pénible.
Et puis.. j'ai tout prévu !

La méthode qui découle de cette introduction est une corruption permettant d'Obtenir n'importe quel Pokémon, Objet, ou Attaque (Pokérus en bonus).
C'est un concentré de méthodes anciennes qui vous permettra d'obtenir tout un tas de légendaires que vous rêviez d'avoir, et plein de glitchs dans les yeux !
Si c'est pas beau tout ça.
Je vous recommande de commencer par faire un détour sur la Duplication d'objets, avant de toucher à l'Obtention de n'importe quel Pokémon, Objet, ou Attaque (Pokérus en bonus), car vous aurez besoin de pas mal d'exemplaires de divers objets (PV Plus,Protéine, Master Ball,..), et la Duplication d'Objets est le dérivé du Glitch Grena adéquat pour cela, à moins que vous soyez suffisamment riche pour tout vous acheter.
Sinon, dans un ordre d'explications, l'Obtention de n'importe quel Pokémon, Objet, ou Attaque est juste après, avec les Préparations des cobayes et la Réalisation de la Corruption.
Et si vous maîtrisez déjà assez bien le sujet, sachez qu'il existe une Corruption bien plus avancée que la Corruption des Pokémon, qui offre beaucoup plus de libertés : la Double Corruption.
Si vous êtes par exemple en quête d'un Mew ou Deoxys obéissant, ou que vous désirez un Pokémon particulier possédant des attaques partiuclières, vous aurez à passer par la Double Corruption.

Héé oui, le Glitch Grena, c'est extra !
Je mets juste en-dessous un petit sommaire des différentes techniques et intérêts liés au Glitch Grena, car c'est toujours bon de jeter à nouveau un coup d'oeil sur l'une ou l'autre d'entre elles histoire de ne pas se mélanger les pinceaux.
- Obtenir n'importe quel Pokémon, Obet, ou Attaque (Pokérus en bonus)
- Pokémon Glitch intéressants
- Attaques Glitch intéressants
- Objets intéressants
- Double Corruption
- Nettoyer son PC
Voir aussi :
- Corruption de la Partie
-- Dupliquer les Objets
-- Débloquer l'Île du Sud
-- Débloquer les Îles Aurore et Lointaine
* Retour à la page sur le Glitch Grena *
** Accueil **