home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / maj / 2188 / byteana2.txt < prev    next >
Text File  |  1994-05-06  |  11KB  |  292 lines

  1.  
  2.  
  3.  · · · · · · · · · · · · B∙Y∙T∙E· · ·A∙N∙A∙L∙Y∙S∙E∙R· · · · · · · · · · · · · ·
  4.  
  5.                                 version 2.0
  6.  
  7.                                  par MWPC2
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  ──────────────────────────══≡ Pourquoi faire ? ≡══────────────────────────────
  15.  
  16.  Si vous avez essayé de modifier vous-mêmes les sauvegardes de vos jeux, vous
  17.  devez savoir que c'est un travail parfois très fastidieux.
  18.  BYTE ANALYSER permet de faire certains type de recherches et peut vous aider
  19.  à trouver très rapidement les octets à modifier dans vos sauvegarde.
  20.  Notez qu'il vous faut un éditeur de secteur pour modifier vos sauvegardes
  21.  (comme Norton DiskEdit ou PC Tools).  N'utilisez PAS Edit du MS-DOS, c'est
  22.  une erreur.
  23.  
  24.  
  25.  
  26.  ──────────────══≡ Les 3 modes de comparaison de BYTE ANALYSER ≡══─────────────
  27.  
  28.  ■ COMPARAISON DE FICHIERS
  29.  
  30.    BYTE ANALYSER compare 2 fichiers et vous indique quels sont les octets
  31.    qui diffèrent entre les 2 fichiers.
  32.    Le principe est le même que celui de la commande COMP.EXE du MS-DOS, mais
  33.    BYTE ANALYSER est plus rapide et présente les données d'une façon beaucoup
  34.    plus claire.
  35.  
  36.  ■ RECHERCHE DIFFERENTIELLE DE CHAINES
  37.  
  38.    Ceci est utile quand vous savez quelle valeur vous cherchez d'une sauvegarde
  39.    à l'autre.   C'est en principe la méthode la plus rapide.
  40.  
  41.  ■ RECHERCHE DIFFERENTIELLE DE VALEURS
  42.  
  43.    Cette méthode peut être très longue mais elle permet de trouver les
  44.    emplacements de nombres dont vous ne connaissez pas la valeur précise.
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  ───────────────────────────══≡ Do it yourself ≡══─────────────────────────────
  52.  
  53.  Dans le répertoire DUMMY, j'ai mis 3 fichiers qui sont des sauvegardes
  54.  imaginaires d'un jeu.  Nous allons pouvoir nous excercer dessus.
  55.  SAVE1.DAT est votre première sauvegarde,
  56.  SAVE2.DAT la seconde,
  57.  SAVE3.DAT la troisième que vous avez effectué au cours du jeu.
  58.  
  59.  
  60.  
  61.  
  62. ···············································································
  63. ·■ PREMIER ESSAI : LA COMPARAISON BRUTE········································
  64. ···············································································
  65.  
  66.   Nous allons comparer les 2 première sauvegardes.  Tapez:
  67.             BYTEANA2 save1.dat save2.dat
  68.   et choisissez [1] ('Complet').
  69.   En sortie, le fichier ANALYSE.TXT contient ceci:
  70.  
  71.  
  72. ▒  B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R   version 2.0    -    (P)1994 Virtual Waves, MWPC2
  73. ▒─06-05-1994────────20:00:00───────────────────────────────────────────────────
  74. ▒Fichiers différents :
  75. ▒                    \QB45\90\DUMMY\SAVE1.DAT
  76. ▒0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24  ____________ ( $
  77. ▒0000000128 : .. .. .. .. .. .. .. ..-.. .. .. .. .. 69 .. ..  _____________i__
  78. ▒0000000144 : .. .. .. .. .. .. .. 70-.. .. .. .. .. .. .. ..  _______p________
  79. ▒0000001728 : .. .. .. .. .. 14 .. ..-.. .. .. .. .. .. .. ..  _____ __________
  80. ▒                    \QB45\90\DUMMY\SAVE2.DAT
  81. ▒0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 05 14 6F 0C  ____________  o
  82. ▒0000000128 : .. .. .. .. .. .. .. ..-.. .. .. .. .. 7A .. ..  _____________z__
  83. ▒0000000144 : .. .. .. .. .. .. .. 71-.. .. .. .. .. .. .. ..  _______q________
  84. ▒0000001728 : .. .. .. .. .. 10 .. ..-.. .. .. .. .. .. .. ..  _____ __________
  85. ▒─06-05-1994────────20:00:00───────────────────────────────────────────────────
  86.  
  87.  
  88.  Détaillons la première ligne:
  89.  
  90.  
  91.  
  92.  0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24  ____________ ( $
  93.               │                                             │  │              │
  94.               └─────────────────────────────────────────────┘  └──────────────┘
  95.                     valeur des octets (en héxadécimal)            en ASCII
  96.  
  97.  
  98.  
  99.  
  100. emplacement du 1er octet de cette ligne (en décimal)
  101.      ┌────────┐
  102.      │        │
  103.  ┌───┴────┐   │
  104.  0000000112 : .. .. .. .. .. .. .. ..-.. .. .. .. 00 28 00 24  ____________ ( $
  105.                                                      │                      │
  106.                                                      ├──────────────────────┘
  107.                                              cet octet est en 125 (=112+13)
  108.  
  109.  Les octets différents vous sont indiqués.
  110.  (Ceux qui n'ont pas changé sont marqués ..)
  111.  Dans ce cas il y a 7 octets différents entre SAVE1.DAT et SAVE2.DAT.
  112.  Les emplacements (offsets) sont notés en décimal (ici 112).
  113.  Le premier octet du fichier est à l'offset 0.
  114.  
  115.  Avec cette première méthode, vous pouvez voir directement ce qui a changé
  116.  d'une sauvegarde à l'autre.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. ···············································································
  125. ·■ SECOND ESSAI : LA RECHERCHE DIFFENTIELLE DE CHAINES·························
  126. ···············································································
  127.  
  128.  Dans votre jeu, vous aviez 20 points de vie au moment où vous avez fait
  129.  la sauvegarde SAVE1.DAT.
  130.  Vous en aviez 16 au moment de SAVE2.DAT
  131.                27 au moment de SAVE3.DAT
  132.  
  133.  
  134.  Cherchons les 20 points de vie dans SAVE1.DAT.
  135.  20 fait 14 en héxadécimal.
  136.  Tapez:     BYTEANA2 save1.dat
  137.  choisissez [1]   ('Recherche différentielle de chaînes')
  138.  et entrez la valeur 14 et pressez ENTREE.
  139.  En sortie, le fichier ANALYSE.TXT contient ceci:
  140.  
  141. ▒  B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R   version 2.0    -    (P)1994 Virtual Waves, MWPC2
  142. ▒─06-05-1994────────20:05:23───────────────────────────────────────────────────
  143. ▒Recherche différentielle de chaînes.
  144. ▒Passage numéro 1
  145. ▒Nombre d'occurrences : 10
  146. ▒Offsets:
  147. ▒        175──1
  148. ▒       1577──2
  149. ▒       1603──3
  150. ▒       1629──4
  151. ▒       1655──5
  152. ▒       1681──6
  153. ▒       1707──7
  154. ▒       1733──8
  155. ▒       1759──9
  156. ▒       2213──10
  157. ▒──────────────────────────────────────────────────────────────────────────────
  158.  
  159.  
  160.  Vos 20 points de vies peuvent donc être soit à l'offset 175, soit à l'offset
  161.  1577, soit à l'offset 1603...
  162.  Bon, on ne va tout de même pas les essayer un par un à la main. Rusons !
  163.  
  164.  Cherchons les 16 points de vie dans SAVE2.DAT.
  165.  16 fait 10 en héxadécimal.
  166.  Tapez:     BYTEANA2 save2.dat
  167.  choisissez [1]   ('Recherche différentielle de chaînes')
  168.  et entrez la valeur 10 et pressez ENTREE.
  169.  En sortie, le fichier ANALYSE.TXT contient ceci:
  170.  
  171. ▒  B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R   version 2.0    -    (P)1994 Virtual Waves, MWPC2
  172. ▒─06-05-1994────────20:07:14───────────────────────────────────────────────────
  173. ▒Recherche différentielle de chaînes.
  174. ▒Passage numéro 2
  175. ▒Nombre d'occurrences : 1
  176. ▒Offsets:
  177. ▒       1733──1
  178. ▒──────────────────────────────────────────────────────────────────────────────
  179.  
  180.   Voilà !   On l'a trouvé.   C'est à l'offset 1733 que sont enregistrés vos
  181.   points de vie.  Il vous suffit de changer la valeur de l'octet en 1733.
  182.  
  183.   Comment B.A. a-t-il fait ?      Il a mémorisé les offsets où il a trouvé 14
  184.   la première fois.  Cette seconde fois, il va voir à ces mêmes offsets si il
  185.   trouve 10.
  186.  
  187.  
  188.   Vous pouvez rechercher ce que vous voulez avec cette méthode, par exemple
  189.   des chaînes plus longues. (Ex: FC 13 5E 33 ...)
  190.  
  191.  
  192.  
  193.  
  194.  
  195. ···············································································
  196. ·■ TROISIME ESSAI : LA RECHERCHE DIFFENTIELLE DE VALEURS·······················
  197. ···············································································
  198.  
  199.  Imaginons que dans le jeu vos points de vie soient représentés par une barre.
  200.  Comment savoir quelle valeur rechercher ?
  201.  
  202.  Tapez:   BYTEANA2 save1.dat
  203.  choisissez [2]   ('Recherche différentielle de valeurs')
  204.  ensuite choisissez [1], puis [1]  (on choisit ici la façon dont les nombres
  205.  sont représentés.)
  206.  B.A. fait un premier relevé.
  207.  
  208.  
  209.  Les bits utilisés pour représenter le nombre fixent ses limites. 
  210.      8 bits                   valeurs de -127 à +127
  211.                                    ou de    0 à  255
  212.  
  213.     16 bits                   valeurs -32767 à +32767
  214.                                    ou      0 à  65535
  215.  
  216.     32 bits                   valeurs de  -2 147 483 647  à  2 147 483 647
  217.                                    ou de               0  à  4 294 967 295
  218.  
  219.  
  220.  Ensuite, vous avez perdu des points de vie dans le jeu, et la barre a donc
  221.  diminué. Vous avez alors sauvegardé votre partie dans SAVE2.DAT.
  222.  Donc entre SAVE1.DAT et SAVE2.DAT vos points de vie ont diminué.
  223.  
  224.  Tapez:   BYTEANA2 save2.dat
  225.  choisissez [2]   ('Recherche différentielle de valeurs')
  226.  choisissez [3]   (La valeur a diminué).
  227.  B.A. recherche.
  228.  Il vous demande si vous voulez la liste des offsets. Réponsez oui ( [O] )
  229.  En sortie, le fichier ANALYSE.TXT contient ceci:
  230.  
  231. ▒  B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R   version 2.0    -    (P)1994 Virtual Waves, MWPC2
  232. ▒─06-05-1994────────20:14:45───────────────────────────────────────────────────
  233. ▒Recherche différentielle de valeurs.
  234. ▒Valeur codée sur 8 bits.
  235. ▒Format Intel     (octets poids FORT,faible) (courant)
  236. ▒Nombre d'occurrences : 3
  237. ▒Offsets:
  238. ▒        125───1
  239. ▒        127───2
  240. ▒       1733───3
  241. ▒──────────────────────────────────────────────────────────────────────────────
  242.  
  243.  La valeur recherchée est sans doute à l'un de ces 3 offsets (125, 127 ou 1733)
  244.  mais on ne sait pas encore lequel.
  245.  Faisons encore un essai.  Après avoir sauvegardé en SAVE2.DAT, vous avez
  246.  continué à jouer et vous avez gagné des points de vie. Vous avez alors
  247.  sauvegardé en SAVE3.DAT.
  248.  Donc entre SAVE2.DAT et SAVE3.DAT, vos points de vie ont augmenté.
  249.  
  250.  Tapez:   BYTEANA2 save3.dat
  251.  choisissez [2]   ('Recherche différentielle de valeurs')
  252.  choisissez [1]   (La valeur a augmenté).
  253.  B.A. recherche.
  254.  Il vous demande si vous voulez la liste des offsets. Réponsez oui ( [O] )
  255.  En sortie, le fichier ANALYSE.TXT contient ceci:
  256.  
  257. ▒  B∙Y∙T∙E · A∙N∙A∙L∙Y∙S∙E∙R   version 2.0    -    (P)1994 Virtual Waves, MWPC2
  258. ▒─06-05-1994────────20:17:12───────────────────────────────────────────────────
  259. ▒Recherche différentielle de valeurs.
  260. ▒Valeur codée sur 8 bits.
  261. ▒Format Intel     (octets poids FORT,faible) (courant)
  262. ▒Nombre d'occurrences : 1
  263. ▒Offsets:
  264. ▒       1733───1
  265. ▒──────────────────────────────────────────────────────────────────────────────
  266.  
  267.  
  268.  Et voilà !   La valeur que vous cherchez est très probablement à l'offset
  269.  1733.
  270.  Sans même connaître la valeur que vous cherchez, vous l'avez localisée.
  271.  
  272.  
  273.  
  274.  ──────────────────────────────══≡ Closing ≡══─────────────────────────────────
  275.  
  276.  
  277.  Vous avez eu un rapide aperçu du temps que B.A. peut vous faire gagner par
  278.  rapport à la recherche manuelle. Les recherches différentielles sont tout
  279.  simplement infaisables à la main.
  280.  
  281.  
  282. - fin de la doc de BYTE ANALYSER 2.0 - le 6 mai 1994 -
  283.