[Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Cet espace vous permet de discuter des glitches pokémon de façon générale. Vous pouvez créer des sujets à propos de glitches répertoriés sur le site, mais aussi discuter de ceux qui n'y ont pas leur place, comme les erreurs graphiques ou les glitches ne fonctionnant pas sur version française. Attention, tout ajout à un contenu existant doit se faire sur le forum "Soumettre une contribution" !
Avatar du membre
Krys3000
Fondateur
Messages : 1564
Enregistré le : lun. 28 mai 2012 21:02
Contact :

[Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Krys3000 » ven. 18 sept. 2015 13:13

Salut !

On est vraiment très fiers de vous présenter notre nouvelle découverte, assortie pour la compréhension d'une vidéo !

https://www.youtube.com/watch?v=fH-W5hfpkFQ

Ceci explique comment faire pour provoquer l'item underflow glitch sans avoir besoin de rencontrer MissingNo. Ainsi, la seule limitation qui empêchait encore ceux qui ne pouvaient pas exécuter le Ditto, Old Man ou Cooltrainer Trick de faire le 8F Code Execution, par exemple, vient de voler en éclat, deux ans après la découverte du 8F, et pas moins de 17 ans après la sortie du jeu en Europe !

Pour bien vous expliquer nous allons retracer l'historique qui nous a mené à cette incroyable découverte.

En Juin 2015, TheZZAZZGlitch, glitchologue anglophone bien connu pour avoir fait un certain nombre de découvertes et donné l'impulsion de départ au 8F, découvre une région de Glitch World générée à partir de son inventaire dans la version anglais.

En Août 2015, ISSOtm, testeur de PRAMA, parvient à adapter ce glitch en français. Son but est de permettre, notamment, de générer des Cooltrainer facilement à partir des objets. Il parvient finalement à une méthode permettant utilisant les objets du PC que nous avions documenté dans notre dernière vidéo.

En Septembre, je décide de m'atteler à la tache de compléter ce travail en explorant ce Glitch World pour voir si on pouvait y trouver d'autres données de RAM. Je découvre qu'on peut plus ou moins visualiser l'intégralité de celle-ci sous forme de blocs de tuiles et je poste l'information sur Glitch City Laboratories, notre collègue anglophone, où des discussions à propos de notre Item Cooltrainer avaient déjà commencées.

Pour rappel, pour accéder à cette région de Glitch World il faut appliquer le NoClip Trick puis se placer ici :
Image

MISE A JOUR (03/10) : Grille réécrite en français

En marchant 94 pas à gauche et 95 vers le haut, vous arrivez au bloc de tuiles correspondant à l'adresse mémoire $D529 (sur R/B).
Image
Pour utiliser la grille correctement, à partir du point d'entrée ($D529) je vous conseille de tout simplement compter les cases. Une case = un bloc de tuiles 4x4 et vous devrez donc faire 2 pas pour passer au bloc suivant.

Pour accéder à la première adresse des objets du PC (nombre d'objets stockés) vous devrez donc, depuis le point d'entrée, traverser 22 blocs (soit 44 pas) vers la droite. Facile, non ? Grâce à ça vous pourrez générer des Cooltrainer en utilisant les tuiles générées par les stats, attaques, surnoms, DO des Pokémon, vos objets ou encore les jetons de Casino, si vous êtes en mesure d'avoir la tuile d'IDH 50 au bon endroit comme dans tout Cooltrainer.

MISE A JOUR (05/10) : Liste des blocs de tuiles avec leurs IDH !

Image

Venons-en au début de ce qui nous intéresse.

La manipulation de RAM par Glitch World

TheZZAZZGlitch avait vu qu'en ayant une Poké Poupée (IDH 33) il générait un bloc contenant un arbre coupable et qu'en le coupant, la Poké Poupée devenait l'objet glitch d'IDH 6C parce que cela changeait le bloc de tuile.

Nous avons donc fouillé tous les blocs pour voir lesquels contiennent des arbres coupables ou de l'herbe ; permettant d'affecter les valeurs des adresses correspondantes dans la RAM. Voici le résultat

0B : Herbes x4 => 0A une fois coupé (sol sans herbes)
32 : Arbre en haut à droite => 6D
33 : Arbre en bas à droite => 6C
34 : Arbre en haut à gauche => 6F
35 : Arbre en bas à droite => 4C
60 : Arbre en bas à gauche gauche => 6E
D5 : Arbre glitché => D5

Cela implique qu'à chaque fois que vous avez dans une adresse mémoire quelque chose ayant l'un de ces IDH, vous pouvez couper l'arbre et changer l'IDH en question.

Image

Les applications sont nombreuses ; vous pourrez d'abord changer n'importe quel stat de la valeur Décimal du haut à la valeur Décimal du bas (exemple : 52 en 111). Vous pouvez aussi vous donner plus d'argent (en transformant 343434 en 6F6F6F, qui sera lu comme 696969) ou des choses de ce genre.

Niveau Pokémon, ça ne sert pas à grand chose ; niveau attaque par contre, le côté le plus sympa est sans doute de pouvoir remplacer Lance-Flamme par Lance-Soleil donnant alors une redoutable attaque Plante à un Pokémon feu pour qu'il puisse se défendre face aux Pokémon eau :noel:

Enfin, niveau objet, mis à part le fait que vous pouvez obtenir des légions de Pierre Lune, les objets glitch 6C et 6F peuvent s'obtenir facilement (obtenir 6D et 6E n'est pas très réaliste parce qu'il n'est pas possible en principe d'avoir la version prototype du PP Plus ni l'objet glitch 10EME ETAGE). Il est peut-être possible d’exécuter du code avec l'un de ces objets, à l'heure actuelle ISSOtm et Haxel planchent dessus, mais ce n'est pas ce qui va nous intéresser aujourd'hui.

Il y a quelques jours j'ai eu l'illumination d'avoir 50 objets stockés dans mon PC, et de couper l'arbre du bloc de tuile d'IDH 32 qui apparaît alors à l'adresse mémoire du nombre d'objet stockés - la première case rouge foncée sur la grille plus haut, qui en version française correspond à $D53F ($D53E sur jaune). Sans surprise, cela permet de passer les objets de son PC à 109 !

J'ai d'abord cru avoir trouvé le moyen de faire des Ditto Trick sans dresseur facilement (cf. description de la vidéo). C'était vrai, mais il y a beaucoup mieux à faire ; car grâce à ça il est possible d'obtenir toutes sortes d'objets, et d'accéder à des packs d'objets x255 ! Il est donc possible de retirer un de ces packs et de générer un Underflow dans l'inventaire, bypassant complètement la partie où on utilise MissingNo. pour obtenir 255 exemplaires d'un objet !

Utiliser le Partial PC Underflow pour générer un vrai underflow et exécuter du code

Cherchez un objet x0 (si vous avez moins de 100 jetons, le 53ème objet sera toujours x0) et jetez un exemplaire. Retirez ensuite les 255 restants.

1/ Placez l'objet x255 en troisième position et jetez les deux premiers.
2/ Jetez 255 exemplaires du premier objet jusqu'à ne plus pouvoir sélectionner que deux objets (le deuxième est en fait RETOUR)
3/ Jetez 253 exemplaires du premier objet.
4/ Echangez les objets 1 et 2, deux fois. L'underflow est actif.

Vous pouvez manipuler les bytes comme indiqué dans notre article à ce sujet. Ou continuer pour récupérer des objets d’exécution de code. Le plus facile pour ça est d'avoir un Spécial + avant de déclencher l'underflow :

5/ Allez à la sortie Est de Céladopole, comme sur la vidéo. Inversez le Spécial + avec la Pépite x1 en 35ème position.
6/ Faites 5 pas à droite, 5 pas en bas, 20 (R/B) ou 26 (Jaune) pas à droite et ouvrez l'inventaire pour trouver 7EME ETAGE / ws*l’||lm||. Inversez-le avec la Pépite de nouveau.
7/ Volez vers une ville, stockez l'objet dans le PC, achetez un nouvel objet puis retirez de nouveau 7EME ETAGE / ws*l’||lm|| (qui est en 110ème position).
8/ Préparez le setup Pokémon et les objets pour les codes à exécuter (cf lien).

Utiliser le Partial PC Underflow pour obtenir directement des objets comme ws*l’||lm||

Les deux derniers chiffres du nombre de jetons de casino donneront l'IDH du 53ème objet. Ainsi, si vous avez xx63 jetons de casino, en faisant le Partial PC Underflow vous aurez en 53ème position l'objet ws*l’||lm||, d'IDH 63, qui permet d’exécuter du code sur Jaune. Même pas besoin de vrai underflow ! Il n'y a pas de technique pour avoir 7EME ETAGE de cette façon pour le moment car son IDH comporte une lettre et ce n'est pas géré par le compteur de jetons.

Les adresses suivantes concernent, selon mes informations, des "Missable Object Flags". Je n'ai aucune idée de ce que c'est.

Utiliser la manipulation pour supprimer des objets

Si vous voulez vous débarrasser d'un objet que vous ne pouvez pas jeter, placez-le en dernière position d'un PC de 11 objets stockés et allez couper l'arbre. Ça réduira le nombre à 10, effaçant le dernier objet.

Désolé pour la longueur du post mais c'est un bon compte-rendu complet ! Je vous laisse regarder la vidéo et dire ce que vous en pensez si vous le souhaitez. Notez que pour réparer le PC, c'est assez compliqué, il faut jeter beaucoup d'objets (59). Si vous ne voulez pas faire ça, il est aussi possible d’exécuter un code repassant $D53F à 50.
Image
:bép: Head admin de PRAMA :dvo:
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

Avatar du membre
Buglitch
Webmaster
Messages : 469
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Buglitch » ven. 18 sept. 2015 15:50

Cette balise. :lol:
Mais bon t'as bien raison.
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Avatar du membre
Guerdi
Community manager
Messages : 567
Enregistré le : mar. 8 juil. 2014 23:09
Localisation : Quelque part dans le nuage du clavardage téléversé.
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Guerdi » ven. 18 sept. 2015 21:00

Gros GG pour ça ! Ça prouve qu'on trouve encore des glitch 17 ans après la sortir du jeu !
(Rdv en 2024 pour l'ACE de D/P/Pt)
Image
Ouais j'ai fais cette signature en 5 minutes.

Avatar du membre
Buglitch
Webmaster
Messages : 469
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Buglitch » sam. 19 sept. 2015 18:54

2024, le "?????" glitch code execution. :qwe:
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Avatar du membre
Krys3000
Fondateur
Messages : 1564
Enregistré le : lun. 28 mai 2012 21:02
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Krys3000 » lun. 21 sept. 2015 18:24

Petite mise à jour :

Il est possible d'obtenir 7EME ETAGE directement dans le PC, sans recourir à l'item underflow. Pour information, les items du PC après le 50ème correspondent aux adresses suivantes :

- 51 : [RETOUR] x[Boite active, premier octet]
- 52 : [Boite active, deuxième octet] x[Nombre d'équipes au panthéon]
- 53 : [Apparemment non-utilisée] x[Jetons du casino, octet 1] (c'est pour cette raison que cet objet est toujours celui d'IDH 00 x0 si vous avez moins de 100 jetons ce qui permet de le retirer pour l'underflow).
- 54 : [Jetons du casino, octet 2] x[première adresse des "Missable Object Flags"] (c'est cet objet qu'on utilise avec les jetons pour ws*l’||lm||)
- 55 et plus : Missable Objects Flags, puis la section des flags de progression du jeu incluant les scripts des maps qui acceptent seulement 0 et 1, et qui sont utilisés pour le ditto trick sans dresseur dont on parle dans la page de l'item underflow.

Comme j'ai mentionné plus haut en fait je ne savais pas ce qu'était ces Missable Object Flags et c'est Torchickens qui m'a éclairé à ce sujet en me signalant qu'en changeant l'adresse $D5AD (objet 56) à FF, il faisait réapparaître des objets sur la route 2.

Cette section contrôle en effet le statut "ramassé" ou "pas ramassé" de chaque objet visible. En l’occurrence l'adresse en question contrôle les 8 objets visibles des Routes 1 à 12 à raison de 1 par bit. 1 par bit signifie que sur un nombre binaire à huit chiffres, chaque objet est représenté par un de ces chiffres, ainsi :
00000001 signifie que l'objet 1 a été ramassé mais ça n'est le cas d'aucun des 7 autres.
00101011 signifie que les objets 1, 2, 4, et 6 ont été ramassées mais ça n'est pas le cas des autres.
La conversion de ce nombre en hexadécimal donne la valeur de cette adresse (dans les deux exemples précédents, la valeur serait 01 et 2B, et 11111111 serait FF).

J'insiste on parle d'objets visibles car les objets cachés ne sont pas contrôlés par cette adresse et aussi sur "Routes" parce que les objets visibles de la Foret de Jade et du Mont Sélénite, par exemple, ne sont pas pris en compte (probablement par une autre adresse mais j'avoue ne pas l'avoir trouvée). Les objets en question pour $D5AD sont :
- 1 : actif par défaut (probablement non utilisé)
- 2 : Pierre Lune (Route 2)
- 3 : PV Plus (Route 2)
- 4 : CT04 (Route 4)
- 5 : CT30 (Route 9)
- 6 : Ronflex (Route 12). Oui, il est considéré comme un objet !
- 7 : CT16 (Route 12)
- 8 : Fer (Route 12)

Pour résumer : si vous avez ramassé le PV Plus et les CT04, 30 et 16, mais vous n'avez pas récupéré la Pierre Lune, le Fer, et que Ronflex n'a pas été réveillé, la valeur de $D5AD sera de 5D (en binaire, 01011101) et l'objet 7EME ETAGE apparaîtra donc en 56ème objet du PC !

Ca n'est qu'une méthode ; et de nombreuses personnes ont probablement réveillé Ronflex. On peut envisager à terme une solution utilisant les autres adresses, donc les objets des Routes suivantes !
Image
:bép: Head admin de PRAMA :dvo:
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

Avatar du membre
Krys3000
Fondateur
Messages : 1564
Enregistré le : lun. 28 mai 2012 21:02
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Krys3000 » lun. 5 oct. 2015 17:14

Salut,

J'ai enfin pris le temps de réécrire la grille en français, et surtout de créer un Dex des Blocs 4x4 de tuiles.

Image

Avec ça, vous savez quelle valeur va donner quel bloc et vous pourrez donc faire du Cooltrainer à loisir ! Je compte créer une petite liste des blocs de tuiles importants, qui génèrent des Pokémon / Pokémon glitch cools. Ce sera plus facile pour les lecteurs, plutôt que de comparer les tuiles bien placées sur ces blocs avec la liste de correspondance.

N'oubliez pas que seul certaines tuiles du bloc peuvent être utilisées, selon le schéma suivant (exemple avec les objets stockés, ce qui est le plus simple)

Image
Image
:bép: Head admin de PRAMA :dvo:
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

Avatar du membre
Sachatchu
Glitchologue connaisseur
Messages : 85
Enregistré le : sam. 13 juin 2015 12:37
Localisation : Sur son Nokia 3310
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Sachatchu » jeu. 22 oct. 2015 09:23

Heu Krys, tu parle des octets des boites, ce ne serait pas plutôt des bits?Chez moi un octet = 8 bits , un bits = une donnée (de 0 à F en hexadécimal,égale à 0 ou 1 en binaire et de 0 à 9 en décimal).Du coup , si c'était un octet, on pourrait monter à 65635(?) jetons, ce qui n'est pas le cas.
Je suis pas sur de tout mais presque.
Bonne chance .

PS:Vous déverrouillerez bientôt tous les glitchs 1G?

Avatar du membre
Krys3000
Fondateur
Messages : 1564
Enregistré le : lun. 28 mai 2012 21:02
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Krys3000 » jeu. 22 oct. 2015 18:20

Je ne saisis pas trop ton problème donc je vais essayer de réexpliquer le truc :noel:

Chaque adresse mémoire dans la RAM possède une valeur allant de 00 à FF. Ca, c'est un octet. Certaines fonctions du jeu utilisent plusieurs adresses (l'expérience par exemple, ou les jetons) et donc plusieurs octets.

Traduit en binaire, l'octet peut s'écrire en 8 chiffres. FF = 11111111 en binaire, 00 = 00000000, et 5E, par exemple, est égal à 01011110. Ces 8 chiffres sont les 8 bits qui composent l'octet.
Pour certaines valeurs, il est utile de maitriser la conversion en bits, par exemple pour les badges, car chaque bit code pour un badge. Ainsi, FF permet d'avoir tous les badges, mais 5E ne permet d'avoir que les badges 2, 3, 4, 5 et 7 !

C'est ce que j'ai essayé d'expliquer dans mes posts, si tu vois quelque part que je contredis tout ça, signale-moi l'endroit :3

Venons-en maintenant aux jetons et à l'argent, deux fonctions qui sont codées en DCB (pour décimal codé binaire). Pour faire simple, cela implique que pour ces fonctions, les lettres ne sont pas prises en compte. Un nombre de jetons de 99 reflète une valeur pour l'adresse mémoire concernée de 99 et non pas de 63. C'est la raison pour laquelle le maximum d'argent possible est 999999 Pokédollars et le maximum de jetons 9999, et c'est donc pour ça que tu ne peux pas utiliser le nombre de jetons pour générer en 53ème position un objet dont l'IDH contient une lettre.

Mais tu soulèves quand même (sans le savoir, héhé) un point intéressant sur les différences de gestion du DCB entre cartouches réelles et émulateurs. Nous avons en effet eu une grosse discussion avec ISSOtm et quelques "collègues" anglo-saxons à ce sujet il y a quelques semaines : sur émulateur, se donner une quantité lettrée d'argent (par Item Underflow, GW RAM Manipulation, 8F ou action replay) affiche une tuile glichée à la place de la lettre, mais lorsque tu consommes l'argent, le jeu reprend une valeur normale. C'est à dire que si tu as 6F00 Pokédollars, et que tu en dépenses 200, l'émulation détecte la lettre F et la remplace par un 9 avant de dépenser l'argent et donc tu te retrouves avec 6700 ! Par contre, ce n'est pas du tout pareil sur la console, qui n'arrive pas à détecter l'erreur, et le résultat sera donc 6D00.

Ca veut dire qu'il est possible, mais uniquement sur cartouche réelle, de casser la limitation d'argent à 999999 et d'obtenir FFFFFF Pokédollars. Cette somme sera alors considérée comme une suite de "15" et pas comme un nombre hexadécimal. Ca ne fait donc pas 16 millions de Pokédollars, mais 15 + 150 + 1500 + 15000 + 150000 + 1500000 = 1 666 665 pokédollars !

Malheureusement, le jeu n'a pas de script pour vérifier l'argent que l'on possède pour acheter le vélo à un million de Pokédollars. C'est donc une belle arnaque cette histoire :(

Je digresse :mrgreen: pour répondre à ta dernière question : la partie Glitches de niveau supérieur est toujours prévue pour la fin du mois d'Octobre. La date exacte ? C'est une question de jours, pas plus. Elle est globalement finie donc ça peut aussi bien être ce week-end. Quand au reste des glitches, on prévoit ça pour fin Novembre parce qu'on voudrait refaire quelques tests sur le Dokokashira Door Glitch.
A noter que l'Experience Underflow glitch sera finalement dans les techniques avancées, car je viens de trouver le moyen d'appliquer ça à n'importe quel Pokémon et pas seulement à ceux du groupe d'expérience parabolique. Mais c'est un peu plus complexe :geek:
Image
:bép: Head admin de PRAMA :dvo:
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

Avatar du membre
Sachatchu
Glitchologue connaisseur
Messages : 85
Enregistré le : sam. 13 juin 2015 12:37
Localisation : Sur son Nokia 3310
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Sachatchu » ven. 23 oct. 2015 08:21

Je pensais que un octet Hexadécimal = FFFFFFFF
par exemple (Ça fait 65.635).Je regarde sur Internet et je donne la suite.

Avatar du membre
Sachatchu
Glitchologue connaisseur
Messages : 85
Enregistré le : sam. 13 juin 2015 12:37
Localisation : Sur son Nokia 3310
Contact :

Re: [Enorme] Underflow/8F SANS MISSINGNO. et manipulation de RAM par Glitch World !

Message par Sachatchu » ven. 23 oct. 2015 08:34

Voilà, après un tour sur Wikipédia et m'être rendu compte que XP fait des choses pas bien (Méchant Windows, méchant :x )j'ai lu que XX = un octet BINAIRE.Un octet HEXADÉCIMAL fait bien XXXXXXXX.Voilà.

Répondre