home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
maj
/
2188
/
byteana2.txt
< prev
next >
Wrap
Text File
|
1994-05-06
|
11KB
|
292 lines
· · · · · · · · · · · · B∙Y∙T∙E· · ·A∙N∙A∙L∙Y∙S∙E∙R· · · · · · · · · · · · · ·
version 2.0
par MWPC2
──────────────────────────══≡ Pourquoi faire ? ≡══────────────────────────────
Si vous avez essayé de modifier vous-mêmes les sauvegardes de vos jeux, vous
devez savoir que c'est un travail parfois très fastidieux.
BYTE ANALYSER permet de faire certains type de recherches et peut vous aider
à trouver très rapidement les octets à modifier dans vos sauvegarde.
Notez qu'il vous faut un éditeur de secteur pour modifier vos sauvegardes
(comme Norton DiskEdit ou PC Tools). N'utilisez PAS Edit du MS-DOS, c'est
une erreur.
──────────────══≡ Les 3 modes de comparaison de BYTE ANALYSER ≡══─────────────
■ COMPARAISON DE FICHIERS
BYTE ANALYSER compare 2 fichiers et vous indique quels sont les octets
qui diffèrent entre les 2 fichiers.
Le principe est le même que celui de la commande COMP.EXE du MS-DOS, mais
BYTE ANALYSER est plus rapide et présente les données d'une façon beaucoup
plus claire.
■ RECHERCHE DIFFERENTIELLE DE CHAINES
Ceci est utile quand vous savez quelle valeur vous cherchez d'une sauvegarde
à l'autre. C'est en principe la méthode la plus rapide.
■ RECHERCHE DIFFERENTIELLE DE VALEURS
Cette méthode peut être très longue mais elle permet de trouver les
emplacements de nombres dont vous ne connaissez pas la valeur précise.
───────────────────────────══≡ Do it yourself ≡══─────────────────────────────
Dans le répertoire DUMMY, j'ai mis 3 fichiers qui sont des sauvegardes
imaginaires d'un jeu. Nous allons pouvoir nous excercer dessus.
SAVE1.DAT est votre première sauvegarde,
SAVE2.DAT la seconde,
SAVE3.DAT la troisième que vous avez effectué au cours du jeu.
···············································································
·■ PREMIER ESSAI : LA COMPARAISON BRUTE········································
···············································································
Nous allons comparer les 2 première sauvegardes. Tapez:
BYTEANA2 save1.dat save2.dat
et choisissez [1] ('Complet').
En sortie, le fichier ANALYSE.TXT contient ceci:
▒ B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R version 2.0 - (P)1994 Virtual Waves, MWPC2
▒─06-05-1994────────20:00:00───────────────────────────────────────────────────
▒Fichiers différents :
▒
▒ \QB45\90\DUMMY\SAVE1.DAT
▒0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24 ____________ ( $
▒0000000128 : .. .. .. .. .. .. .. ..-.. .. .. .. .. 69 .. .. _____________i__
▒0000000144 : .. .. .. .. .. .. .. 70-.. .. .. .. .. .. .. .. _______p________
▒0000001728 : .. .. .. .. .. 14 .. ..-.. .. .. .. .. .. .. .. _____ __________
▒
▒ \QB45\90\DUMMY\SAVE2.DAT
▒0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 05 14 6F 0C ____________ o
▒0000000128 : .. .. .. .. .. .. .. ..-.. .. .. .. .. 7A .. .. _____________z__
▒0000000144 : .. .. .. .. .. .. .. 71-.. .. .. .. .. .. .. .. _______q________
▒0000001728 : .. .. .. .. .. 10 .. ..-.. .. .. .. .. .. .. .. _____ __________
▒
▒─06-05-1994────────20:00:00───────────────────────────────────────────────────
Détaillons la première ligne:
0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24 ____________ ( $
│ │ │ │
└─────────────────────────────────────────────┘ └──────────────┘
valeur des octets (en héxadécimal) en ASCII
emplacement du 1er octet de cette ligne (en décimal)
┌────────┐
│ │
┌───┴────┐ │
0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24 ____________ ( $
│ │
├──────────────────────┘
cet octet est en 125 (=112+13)
Les octets différents vous sont indiqués.
(Ceux qui n'ont pas changé sont marqués ..)
Dans ce cas il y a 7 octets différents entre SAVE1.DAT et SAVE2.DAT.
Les emplacements (offsets) sont notés en décimal (ici 112).
Le premier octet du fichier est à l'offset 0.
Avec cette première méthode, vous pouvez voir directement ce qui a changé
d'une sauvegarde à l'autre.
···············································································
·■ SECOND ESSAI : LA RECHERCHE DIFFENTIELLE DE CHAINES·························
···············································································
Dans votre jeu, vous aviez 20 points de vie au moment où vous avez fait
la sauvegarde SAVE1.DAT.
Vous en aviez 16 au moment de SAVE2.DAT
27 au moment de SAVE3.DAT
Cherchons les 20 points de vie dans SAVE1.DAT.
20 fait 14 en héxadécimal.
Tapez: BYTEANA2 save1.dat
choisissez [1] ('Recherche différentielle de chaînes')
et entrez la valeur 14 et pressez ENTREE.
En sortie, le fichier ANALYSE.TXT contient ceci:
▒ B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R version 2.0 - (P)1994 Virtual Waves, MWPC2
▒─06-05-1994────────20:05:23───────────────────────────────────────────────────
▒Recherche différentielle de chaînes.
▒Passage numéro 1
▒Nombre d'occurrences : 10
▒
▒Offsets:
▒ 175──1
▒ 1577──2
▒ 1603──3
▒ 1629──4
▒ 1655──5
▒ 1681──6
▒ 1707──7
▒ 1733──8
▒ 1759──9
▒ 2213──10
▒
▒──────────────────────────────────────────────────────────────────────────────
Vos 20 points de vies peuvent donc être soit à l'offset 175, soit à l'offset
1577, soit à l'offset 1603...
Bon, on ne va tout de même pas les essayer un par un à la main. Rusons !
Cherchons les 16 points de vie dans SAVE2.DAT.
16 fait 10 en héxadécimal.
Tapez: BYTEANA2 save2.dat
choisissez [1] ('Recherche différentielle de chaînes')
et entrez la valeur 10 et pressez ENTREE.
En sortie, le fichier ANALYSE.TXT contient ceci:
▒ B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R version 2.0 - (P)1994 Virtual Waves, MWPC2
▒─06-05-1994────────20:07:14───────────────────────────────────────────────────
▒Recherche différentielle de chaînes.
▒Passage numéro 2
▒Nombre d'occurrences : 1
▒
▒Offsets:
▒ 1733──1
▒──────────────────────────────────────────────────────────────────────────────
Voilà ! On l'a trouvé. C'est à l'offset 1733 que sont enregistrés vos
points de vie. Il vous suffit de changer la valeur de l'octet en 1733.
Comment B.A. a-t-il fait ? Il a mémorisé les offsets où il a trouvé 14
la première fois. Cette seconde fois, il va voir à ces mêmes offsets si il
trouve 10.
Vous pouvez rechercher ce que vous voulez avec cette méthode, par exemple
des chaînes plus longues. (Ex: FC 13 5E 33 ...)
···············································································
·■ TROISIME ESSAI : LA RECHERCHE DIFFENTIELLE DE VALEURS·······················
···············································································
Imaginons que dans le jeu vos points de vie soient représentés par une barre.
Comment savoir quelle valeur rechercher ?
Tapez: BYTEANA2 save1.dat
choisissez [2] ('Recherche différentielle de valeurs')
ensuite choisissez [1], puis [1] (on choisit ici la façon dont les nombres
sont représentés.)
B.A. fait un premier relevé.
Les bits utilisés pour représenter le nombre fixent ses limites.
8 bits valeurs de -127 à +127
ou de 0 à 255
16 bits valeurs -32767 à +32767
ou 0 à 65535
32 bits valeurs de -2 147 483 647 à 2 147 483 647
ou de 0 à 4 294 967 295
Ensuite, vous avez perdu des points de vie dans le jeu, et la barre a donc
diminué. Vous avez alors sauvegardé votre partie dans SAVE2.DAT.
Donc entre SAVE1.DAT et SAVE2.DAT vos points de vie ont diminué.
Tapez: BYTEANA2 save2.dat
choisissez [2] ('Recherche différentielle de valeurs')
choisissez [3] (La valeur a diminué).
B.A. recherche.
Il vous demande si vous voulez la liste des offsets. Réponsez oui ( [O] )
En sortie, le fichier ANALYSE.TXT contient ceci:
▒ B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R version 2.0 - (P)1994 Virtual Waves, MWPC2
▒─06-05-1994────────20:14:45───────────────────────────────────────────────────
▒Recherche différentielle de valeurs.
▒Valeur codée sur 8 bits.
▒Format Intel (octets poids FORT,faible) (courant)
▒Nombre d'occurrences : 3
▒
▒Offsets:
▒ 125───1
▒ 127───2
▒ 1733───3
▒──────────────────────────────────────────────────────────────────────────────
La valeur recherchée est sans doute à l'un de ces 3 offsets (125, 127 ou 1733)
mais on ne sait pas encore lequel.
Faisons encore un essai. Après avoir sauvegardé en SAVE2.DAT, vous avez
continué à jouer et vous avez gagné des points de vie. Vous avez alors
sauvegardé en SAVE3.DAT.
Donc entre SAVE2.DAT et SAVE3.DAT, vos points de vie ont augmenté.
Tapez: BYTEANA2 save3.dat
choisissez [2] ('Recherche différentielle de valeurs')
choisissez [1] (La valeur a augmenté).
B.A. recherche.
Il vous demande si vous voulez la liste des offsets. Réponsez oui ( [O] )
En sortie, le fichier ANALYSE.TXT contient ceci:
▒ B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R version 2.0 - (P)1994 Virtual Waves, MWPC2
▒
▒─06-05-1994────────20:17:12───────────────────────────────────────────────────
▒Recherche différentielle de valeurs.
▒Valeur codée sur 8 bits.
▒Format Intel (octets poids FORT,faible) (courant)
▒Nombre d'occurrences : 1
▒
▒Offsets:
▒ 1733───1
▒──────────────────────────────────────────────────────────────────────────────
Et voilà ! La valeur que vous cherchez est très probablement à l'offset
1733.
Sans même connaître la valeur que vous cherchez, vous l'avez localisée.
──────────────────────────────══≡ Closing ≡══─────────────────────────────────
Vous avez eu un rapide aperçu du temps que B.A. peut vous faire gagner par
rapport à la recherche manuelle. Les recherches différentielles sont tout
simplement infaisables à la main.
- fin de la doc de BYTE ANALYSER 2.0 - le 6 mai 1994 -