Ce petit cours s'adresse aux débutants ou à ceux qui ne sont pas familiers avec le gruge.

 

Maniement général des éditeurs Hexadécimaux

Astuces

 

wb01570_.gif (184 octets)Hedit ou Hexedit ou Hedex sont des éditeurs hexadécimaux qui vous permettent de tricher dans pas mal de jeux sans pour autant être un génie. La méthode est assez efficace pour le jeux qui possèdent des données chiffrées, par exemple les caractéristiques des personnages ou le montant de votre argent.

 

Lorsque vous effectuez vos sauvegardes, ces données sont écrites dans le fichiers. Notez au préalable les valeurs que vous voulez modifier (force : 25, Dextérité : 18 qui deviendront si tout se passe bien 50 et 50)

La première étapes consiste à trouver ce fichier. Pas de mystère ici il faut chercher dans le répertoire du jeu le fichier peut se trouver dans un répertoire save ou sav ou player ou à la racine du répertoire. Son extension peut être *.sav ou *.001 par exemple. Si vous avez plusieurs fichiers de sauvegardes prenez soin de noter le numéro de la sauvegarde que vous voulez modifier. Choisissez la première ou celle qui se trouve le plus haut s'il n'y a rien pour les repérer.

Quand vous avez trouvez le fichier ouvrez le avec votre éditeur, ici ce sera Hedit, soit en faisant un clic droit en choisissant ouvrir avec (au besoin maintenez la touche maj enfoncée pendant le clic droit pour faire apparaître l'option). Ou lancez Hedit et choisissez fichier ouvrir et parcourez à la recherche de votre fichier de sauvegarde.

    Attention : prenez soin d'en faire une sauvegarde ailleurs pour ne pas perdre vos données en cas de fausse manip.

    Quand vous avez ouvert le fichier vous verrez un tas de signes sans queue ni tête. A ce moment lancez la calculatrice de Windaube et choisissez le mode d'affichage scientifique de la calculatrice. Entrez les valeurs que vous voulez modifier puis cochez Hex en haut à gauche pour avoir la conversion en valeur hexadécimal.

    Notez cette valeur et faites de même pour les valeurs que vous voulez obtenir. Dans notre exemple :18 fait 12 en hexa, 25 fait 19 en hexa et 50 donne 32.

    Effectuez ensuite une recherche dans votre document en utilisant la fonction Find de Hedit. Ici on va rechercher 12 et 19. Quelque soit l'ordre de recherche choisi, le problème qui peut se poser maintenant c'est l'apparition de doublon, à savoir vous allez trouvez plusieurs fois 12 ou 19.

    Pour savoir lequel est le bon il n'y a pas de recette miracle. Essayez de vous aider de la partie en ASCII (compréhensible sur la droite) essayez de rechercher le nom de votre personnage. Si vous avez plusieurs 18 ou 12 dans vos carac, dites vous qu'elles apparaissent en général dans l'ordre; Exemple : 18 en Dextérité et 18 en chance mais dans le jeu la chance est classée avant la dextérité, il faudra donc rechercher le second 18 ou 12 en hexa.

    Si rien ne peut vous aider, la seule chose qui reste à faire c'est prier qu'il n'y ait pas trop de valeur identique dans le fichier de sauvegarde. S'il n'y en a que deux ou 3 voir une 10' max ou plus selon votre patience il faut les faire une par une. Modifiez les une par une et lancez le jeu pour voir si la modif apparaît dans le jeu. Lorsqu'elle apparaît vous avez trouvé le bon maillon.

    N'oubliez pas s'il ne s'agit pas de la bonne valeur de lui redonner sa valeur initiale pour éviter tout plantage ultérieur si ce n'est déjà fait (d'où l'utilité de la copie de sauvegarde). Pour repérer la place de la valeur modifiée, regardez à gauche de la fenêtre de HEdit.vous y verrez une série de chiffre en base hexadécimale, vous n'avez que le premier de chaque colonne bien sûr; mais si vous déplacez votre curseur vous verrez dans la barre en bas de la fenêtre apparaître les coordonnées exactes (appelées parfois offset) de la valeur sélectionnée.

  wb01570_.gif (184 octets)  Maintenant que vous êtes aguerris, voici venir le temps des astuces.

Le plus emmerdant dans tout ça c'est que parfois, on tombe sur la bonne valeur, qu'on la modifie mais que le jeu plante quand on le relance ou que le changement ne prenne pas effet. Pourquoi ?

    Ben il se peut très bien que le jeu soit protégé contre ce genre de petite manipulation grâce à un checksum par exemple. Cékoidon un checksum ? Le programme opère un somme des valeurs à un instant t et conserve le résultat quelque part (par exemple lors de la sauvegarde ou d'une modif pendant le jeux). Si la somme à un instant t2 (par exemple au chargement de la sauvegarde) n'est pas conforme au résultat attendu : plantage ou message d'erreur et autres malheurs s'abattront sur vous. On peut contourner cela évidemment en repérant l'endroit où se trouve le checksum et en le modifiant d'autant. Le problème est de savoir ce qui entre dans sa composition pour le retrouver et là on peut dire que parfois les programmeurs ont un esprit tortueux. Il se peut aussi très bien que le checksum soit sauvegardé de manière simple, n'allez pas tout de suite imaginer le pire.

    Seconde astuce parfois les chiffres s'ils dépassent un octet (cad deux caractères en hexadécimal de 00 à ff donc de 1 à 255 en base décimale) sont inversés. Ex : 362 en base 10 donne 16A en hexa en fait il est codé sur 2 octets 01+6A mais dans des sauvegardes si vous cherchez 01 6A il se peut que vous ne trouviez rien alors que vous trouverez 6A 01. Essayez ça ne coûte rien. Attention lors de la modif à respecter cet ordre.