|
INTRO
Ce guide a été fait pour tous ceux
desireux d'apprendre comment hacker un jeu, au delà du hack normal
(fonte, texte, etc..).
I°) Approche "basique" Une certaine connaissance d'un language de programmation est préferable pour comprendre ce qui suit (basic, C etc..), mais si vous avez déjà de l'experience au niveau ASM PC, c'est encore mieux ;-) .
Voilidonc, on va passer à la deuxième partie : l'utilisation des utilitaires. II°)Les TOOLZ Difficile de creuser sans pioche, non? Et bah là, il vous faut une trousse à outils bien chargée qui vous faliciterons la vie. Petite revue des différents programmes. Les désassembleurs : inutiles en premier temps. Ca ne sert à rien de désassembler un jeu et se retrouver après avec un fichier de 30 Mo (tracer) sans aucune information. On s'en sert plus tard (voir après). Le must? Celui de Jay ou de pelrun (oubliez tracer!!) Les debuggers : un ptit peu de zsnes, un ptit peu de snes9x, et BEAUCOUP de LT's SNES9X! En résumé, la version de LT ajoute une fonction TRES importante, et ô combien utile. Vous appuyez sur "VErr Num" juste avant l'apparition d'une fenètre de texte, par exemple, puis vous rappuiez sur la meme touche. Puis, vous quittez snes9x. Vous avec un Bô fichier trace.log qui dépasse rarement 200 Ko, donc plus facilement analisable (voir III). Divers : Après avoir trouvé la routine, tout préparé pour les modifs, voici ASMDEV (de Jay et Disnesquick) l'outil ultime pour faire des modifs asm. C'est un désassembleur interactif. Inutile de refaire les modifs asm avec un éditeur hexa (n'est-ce pas Mera!). Si vous devez convertir des adresses pc en snes, et vice-verca, je vous conseille Hex2snes de Anus Pee, ou alors UHR, qui a un convertisseur integré. III°)Le Trace.log Donc, vous avez fait comme je vous ai dit, et vous vous rertouvez avec un Bo trace.log. Mais kesskeckecetruk? me direz vous. C'est le code asm que la snes a effectué lors de la periode entre les 2 pressions sur VErr Num. Mais il vire les boucles! (si le jeu lance 200 fois la meme routine, ca devient lourd!). Mais comment retrouver ce que l'on veut dans cette bouillie? Là, plusieurs solutions, je vous en donne 2. 1° : Vous savez d'avance où se situe ce que vous voulez modifier (la fonte, ou le texte), et, après avoir converti l'adresse pc en snes, vous cherchez des appels à cette adresse, ou alors des appels dans la bank où se situe la fonte (si c une fonte que vous cherchez BIEN sûr!), et vous essayez d'isoler la routine. puis, vous allez au IV :-). 2° : La "technique du barbare"®©™. Il demande l'utilisation de 2 trace.log. Comment les faire? C'est simple : vous appuyez sur Verr num, juste avant l'affichage de la phrase A, et vous quittez, après ravoir appuyé sur verrnum. Vous renommez trace.log en 1.asm. Vous faites pareil une seconde fois, MAIS avec une phrase DIFFERENTE (phrase B), et vous renommez en 2.asm. puis, vous comparez. Bien sûr, il y a peu de chances que les fichiers soient absolument identiques, mais il le seront par "blocs" (plus d'infos après). Dès que vous trouvez une différence dans les [ ], vous avez trouvé l'endroit recherché (texte ou fonte). Quelle est la meilleure technique? Essayez d'abrod la première, mais, si elle donne rien, faites la 2eme. Il existe des technique différentes, mais plus longues, donc chiantes, donc que je n'utilise pas ;-) . Par contre, il y a des moments où cette deuxième méthode
ne fonctionne pas. C'est une des raisons qui ont fait que je ne l'utilise
plus.
IV°) Comment trouver les données compressées En fait, j'ai piqué cette technique à mera (rendonsà
Cesar ce qui appartient à Cesar). Pour la plupart des compressions
Lz, le début n'est pas compressé. Il faut d'abord récuperer
la donnée décompressée (grâce à un .zst),
puis, allez au tout début de cette donnée. Prenez les premiers
bits QUI NE SE REPETENT PAS! et cherchez-les dans la rom. Vous les trouvez
plusieurs fois? Modifiez les un par un (je veux dire, modifiez toute la
zone sur 20 octets) et savegardez. Ca a changé la donnée
décompressée? Parfait! vous avez trouvé l'emplacement
de la donnée compressée.
V°) Mais y'a pas des docs pour m'aider? Non... ou très peu!
C'est tout pour maintenant. Normalement, vous en savez assez pour passer dans les autres rubriques
|