home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / dos / fr / hexutil / hexutil.doc next >
Text File  |  1995-07-10  |  23KB  |  447 lines

  1.  
  2.  
  3.  
  4.        Si vous êtes un adepte de WINDOWS ne continuez pas.
  5.        ---------------------------------------------------
  6.  
  7.  
  8.  
  9.   Ce programme est né simplement parceque je trouvais PCTOOLS trop lourd
  10.   lorsqu'il s'agissait de faire rapidemment de la recherche d'octets ou
  11.   de chaine de caractères. Je disposais à l'époque de la version 4.21 !
  12.   Que dire alors des usines à gaz actuelles que sont les versions 9 et 10 !
  13.  
  14.   Soit dit en passant Norton utilities ne s'en tire pas mieux.
  15.  
  16.   HEXUTIL n'est pas très homogène, cela est du au fait que des modules
  17.   sont venus se grèffer dessus au fil du temps et des besoins. Sans compter
  18.   ma façon de programmer qui a évolué ( du moins je l'éspère ).
  19.  
  20.   Le coeur du programme est la recherche d'octets par pattern et non pas
  21.   par leur valeur. C'est à dire en fonction d'un emplacement donné à
  22.   l'intérieur d'un fichier. Ce qui permet de trouver relativement souvent
  23.   des chaines codées.
  24.  
  25.   Un éditeur de secteur ( dans le style de PCTOOLS - le vieux ) est
  26.   disponible pour chaque type de recherche: PATTERN, ASCII, HEXA avec joker.
  27.   Cet éditeur permet de XORer, NOTer, NEGer (!) le contenu d'un secteur.
  28.   De plus l'affichage du secteur est commutable entre l'HEXADECIMAL/ASCII
  29.   ( par défaut ), le DECIMAL, le TEXTE et l'ASM.        
  30.  
  31.   Ceux qui ont travaillé sur le vieil ancètre qu'était l'APPLE II se
  32.   souviendront de "BAG of TRIX", "LOCKSMITH" etc qui permettaient de faire
  33.   des opérations similaires sur des fichiers ou des disquettes. Je n'ai
  34.   jamais rien vu de tel sur PC. Si cela existe qu'on m'en fasse part.                  
  35.  
  36.   Un patcheur dynamique de mémoire fait parti du lot. Il fonctionne
  37.   parfaitement, bien que l'usage en ai réservé aux tritureurs de bit
  38.   et autres activités plus ou moins avouables.
  39.  
  40.   Il est évident que je ne garanti pas que HEXUTIL est exempté de BUG.
  41.   ( il faudrait être bien présomptueux ) mais au moins il a un comportement
  42.   relativement sain depuis que je le pousse dans ses limites. Je promets
  43.   de considérer tout problème qui pourrait survenir. Et de fournir à toute
  44.   personne la dernière version ainsi que des explications complémentaires
  45.   contre... une carte postale - cela va sans dire.
  46.  
  47.   Je suis ouvert à toute amélioration, perfectionnement, modification et
  48.   adaptation ( qu'ai-je oublié ? ).
  49.  
  50.   Ah, si. C'est du cardware. C.a.d que je ne veux pas d'argent.
  51.   Une carte postale du lieu où vous habitez me suffira amplement. 
  52.  
  53.   Utilisation: renomez-le h.exe et placez-le dans votre path, c'est bien
  54.            plus pratique et rapide.
  55.  
  56.  
  57.       =----DESCRIPTION SOMMAIRE DES DIFFERENTES FONCTIONS DE HEXUTIL----=
  58.  
  59.  
  60.   Fonction O:
  61.   Opérations spéciales sur un fichier.
  62.   Permet de XORer, NEGer, NOTer un secteur de 512 octets ainsi que de
  63.   l'afficher de quatre façons différentes: MIXTE ( hexa-ascii ), TEXTE,
  64.   DECIMAL et en ASM (mode réel 8088/8086 pour l'instant). 
  65.  
  66.   Fonction R:
  67.   RECHERCHE une chaine d'octets en affichant son déplacement par rapport à
  68.   l'origine du programme.
  69.   Donne également les références pour trouver la chaine avec les fonctions
  70.   F(I)ND et HE(X)EDIT de PCTOOLS. ( Secteur et offset )
  71.   Le secteur contenant la chaine peut-être édité. Toutes les opérations de
  72.   la fonction O sont possibles.    
  73.  
  74.   EXEMPLE:
  75.           
  76.     Hexutil à été lancé comme suit: H R *.*
  77.     
  78.     On demande une recherche hexadécimale avec JOKER dans tous les
  79.     fichiers du répertoire courant. Le but est de trouver ( dans le cas
  80.     présent ) une série de CALLF puis de desassembler le secteur.
  81.     Comme les segments CS des CALLF et autres JMPF sont recalculés lors
  82.     du chargement d'un fichier EXE il n'est pas possible de chercher
  83.     avec précision toutes les valeurs des octets. Il suffit dans la
  84.     pratique de taper 9A ( mnémonique d'un CALLF - en attendant une
  85.     recherche par mnémonique ) suivi de 4 JOKER ( en apuyant quatre fois
  86.     sur la barre d'espace pour accepter n'importe quelle valeur de
  87.     segment CS ):
  88.         
  89.    -------------------------------------------------------------------------                                                            
  90.                                                                               
  91.    192000 octets ont été lu du fichier INT.EXE                                
  92.                                                                               
  93.    Chaîne recherchée : 9A ¿¿ ¿¿ ¿¿ ¿¿ 9A ¿¿ ¿¿ ¿¿ ¿¿ 9A ¿¿ ¿¿ ¿¿ ¿¿ 9A        
  94.                                                                               
  95.    Chaine trouvée :    9A 5F 07 FB 06 9A 41 0D 63 03 9A E3 0C 63 03 9A        
  96.                                                                               
  97.                        Ü  _  .  √    Ü  A  .  c    Ü  π     c    Ü         
  98.                                                                               
  99.    Fichier INT.EXE                                                            
  100.    Egalité trouvée à l'offset HEXA: 028434 DEC: 0164916                       
  101.    Référence PCTOOLS Secteur: 0322 Dép: 052                                   
  102.                                                                               
  103.                                                                               
  104.           Fichier texte --> (T), Fichier binaire --> (B), Edition --> (E)        
  105.                                                                               
  106.      La chaine a été trouvé    1 fois dans      INT.EXE                       
  107.  
  108.     --------------------------------------------------------------------
  109.  
  110.   Puis il ne suffit plus que de taper sur E ( pour Editer le secteur ).
  111.   On obtient l'écran d'édition commun aux commandes A, P, O et R:
  112.   Le curseur est positionné sur le 52ème octet dans le secteur 322 soit
  113.   sur le premier octet de la première des 5 instructions CALLF:
  114.  
  115.     --------------------------------------------------------------------
  116.   INT.EXE                   Nb Secteur: 4177                 Taille: 02138800 
  117.                                                                               
  118.                               SECTEUR : 322                  POSITION  052                 
  119.   DEC HEX                                                                     
  120.   000 000  50 9A 46 07 B8 00 83 C4 04 23 C0 74 0E B8 53 00   PÜF╕ â─#└t╕S  
  121.   016 010  50 9A 88 10 3E 05 83 C4 02 EB 19 C7 06 80 5C 00   PÜê>â─δ╟Ç\  
  122.   032 020  00 83 3E 70 5C 00 74 08 0E E8 23 18 23 C0 75 04    â>p\ t.Φ##└u 
  123.   048 030  2B C0 EB 32 9A 5F 07 FB 06 9A 41 0D 63 03 9A E3   +└δ2Ü_√ÜA.cÜπ 
  124.   curseur clignotant-> ──
  125.   064 040  0C 63 03 9A 8B 0C 63 03 9A 9F 0C 63 03 9A 9E 07    cÜï c܃ cÜ₧ 
  126.   080 050  FB 06 FF 36 5E 59 9A 7D 01 B8 00 83 C4 02 9A 5F   √ 6^YÜ}╕ â─Ü_ 
  127.   096 060  0C 63 03 B8 01 00 5D CB 55 8B EC 83 EC 48 81 3E    c╕ ]╦Uï∞â∞Hü> 
  128.   112 070  6C 2D 80 00 74 0C B8 A8 8C 50 9A A2 10 3E 05 E9   l-Ç t ╕¿îPÜó>Θ 
  129.   128 080  3B 0A 83 3E 0C 58 02 7E 14 B8 0A 57 50 B8 3E 4E   ;.â> X~╕.WP╕>N 
  130.   144 090  50 B8 D6 8C 50 9A A2 10 3E 05 83 C4 06 B8 EC 5D   P╕╓îPÜó>â─╕∞] 
  131.   160 0A0  50 BA 64 59 52 B9 60 59 51 BE 72 59 56 BB 70 59   P║dYR╣`YQ╛rYV╗pY 
  132.   176 0B0  53 BF 6C 59 57 B8 6A 59 50 B8 5E 59 50 B8 01 00   S┐lYW╕jYP╕^YP╕  
  133.   192 0C0  50 B8 0A 57 50 9A 00 00 5D 04 89 46 FE 83 C4 14   P╕.WPÜ  ]ëF■â─ 
  134.   208 0D0  23 C0 74 71 83 3E 50 6D 00 74 6A C7 06 50 6D 00   #└tqâ>Pm tj╟Pm  
  135.   224 0E0  00 B8 2E 00 50 B8 0A 57 50 9A 02 00 18 08 89 46    ╕. P╕.WPÜ .ëF 
  136.   240 0F0  FC 83 C4 04 23 C0 75 03 E9 7B 09 FF 46 FC BE DE   ⁿâ─#└uΘ{     Fⁿ╛▐ 
  137.                                                                               
  138.        Restore  Help  Edit  Neg  Xor  NOt  +/-  SP  Secteur  Print  ESC       
  139.                                                                               
  140.     --------------------------------------------------------------------
  141.  
  142.   Dès lors on peut éditer les valeurs HEXA ou mieux sortir par ESCAPE de
  143.   la fonction d'édition pour se retrouver dans les fonctions spéciales de
  144.   XOR, NOT et de Negation de secteur pour examiner visuellement le
  145.   secteur ? ( si, si, on remarque parfois des choses interessantes ). On
  146.   peut également tant que l'on se trouve dans le menu d'édition, appuyer sur
  147.   la touche de fonction F3. Cette touche produit les affichages suivants
  148.   d'une façon cyclique:
  149.  
  150.     Première  frappe:  Affichage du secteur en valeurs DECIMALES.
  151.     Deuxième  frappe:  Affichage du secteur en mode ASCII.
  152.     Troisième frappe:  Affichage du secteur en ASM ( voir ci-dessous ).
  153.  
  154.   Le desassemblage se fait toujours par rapport à la position du curseur
  155.   dans le menu EDIT. Il est limité au secteur courant ( pour l'instant )
  156.   Lorsque HEXUTIL décode une interruption il la commente. Pour essayer
  157.   en étant dans le menu ASM, il faut taper ESC pour se retrouver dans le
  158.   menu d'édition, puis taper à l'endroit où se trouve le curseur deux
  159.   octets comme suit: CD XX ( XX représente n'importe quelle interruption
  160.   de 00 à FF ). Il faut refaire passer le curseur sous l'octet CD ( puisque
  161.   le desassemblage ne fonctionne qu'à partir de la position courante du
  162.   curseur ), et de retaper F3 trois fois.
  163.  
  164.     --------------------------------------------------------------------
  165.                                                                               
  166.                               SECTEUR : 322                   POSITION: 052d   
  167.                                                                        
  168. CS:0034 9A5F07FB06     CALL 06FB:075F                                         
  169. CS:0039 9A410D6303     CALL 0363:0D41                                         
  170. CS:003E 9AE30C6303     CALL 0363:0CE3                                         
  171. CS:0043 9A8B0C6303     CALL 0363:0C8B                                         
  172. CS:0048 9A9F0C6303     CALL 0363:0C9F                                         
  173. CS:004D 9A9E07FB06     CALL 06FB:079E                                         
  174. CS:0052 FF365E59       PUSH [595E]                                            
  175. CS:0056 9A7D01B800     CALL 00B8:017D                                         
  176. CS:005B 83C402         ADD  SP,+02                                            
  177. CS:005E 9A5F0C6303     CALL 0363:0C5F                                         
  178. CS:0063 B80100         MOV  AX,0001                                           
  179. CS:0066 5D             POP  BP                                                
  180. CS:0067 CB             RETF                                                   
  181. CS:0068 55             PUSH BP                                                
  182. CS:0069 8BEC           MOV  BP,SP                                             
  183. CS:006B 83EC48         SUB  SP,+48                                            
  184.                                                                               
  185.   AFFICHAGE ASM                                                               
  186.                                                                               
  187.        Home      F2=hlp      End      Print      ESC      F3    flèches       
  188.                                                                               
  189.   ------------------------------------------------------------------------
  190.  
  191.  
  192.   Fonction I:
  193.   Desassemble une interruption avec la commande "HEXUTIL I XX" où xx
  194.   représente une valeur en HEXADECIMALE de 00 à FF. Les touches Page down
  195.   et Page up permettent de passer à l'interruption suivante/précédente.
  196.  
  197.   Fonction C:
  198.   Fait un checksum sur un ou plusieurs fichiers, ceci simplement pour détecter
  199.   une différence avec un autre fichier que l'on soupçonne éventuellement avoir
  200.   été modifié.
  201.  
  202.   Fonction P:
  203.   RECHERCHE par PATTERN, ce qui signifie en clair que l'on peut trouver une
  204.   certaine configuration d'octets sans en connaitre la valeur mais seulement
  205.   la disposition dans une chaine donnée. Utile pour trouver des chaines de
  206.   texte codées.
  207.   Le secteur contenant la chaine peut-être édité. Toutes les opérations de
  208.   la fonction O sont possibles.    
  209.  
  210.   EXEMPLE:
  211.  
  212.     Hexutil a été lancé comme suit: H P *.EXE
  213.  
  214.     C'est à dire que l'on demande à faire une recherche par pattern 
  215.     limitée aux seuls fichiers EXE.
  216.     On a entré la condition suivante: 1234512345 qui signifie que
  217.     l'on cherche un pattern où l'on trouve le même octet en position
  218.     1 et 6, 2 et 7, 3 et 8, 4 et 9 et enfin une égalité d'octet en
  219.     position 5 et 10. Le "hit" a été trouvé dans le fichier INT.EXE 
  220.     dans le 933ème secteur avec un déplacement ( offset ) de 125.
  221.     Autrement dit à 477821 octets du début du fichier.
  222.  
  223.     - L'octet 1 et  6 est bien égal à 0C.
  224.     - L'octet 2 et  7 est bien égal à D9.
  225.     - L'octet 3 et  8 est bien égal à C1.
  226.     - L'octet 4 et  9 est bien égal à D8.
  227.     - L'octet 5 et 10 est bien égal à 4D.
  228.     
  229.     -------------------------------------------------------------------------
  230.  
  231.        512000 octets ont été lu du fichier      INT.EXE                       
  232.                                                                               
  233.       Mettez '1' pour la première série, puis '2' pour la suivante etc...     
  234.                                                                               
  235.       EX: 3 - - - 1 - - - 2 - - - 2 - 1 - 1 - - 3 3 - - - - - - - - - - -     
  236.                                                                               
  237.                                                                               
  238.     ╔══════════════════════════════════════════════════════════════════════╗  
  239.     ║   ┘ ┴ ╪ M   ┘ ┴ ╪ M                                                  ║█ 
  240.     ║ 1 2 3 4 5 1 2 3 4 5                                                  ║█ 
  241.     ║ 0CD9C1D84D0CD9C1D84D- - - - - - - - - - - - - - - - - - - - - - - -  ║█ 
  242.     ╚══════════════════════════════════════════════════════════════════════╝█ 
  243.      ████████████████████████████████████████████████████████████████████████ 
  244.                                                                               
  245.      Fichier      FINT.EXE                                                     
  246.      Egalité trouvée à l'offset HEXA: 074A7D DEC: 0477821                     
  247.      Référence PCTOOLS Secteur: 0933 Dép: 125                                 
  248.                                                                               
  249.     Ci-après un second exemple où l'on cherche des octets identiques en
  250.  
  251.     - 1, 2, 3, 11 et 13ème position ( 80 )
  252.     - 4, 5 et 6ème position ( 00 )
  253.     - 7, 8 et 9ème position ( C0 )
  254.                                                                               
  255.     ╔══════════════════════════════════════════════════════════════════════╗  
  256.     ║ Ç Ç Ç    └ └ └ Ç Ç                                                ║█ 
  257.     ║ 1 1 1 2 2 2 3 3 3 1 1                                                ║█ 
  258.     ║ 808080000000C0C0C08080- - - - - - - - - - - - - - - - - - - - - - -  ║█ 
  259.     ╚══════════════════════════════════════════════════════════════════════╝█ 
  260.      ████████████████████████████████████████████████████████████████████████ 
  261.                                                                               
  262.      Fichier      FINT.EXE                                                     
  263.      Egalité trouvée à l'offset HEXA: 1E67F4 DEC: 1992692                     
  264.      Référence PCTOOLS Secteur: 3891 Dép: 500                                 
  265.  
  266.  
  267.   --------------------------------------------------------------------------
  268.  
  269.  
  270.   Fonction A:
  271.   Recherche automatique à travers le répertoire courant d'une chaine ASCII
  272.   en clair. 
  273.   Le secteur contenant la chaine peut-être édité. Toutes les opérations de
  274.   la fonction O sont possibles. Un joker peut-être utilisé: ALT-168.     
  275.  
  276.  
  277.   Fonction X:
  278.   Permet de coder une zone de texte et/ou code dans n'importe quel programme
  279.   automatiquement et ce avec un code variable d'un octet à l'autre.
  280.   Le programme doit être inférieur à 65k. De préférence un COM.
  281.  
  282.      Methode d'emploi:
  283.  
  284.      Le meilleur moyen de coder un programme que ce soit des DATA ou du
  285.      CODE c'est de le XORer. Non pas un XOR général avec le même octet
  286.      mais un XOR qui se modifie d'un octet à l'autre.
  287.      Voici les instructions à utiliser dans le programme assembleur pour
  288.      décoder les zones que le programme ci-dessous va coder:
  289.  
  290.      CLD            ; clear direction pour que SI et DI s'incrémentent.
  291.      XOR AX,AX      ; met à zero AX.
  292.  
  293.      MOV CX, offset fin - offset début
  294.  
  295.             ; Nombre d'octets à traiter.
  296.  
  297.      MOV SI, offset début           ; L'endroit ou il faut commencer.
  298.      MOV SI,DI                      ; On les remettra au même endroit.
  299.  ici:    LODSB                          ; On en cherche un.
  300.      XOR AL,AH                      ; On le traite.
  301.      STOSB                          ; On le range.
  302.      XCHG AH,AL     ; C'est l'astuce infernale qui permet de XORer avec un
  303.             ; nombre variable !
  304.      LOOP ici       ; Loop à LODSB pour chercher le suivant et ceci tant
  305.             ; que CX est # 0.
  306.  
  307.      DB   055h,0aah
  308. debut:   :
  309.      :
  310.      :
  311.     Tout ce qui se trouve entre 55AA et AA55 sera crypté lors de
  312.         l'utilisation de HEXUTIL avec l'option X. Code, Data, etc...
  313.      :
  314.      :
  315.      :
  316. fin:     DB   0aah,055h    
  317.  
  318.     Alors que l'on commence par le début pour décoder en ASM ou avec mon
  319.     CRACK.C il est nécessaire de commencer par la fin lorsque l'on code.
  320.     C'est ce que fait ce programme : SI est chargé par l'adresse de début
  321.     de la chaine + le nombre d'octet à traiter.
  322.  
  323.     UTILISATION:
  324.  
  325.     1- Tapez le programme source en clair ( heureusement ) en incluant la
  326.        routine ci-dessus. 
  327.     2- Placer l'identificateur suivant au début de la zone et/ou texte à
  328.        coder: DB 55h,0AAh et immédiatement après votre code/texte il faut
  329.        placer un identificateur de fin: DB 0AAh,55h.
  330.        Cette zone peut-être indifférement des données ou du code.
  331.     3- Assembler, linker, etc... et ne pas lancer le programme car il va se
  332.        planter vu qu'il va XORer des octets qui sont déjà déXORés.
  333.     4- Lancer HEXUTIL X NOM_du_fichier. Si tout se passe bien deux lignes
  334.        apparaissent. L'une coresspondant à la zone en clair avant codage
  335.        et la seconde représente la même chaine telle qu'elle apparaitra
  336.        dans le fichier COM définitif.
  337.     5- Lancer ( enfin ) votre programme. Vous pouvez vérifier que rien
  338.        n'apparait en clair de ce que vous vouliez cacher avec un éditeur
  339.        HEXA ou plus simplement avec la commande HEXUTIL O [nom_du_fichier].
  340.     
  341.     Nota: La fonction (L)anceur utilise cette fonction juste après la
  342.           création du programme *.com
  343.  
  344.  
  345.   Fonction M:
  346.   Il arrive quelquefois qu'une chaine de caractères soit protégée simplement
  347.   en additionnant la valeur de ses caractères respectifs. Dès lors la moindre
  348.   modification d'un caractère de la chaine peut être détectée et utilisée par
  349.   l'auteur du programme pour l'empêcher de fonctionner. La fonction M permet
  350.   de taper automatiquement une chaine de caractères quelconque en
  351.   "s'arrangeant" pour lui donner la même somme.    OK, ça ne casse pas des
  352.   briques, mais cela a l'avantage d'exister !     
  353.  
  354.  
  355.   Fonction L:
  356.   Permet de créer un "modificateur de programme dynamique". Utile lorsqu'un
  357.   fichier est crypté/compressé et indécomprimable même avec l'excellent produit
  358.   CARDWARE qu'est UNP V4.10 ou plus simplement qu'un checksum existe dans le
  359.   programme qui l'empêche de fonctionner dans son état décomprimé.
  360.  
  361.   Je me permets d'ouvrir ici une "(":
  362.   Un exemple d'application classique est l'augmentation du nombre de vies
  363.   dans un jeu, modifier l'invulnérabilité etc... Evidemment on peut s'en servir
  364.   pour autre chose, mais il ne faut pas toujours voir le mal partout. Tss, tss.
  365.   Le programme professionnel SOURCER livre tout a fait officiellement un
  366.   patcheur de fichier nomé PATCH.EXE. Chacun doit s'avoir où il doit s'arrêter.
  367.   Je ferme la ")".    
  368.  
  369.   Le Lanceur détourne une INT au choix ( usuellement l'INT 21 ou l'INT 08 ) que
  370.   l'on utilisera pour faire une recherche sur la pile afin de trouver le
  371.   segment IP dans lequel se trouve le mot à modifier. Il est nécessaire
  372.   toutefois de communiquer les 7 paramètres suivants au lanceur:
  373.  
  374.     Paramètre 1:    CANNON FODDER --->  Nom du jeu/utilitaire
  375.     Paramètre 2:    1          --->  Lanceur, ici 1.com    
  376.     Paramètre 3:    cf_fre.exe    --->  Nom du fichier à lancer.
  377.     Paramètre 4:    21          --->  Numéro de l'INT à utiliser.
  378.     Paramètre 5:    12C5          --->  Segment IP où se trouve la valeur
  379.                         à remplacer.
  380.     Paramètre 6:    0245          --->  Ancienne valeur.
  381.     Paramètre 7:    FFFF          --->  Nouvelle valeur.
  382.  
  383.   Le programme se charge de trouver le bon segment CS.    
  384.   Les paramètres 1,2,3 et 4 sont au choix de l'utilisateur. Seul les
  385.   paramètres 5,6 et 7 doivent être déterminés avec un "outil" externe.
  386.  
  387.   Nota: La génération du lanceur est automatique et de ce fait n'est pas
  388.         optimizé à 100%. La profondeur de recherche ( dépilage de la pile )
  389.     en vue de trouver le bon segment IP est fixe et limité à 30h.
  390.     Egalement les sous-fonctions de l'INT21 ne sont plus traitées.     
  391.  
  392.   Je réserve ( pour l'instant ) le lanceur manuel à mon usage personnel.
  393.   ( comment ça, je suis égoiste ? ).
  394.   Mais si je reçois suffisamment de réponses intéressés je pourrais envisager
  395.   de placer toutes ses fonctionnalités dans HEXUTIL: profondeur de recherche,
  396.   sous-fonctions d'INT, verbose etc...
  397.  
  398.   Fonction B:
  399.   Converti un fichier Binaire en tableau compatible MS C ou en fichier de
  400.   données ASM ( DB )... 
  401.   Le fichier crée sera XORé par un entier de 0 à 255 si présent.
  402.   N'a d'utilité que dans des cas particuliers. Si cela peut servir, j'en
  403.   serais heureux.
  404.  
  405.   A partir de la version 3.32m HEXUTIL produit un "log file" résumant le
  406.   résultat des recherches effectuées dans les menus A,R et P:
  407.  
  408.  
  409.        Chaine recherchée : 31 32 33 34 35 ¿¿ ¿¿ ¿¿ 39 
  410.  
  411.  La chaine a été trouvé   17 fois dans     ACAD.XMX
  412.  La chaine a été trouvé    2 fois dans    ACADL.EXP
  413.  La chaine a été trouvé    2 fois dans   ACADPS.EXP
  414.  La chaine a été trouvé    1 fois dans RASTERIN.EXP
  415.  La chaine a été trouvé    1 fois dans KERNEL32.DLL
  416.  La chaine a été trouvé    1 fois dans   ASIPDX.EXP
  417.  La chaine a été trouvé   10 fois dans ASIPDX16.EXE
  418.  La chaine a été trouvé   10 fois dans     ACAD.EXE
  419.  
  420.   La version 3.4 permet de sélectionner une fonction directement à partir du
  421.   menu principal.                                                                            
  422.  
  423.     Reste à faire... si on me motive...
  424.  
  425.         - Desassembler en fonction du type de processeur: 88, 286,
  426.           386, 486 et PENTIUM.
  427.         - Possibilité d'indiquer un "poids" ( +3, -5 ) par rapport
  428.           aux octets précédents si ceux-ci sont unaires et ne peuvent
  429.           donc pas être utilisés dans la recherche de pattern.    
  430.         - Recherche dans les sous-répertoires.
  431.  
  432.     Un grand merci à mes BETA-testeurs:
  433.  
  434.         - Stack ripper
  435.         - Serge  H.
  436.         - Jean Pierre C.
  437.         - Double click et D. Cliquette
  438.         - Fernand L.
  439.  
  440.     Adresse où envoyer vos cartes postales:
  441.  
  442.     Freddy
  443.     4 rue roedlen
  444.     68260 KINGERSHEIM
  445.     FRANCE
  446.         
  447.