Copyright: © Stefan Fleischmann 1995-2000


Sommaire
WinHex 9.72

Généralités

Au Sujet de WinHex	Enregistrement

Utilisation d'un Editeur Hexadécimal

Types Entières	Type Flottant

Types Date

ASCII ANSI/IBM	Sommes de Contrôle

Considérations Techniques et Juridiques

Travailler avec l'Editeur Hexadécimal

Options

Entrer des Caractères	Modes Edition

Barre d'Etats

Conseils Utiles	Macros

Editeur de Disque	Editeur de RAM

Référence Menu

Fichier	Edition

Recherche	Position

Outils	Options

Gestion de Fichiers	Fenêtre

Aide	Menu du Contexte

Divers

Conversions	Modifier des Données

Interpréteur de Données	Cloner des Disques

Gestion de Signets

Gestion de Macros	Gestion de Sauvegardes

Formulaires


Au Sujet de WinHex
WinHex 9.72

Auteur: Stefan Fleischmann

E-mail: mail@sf-soft.com

Première version sortie en 1995. Dernière modification: janvier 2001

Les systèmes d'exploitation suivants sont supportés:

• Windows 95/98/Me

• Windows NT 4.0

• Windows 2000

Traduction française par Jérôme Broutin (interface utilisateur) et Henri Pouzoullic (fichier d'aide et manuel), janvier 2000. Mise à jour: Bernard Leprêtre.

Consultant en cryptologie: Alexandre Pukall

Page d'accueil: http://www.winhex.com et http://www.sf-soft.com

Veuillez trouver ici la dernière version de ce programme.

Forum: http://www.winhex.net

Appréciation de ZDNet Software Library: 5 étoiles (sur 5!)

Des organismes nationaux américains (par exemple Oak Ridge National Laboratory, Tennessee), l'Université de Technologie de Vienne (Autriche), l'Université de Technologie de Munich (Institut d'Informatique), Toshiba Europe, Novell Inc., Ontrack Data International Inc., Siemens Business Services, Mannesmann VDO AG, Password Crackers Inc., DePfa Deutsche Pfandbriefbank AG, Analytik Jena AG, et beaucoup d'autres sociétés et instituts scientifiques sont déjà des utilisateurs enregistrés.

The algorithms Pukall Cipher 1 (PC 1) and Pukall Stream Cipher Hash Function are copyright by Alexandre Pukall. Source code available from http://www.multimania.com/pc1.

Le MD5 est sous copyright de RSA Data Security Inc.

The"zlib" compression library is copyright by Jean-loup Gailly and Mark Adler. Homepage: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html


Utilisation d'un Editeur Hexadécimal

Un éditeur hexadécimal est capable d'afficher complètement les contenus de chaque type de fichier. Différent d'un éditeur de texte, un éditeur hexadécimal affiche les codes de contrôle (par exemple les caractères d'avance et de retour chariot) et les codes exécutables utilisant un nombre à deux chiffres du système hexadécimal.

Considérons qu'un octet est une séquence de 8 bits. Chaque bit est soit 0 ou 1, et n'assume qu'un des deux états possibles. Par conséquent un octet peut avoir une des 2*2*2*2*2*2*2*2 = 28 = 256 différentes valeurs. Comme 256 est le carré de 16, une valeur d'octet peut être décrite par un nombre à deux chiffres basé sur un système hexadécimal, ou chaque chiffre représente un quartet (c'est à dire quatre bits). Les seize chiffres utilisés dans le système hexadécimal sont 0-9, A-F.

Vous pouvez changer la valeur d'un octet en changeant ces chiffres dans le mode hexadécimal. Il est aussi possible d'entrer le caractère, qui est attribué à une certaine valeur d'octet par un jeu de caractère (cf. Entrer de caractères). Toutes sortes de caractères sont autorisés (par exemple les lettres et caractères de ponctuation). Exemple: Un octet dont la valeur décimale est 65 est affiché comme 41 dans la notation hexadécimale (4*16+1=65) et comme la lettre A en mode texte. Le jeu de caractères ASCII définit la lettre majuscule A comme ayant la valeur décimale 65.

Il est essentiel que la taille des fichiers appartenant à certains types de fichier (par exemple les fichiers exécutables) ne soit pas changée. Le déplacement des adresses de code exécutable et de données cruciales entraîne des dommages sévères pour de tels fichiers. Notez que le changement du contenu d'un fichier peut être la raison ayant entraîné le fonctionnement anormal de l'application correspondante. Il peut être dommageable d'éditer des passages texte dans un fichier. Dans tous les cas il est recommandé de créer des fichiers de sauvegarde avant d'éditer.

La commande "Recherche Combinée" a été spécialement conçue pour l'édition des fichiers crées par les jeux et ceci dans le but de sauvegarder l'état de ces derniers. Si vous connaissez la valeur d'une variable dans deux fichiers de cette sorte, vous pouvez trouver la valeur de décalage (offset), c'est à dire l'endroit où cette donnée est sauvegardée. Exemple: Si deux fichiers comportent l'information stipulant que vous avez respectivement 5 et 7 points de vie..., chercher simultanément la valeur hexadécimale 05 dans le premier fichier et 07 dans le second fichier.


Enregistrement

WinHex est distribué sous forme de shareware. Merci de vous enregistrer auprès de l’auteur!

Licence de base

• Usage privé:

  EUR 31.90 / FF 220 / US$ 34

• Usage dans une entreprise, une organisation ou dans l'administration:

  EUR 56.90 / FF 380 / US$ 60

Licences additionnelles

• Usage privé:

  EUR 16.90 / FF 115 / US$ 18 par ordinateur

• Usage dans une entreprise, une organisation ou dans l'administration:

  EUR 29.90 / FF 205 / US$ 32 par ordinateur

Comment s'enregistrer:

1. Vous pouvez vous enregistrer directement à partir de mon site web http://www.winhex.com par carte de crédit (serveur sécurisé).	ou

2. Vous pouvez envoyer un chèque. A cause des tarifs de ma banque, additionnez EUR 6 / FF 39 / US$ 7, SVP.	ou

3. Envoyez un mandat poste international. Additionnez EUR 5 / FF 33 / US$ 6, SVP.	ou

4. Envoyez de l'argent liquide, DM, FF ou US$. (Ceci est à vos risques et périls.) En cas de FF, additionnez 10 FF, SVP.

Dans les cas 2, 3, ou 4, n'oubliez pas de me communiquer votre adresse en précisant "WinHex 9.72", SVP. Vous avez besoin d'une facture ou d'un récépissé pour votre entreprise/organisation/...? Dans ce cas, veuillez m'en informer.

En échange de votre enregistrement vous recevez des codes d'enregistrement. En utilisant ces codes vous passerez de la version shareware à la version complète. Les mises à jour sont gratuites, pendant une période d'au moins 12 mois suivant la date de publication de la présente version.

Mon adresse:

Stefan Fleischmann

Carl-Diem-Str. 32

D-32257 Bünde

Allemagne

Page d'accueil: http://www.winhex.com et http://www.sf-soft.com

E-mail: mail@sf-soft.com

Visitez mon site web pour télécharger une version de WinHex plus actuelle.

Merci beaucoup pour votre enregistrement!


Types de Données Entières

Format, Type	Gamme	Exemple

Signé, 8 bit	-128...127 	FF = -1

Non signé, 8 bit	0...255     	FF = 255

Signé, 16 bit	-32 768...32 767	00 80 = -32 768

Non signé, 16 bit	0...65 535	00 80 = 32 768

Signé, 32 bit	-2 147 483 648...2 147 483 647	00 00 00 80 = -2 147 483 648

Non signé, 32 bit	0...4 294 967 295	00 00 00 80 = 2 147 483 648

Signé, 64 Bit	-2^63...2^63-1	00 00 00 00 00 00 00 80 = -2^63

Si le format n'est pas autrement spécifié, les nombres multi-octets sont stockés au format "poids faible en tête" (little endian), signifiant que le premier octet du nombre est le moins significatif et que le dernier octet est le plus significatif. C'est le format commun aux micro-ordinateurs tournant sous Windows. En suivant le modèle "poids faible en tête" (little endian), la valeur hexadécimale 10 27 peut être interprétée comme le nombre hexadécimal 2710 (en décimal: 10 000).

L'interpréteur de donnée est capable d'interpréter les données de tous les types entiers mentionnés ci-dessus.


Données du Type Flottant

Type	Gamme	Précision	Octets

Float (Single)	± 1.5e-45..3.4e+38	7-8	 	4

Real	± 2.9e-39..1.7e+38	11-12 	6

Double (Double)	± 5.0e-324..1.7e+308	15-16 	8

Long Double (Extended)	± 3.4e-4932..1.1e+4932	19-20 	10

Les noms de types sont originaires du langage C de programmation. Les noms correspondants en Pascal sont entre parenthèses. Le type Réel n'existe qu'en Pascal. L'interpréteur de données est capable de traduire les valeurs hexadécimales d'une fenêtre d'éditeur en nombres flottants des quatre types.

Dans l'ordinateur, un nombre flottant F est représenté par une mantisse M et un exposant E où M x 2E = F. M et E sont chacun une valeur entière signée. Les quatre types de données diffèrent dans la gamme de leurs valeurs (c'est à dire le nombre de bits réservés pour l'exposant) et par leur précision (c'est à dire le nombre de bits réservés pour la mantisse).

Sur les systèmes basés Intel®, les calculs sur les nombres flottants sont exécutés par un coprocesseur mathématique pendant que le processeur principal est en attente. Le 80x87 d'Intel® utilise une précision de 80 bits pour les calculs, tandis que les processeurs RISC utilisent le plus souvent une précision de 64 bits.


ASCII ANSI/IBM

ASCII ANSI est le jeu de caractères utilisé dans les applications Windows. Il est standardisé par l'American National Standards Institute. MS DOS utilise le jeu de caractères ASCII IBM (appelé aussi ASCII OEM). Ces jeux de caractères diffèrent par leur seconde partie, celle qui contient les caractères ayant des valeurs ASCII plus grandes que 127.

Il est raisonnable de commuter l'option menu "Utiliser ASCII ANSI " sur OFF lors d'affichage ou d'édition de fichiers ayant un programme DOS comme origine.

Utilisez la commande "Convertir" du menu Edition pour convertir des fichiers textes d'un jeu de caractères dans un autre.

Les 32 premières valeurs ASCII ne sont pas des caractères imprimables, mais des codes de contrôle:

Hex	Control Code

0	Null

1	Start of Header

2	Start of Text

3	End of Text

4	End of Transmission

5	Enquiry

6	Acknowledge

7	Bell

8	Backspace

9	Horizontal Tab

A	Line Feed

B	Vertical Tab

C	Form Feed

D	Carriage Return

E	Shift Out

F	Shift In

10	Data Link Escape

11	Device Control 1 (XON)

12	Device Control 2

13	Device Control 3 (XOFF)

14	Device Control 4

15	Negative Acknowledge

16	Synchronous Idle

17	End of Transmission Block

18	Cancel

19	End of Medium

1A	Substitute

1B	Escape

1C	File Separator

1D	Group Separator

1E	Record Separator

1F	Unit Separator


Sommes de Contrôle

Une somme de contrôle (checksum) est un nombre caractéristique utilisé pour vérifier l'authenticité de données. Deux fichiers ayant une somme de contrôle identique présentent une très haute probabilité d'égalité l'un par rapport à l'autre (c'est à dire octet par octet). Calculer et comparer les sommes de contrôle d'un fichier avant et après une transmission éventuellement imprécise peut révéler des erreurs de transmission. Une somme de contrôle non affectée indique que les fichiers sont (selon toute vraisemblance) encore identiques. Cependant, notez que dans ce but, un fichier peut être manipulé de telle sorte que sa somme de contrôle reste non affectée. Des hashes (condensés, digests) sont utilisés dans de tels cas à la place des sommes de contrôle, et dés lors, des modifications malveillantes (c'est à dire nullement aléatoires) apportées aux données originales pourront être détectées.

Dans WinHex, des sommes de contrôles sont calculées lors de l'ouverture (optionnel, cf. Options Générales) ou lors de l'analyse (cf. Menu Outils) d'un fichier. Après des modifications de fichiers, des sommes de contrôle peuvent être recalculées en tapant Alt+F2.

La somme de contrôle standard est simplement la somme de tous les octets d'un fichier, calculée dans un accumulateur 32 bits. Le CRC32 (un code de redondance cyclique de 32 bits) est basé sur un algorithme plus sophistiqué, qui est certes plus sûr. Un CRC est le résultat de la division des données par un polynôme générateur.

Exemple: Si une transmission altère deux octets dans un fichier de manière telle que les modifications se contrent (par exemple octet un + 1, octet deux - 1), la somme de contrôle standard ne sera pas affectée, alors que le CRC32 changera.


Considérations Techniques

Montant de mémoire utilisé par le programme:	0.5 Mo

Montant additionnel utilisé par un macro:	0.5 Ko

Nombre maximum de fenêtres:	1000 (Windows NT/2000), 500 (Windows 9x)

Taille maximum du disque et des fichiers:	~ 1024 Go

Nombre maximum de programmes parallèles en cours:	99

Nombre maximum de macros:	100

Nombre maximum de signets:	limité seulement par la RAM

Nombre maximum d'entrées réversibles au clavier:	65535

Niveau de cryptage:	128 bit

Longueur des condensés pour les sauvegardes:	256 bit

Jeu de caractères supporté:	ASCII ANSI/IBM, EBCDIC

Présentation du décalage (Offset):	hexadécimal/décimal

1.  Dans la plupart des cas, l'affichage de progression montre le pourcentage complet d'une opération. Cependant, lors d'opération de recherche ou de remplacement il indiquera la position relative dans le fichier courant.

2.  Il est recommandé de ne pas utiliser de très grande police de caractères dans votre système Windows.

3.  WinHex s'attend à ce que votre ordinateur fonctionne dans le mode "poids faible en tête".

4.  Les clés que vous spécifiez pour le cryptage et le décryptage ne sont pas sauvegardées sur votre disque dur. Prévoyez que l'option de sécurité soit prise afin que la clé soit stockée en mémoire dans un état chiffré tant que WinHex est en service.

5.  Les opérations de recherche et de remplacement fonctionneront plus rapidement, si vous n'utilisez ni joker ni l'option "Sensible Majuscule/Minuscule".

6.  Lors d'une recherche avec l'option "Compte d'occurrences" activée ou lors de remplacement sans demande de confirmation, pour un algorithme de recherche il y a généralement deux façons de se comporter lorsqu'il trouve une occurrence, ce qui peut amener dans certains cas des résultats différents. Ceci est expliqué dans l'exemple suivant:

Les lettres ana sont recherchées dans le mot "banana". La première occurrence est d'emblée trouvée au second caractère.

1ère alternative: l'algorithme continue la recherche à partir du troisième caractère. Ainsi ana est à nouveau trouvé à partir du quatrième caractère.

2ème alternative: les trois lettres trouvées dans le mot "banana" sont sautées. Les lettres restantes na ne contiennent plus ana.

WinHex est programmé de la seconde manière, parce que celle-ci fournit les résultats les plus plausibles lors de comptages ou de remplacements d'occurrences. (Si vous continuez une recherche en utilisant la touche F3 ou que vous choisissiez l'option "Confirmer chaque remplacement", l'algorithme se conformera à la première alternative).

Consulter la page d'accueil http://www.winhex.com pour de plus amples informations techniques.


Considérations Juridiques

Copyright © 1995-2001 Stefan Fleischmann. Tous droits réservés.

Aucune partie de ce document ne peut être reproduite ou conservée dans une base de données ou un système de stockage sans l'autorisation préalable de l'auteur. Tous les noms de marques ou marques de fabrique mentionnés dans le programme sont la propriété de leurs détenteurs respectifs et sont généralement protégés par la loi.

Le présent document vise à fournir une information exacte et fiable sur le domaine traité. Toutefois l'auteur n'offre aucune garantie et n'accepte aucune responsabilité tant pour le programme que pour le manuel.

Les algorithmes "Pukall Cipher 1" (PC 1) et "Pukall Stream Cipher Hash Function" sont sous copyright d'Alexandre Pukall. Code source disponible à http://www.multimania.com/pc1/, http://www.multimania.com/cuisinons/progs/ et http://www.freecode.com.

La bibliothèque de compression "zlib" est sous copyright de Jean-loup Gailly et Mark Adler. Page d'accueil: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html

Continuer


Options Générales

1ère colonne:

• Lors de la sélection de WinHex comme association par défaut, la clé du registre HKEY_CLASSES_ROOT \ Unknown \ shell \ Open \ Command est modifiée. Ceci vous permet d'ouvrir un fichier d'un type de fichier non enregistré dans WinHex en exécutant un double clic dans l'Explorateur Windows. Ceci fonctionne de même avec des fichiers non enregistrés ou même exécutables si vous pressez la touche MAJ.

• Vous pouvez faire apparaître WinHex dans le menu contextuel de Windows. Le système affiche le menu contextuel quand l'utilisateur clique sur un objet avec le bouton droit de la souris. WinHex fournit des éléments de menu pour les fichiers, dossiers et disques. Si cette option n'est pas complètement sélectionnée, il n'y pas d'éléments de menu pour les fichiers.

• Les options Permettre plusieurs instances vous permettent d'exécuter WinHex plus d'une fois en même temps. Si cela n'est pas activé, WinHex met la fenêtre principale de l'instance courante en second plan au lieu de créer une instance de nouveau programme. De cette façon vous pouvez être assuré qu'il n'est pas nécessaire d'avoir de multiples licences du programme quand vous exécutez de multiples instances sur un simple ordinateur....

• Ne pas changer la date des fichiers signifie que WinHex n'actualisera pas le marqueur date-heure quand un fichier a été modifié et enregistré.

• Spécifiez le nombre de fichiers récemment ouverts qui doivent être listés à la fin du menu Fichier.

• La barre d'icônes est affichée en option.

• Le contrôle tab rend chaque fenêtre d'édition accessible par un simple clic.

• La section de détails fournit une information détaillée sur tout objet ouvert (fichier, disque, RAM).

• Si vous sélectionnez Montrer les icônes des fichiers, les icônes stockés dans les fichiers sont affichés dans la "frange information". Ceci augmente la mémoire requise et retarde l'ouverture des fichiers. Si un fichier ne contient pas d'icône, l'icône type du fichier est affiché, sauf si cette option n'est pas "pleinement" sélectionnée.

• La touche ENTREE peut être utilisée pour entrer jusqu'à quatre valeurs hexadécimales à deux chiffres. Il est utile de spécifier 0x0D0A, qui est interprété comme un marqueur-de-fin-de-ligne dans le monde Windows (Unix . 0x0D).

• Décidez si vous voulez utiliser la touche TABULATION pour commuter de mode texte en mode hexadécimal et vice versa ou pour entrer le caractère tabulation (0x09). Dans tous les cas TAB+MAJ peuvent être pressés pour commuter le mode courant.

2ème colonne:

• Spécifie le dossier dans lequel sont créés les fichiers temporaires.

• Spécifie le dossier dans lequel sont créés les fichiers de sauvegardes.

• Spécifie un chemin vers votre éditeur texte favori. WinHex vous permet de voir le rapport des comparaisons de fichiers en utilisant ce programme. L'éditeur standard de Windows Notepad n'est pas capable d'ouvrir des fichiers plus grands que 64 KO.

• Les décalages (offsets) peuvent être présentés et modifiés en notation décimale ou hexadécimale. Ce réglage est valide pour la totalité du programme.

• Lors de l'utilisation de l'Editeur de RAM il peut être raisonnable de faire afficher par WinHex des adresses virtuelles plutôt que des décalages par rapport à zéro. Ceci est toujours fait en notation hexadécimale. La boite de dialogue de la commande Aller à la Position vous demandera aussi des adresses virtuelles.

• Si vous choisissez Afficher des points pour 0x01 - 0x0F, les valeurs hexadécimales dans la gamme 01 à 0F seront affichées comme un point en mode texte lors de l'utilisation du jeu de caractères ANSI-ASCII.

• Choisissez le numéro d'octets par ligne (typiquement 16 ou 32).

• Décidez comment grouper les octets. Des puissances de deux sont recommandées pour former un groupe.

3ème colonne:

• Normalement WinHex affiche un curseur double. Il y a deux sortes de curseurs secondaires disponibles.

• Si un déroulement ligne par ligne est sélectionné, les séparateurs de page et de secteur peuvent être affichés. Si cette option est validée partiellement seuls les séparateurs de secteurs sont affichés.

• Le déroulement peut être fait soit ligne par ligne soit par page par page.

• Spécifiez combien de lignes doivent être déroulées avec le bouton déroulant de la souris (si disponible).

• Utilisez les couleurs Windows est suffisamment explicatif.

• Sélectionnez une couleur utilisée comme arrière-plan du bloc courant. Vous pouvez seulement changer la couleur si l'option "Utiliser les couleurs Windows par défaut" est désactivée.

• Vous pouvez choisir une police de caractères pour le mode ASCII ANSI. La police WinHex comprend le jeu complet des caractères Windows (même les caractères tels que les symboles ™, € et les différents guillemets).

• Décidez si WinHex doit jouer des messages sonores quand il présentera des conseils ou qu'il posera des questions.

• Afficher la barre de progression Windows remplace la barre de progression WinHex par la barre typique de progression commune à la plupart des programmes Windows.

• Enfin, vous pouvez sélectionner un des quatre styles de dialogue.

Le positionnement d'origine de toutes ces options peut être restauré en utilisant la commande Initialiser du menu Aide.


Entrer des Caractères

En mode hexadécimal seuls des caractères hexadécimaux peuvent être entrés ('0'...'9', 'A'...'F'). En mode texte vous pouvez entrer toutes sortes de caractères: lettres, chiffres, signes de ponctuation et caractères spéciaux (par exemple '»', ']' et '^'). Utilisez le programme Grille de Caractères de Windows pour trouver les combinaisons de touches correspondants à de tels caractères (par exemple , Alt+175 pour '»'). La police "WinHex" même comprend le symbole Euro.


Les Modes Edition

Mode Edition par Défaut: Les modifications de fichiers ouverts dans le mode d'édition par défaut sont mémorisées dans des fichiers temporaires. Ces derniers sont créés soit dynamiquement soit lors de l'ouverture du fichier original (cf. option "ouverture rapide de fichiers"). La commande "enregistrer" du menu Fichier met à jour le fichier original.

Mode Vue Seule: Les fichiers qui sont ouverts en mode vue seule ne peuvent pas être édités, seulement affichés. En d'autres termes ces fichiers sont ouverts en écriture protégée.

Mode Edition Directe: De grâce, entourez vous de précautions quand vous ouvrez des fichiers dans le mode d'édition directe. Toutes sortes de modifications (entrées clavier, remplissage/ déplacement de blocs, écriture de données du presse-papiers, remplacements,...) sont écrites dans le fichier original (en remplacement) sans demande d'acquiescement! Il n'est pas nécessaire d'enregistrer manuellement le fichier après l'avoir modifié. En fait, les modifications sont enregistrées bêtement et automatiquement, en fin de tâche quand vous quittez la fenêtre d'édition. Cependant, vous pouvez utiliser la commande "Enregistrer" pour vous assurer que les modifications soient prises en compte à un moment donné.

Ce mode d'édition directe est recommandé dans les cas où le transfert de données du fichier original vers le fichier temporaire et vice versa, qui est obligatoire en mode d'édition par défaut, devrait consommer trop de temps ou trop d'espace disque. Ceci peut être le cas lors de l'ouverture de très grands fichiers et d'édition de beaucoup de données à l'intérieur de ceux-ci. Comme habituellement aucun fichier temporaire n'est nécessaire dans le cas du mode d'édition directe, ce mode d'édition est généralement plus rapide que le mode d'édition par défaut. Le mode d'édition directe est le seul mode disponible quand vous utilisez l'Editeur de RAM.

Même en mode d'édition directe la création d'un fichier temporaire est inévitable lorsque la taille du fichier est altérée.


Barre d'Etats

La barre d'états affiche les informations suivantes concernant un fichier:

1. Numéro de la page courante et nombre total de pages

2. Position courante (décalage dans le fichier)

3. Traduction décimale des valeurs hexadécimales de la position courante

4. Commencement et fin du bloc courant (s'il en est un de défini)

5. Taille du bloc courant (s'il en est un de défini)

Cliquez sur le bouton gauche de la souris afin de...

1. Vous déplacer vers une autre page,

2. Vous déplacer vers un autre décalage,

3. Définir le format de la traduction décimale

4. Définir le bloc.

Cliquez sur le bouton droit de la souris pour copier des parties d'information de la barre d'état vers le presse-papiers.

Un clic droit sur le 2ème champ de la barre d'état permet de basculer entre une présentation du décalage absolue (défaut) et relative. Ceci est utile si vous examinez des données organisées en enregistrements de longueur fixe. Une fois spécifiée la longueur en octets de l'enregistrement, la barre d'états affiche le numéro de l'enregistrement courant et le décalage relatif à l'intérieur de celui-ci.

Un clic droit sur le 3ème champ de la barre d'état permet de copier dans le presse-papiers les quatre valeurs hexa à la position courante en ordre inversé. Ceci est utile pour suivre les pointeurs.


Conseils Utiles

• Utilisez les boutons de la souris pou définir le bloc. Un double clic sur le bouton droit libère le bloc.

• Vous pouvez vouloir définir le bloc en utilisant le clavier (MAJ+Touche Flèches ou ALT+1 et ALT+2).

• Utilisez la touche TAB pour commuter d'hexadécimal en mode texte.

• CTRL+Q ferme toutes les fenêtres.

• (CTRL+ Entrée) affiche le gestionnaire de fenêtres.

• ESC annule l'opération courante s'il y en a une, autrement restaure la sélection du bloc courant.

• PAUSE arrête ou continue l'opération courante.

• F11 répète la dernière commande "Aller à la Position".

• MAJ+F7 choisit un jeu de caractères.

• (MAJ+)ALT+F11 répète la dernière commande Déplacement Bloc

• ALT+F2 recalcule la somme de contrôle après qu'un fichier a été modifié.

• Validez les deux premières options "Générales".

• WinHex accepte les noms de fichiers spécifiés dans la ligne de commande et réalise les opérations Glisser-et-Lâcher (drag and drop).

• Utilisez des macros pour rendre votre travail avec WinHex plus efficace.

• Vous pouvez spécifier le n° d'identification d'une macro comme paramètre.

• Vous pouvez insérer un certain nombre d'octets dans un fichier (ceci accroît la taille du fichier) en utilisant la commande "Editer / Données du Presse-papiers / Mémoire Réservée" (Edit | Clipboard Data | Reserve Memory) et "Données du Presse-papiers / Copier" (Clipboard Data | Paste).

• Commutez la présentation du décalage d'hexadécimal en décimal en cliquant sur le nombre affichant le décalage.

• Si une résolution d'écran de 800×600 ou plus est fournie vous pouvez augmenter ou diminuer la fenêtre de l'éditeur et la colonne d'information de droite en cliquant et en tirant sur les bordures basses.

• Faites des essais en cliquant la barre d'état (boutons droit et gauche de la souris).


Macros

Il peut être recommandé de créer une macro (une routine) plutôt que de répéter le même changement dans un fichier. WinHex est capable de gérer jusqu'à 100 macros, enregistrées dans le fichier routines.dat. Le gestionnaire de macros vous permet de créer, éditer, copier et effacer des macros.

1.  En premier lieu lors de la création d'une macro, vous devez spécifier, à quels fichiers la macro devra s'appliquer.  La macro peut s'appliquer au fichier courant, à tous les fichiers ouverts ou à un fichier existant sur disque. Une macro ne peut pas s'appliquer à un fichier ouvert en mode vue seule.

2. Vous pouvez adresser jusqu'à 5 octets. Pour chaque octet spécifiez une valeur hexadécimale à deux chiffres et le décalage.

3.  Une macro peut être utilisée pour remplacer des valeurs texte ou hexadécimales en accord avec les commandes correspondantes du menu (cf. Options de remplacement).

4.  Parmi les autres options, vous pouvez spécifier une macro qui devra être exécutée quand la macro courante sera terminée. Pour cette macro, le fichier courant sera celui sur lequel la macro précédente a été appliquée. La macro suivant une macro s'appliquant à tous les fichiers ouverts ne peut pas s'appliquer à un "fichier courant", puisqu'elle ne sait pas de quel fichier il est question.

Conseils:

• WinHex exécute une macro automatiquement si vous spécifiez le numéro d'identification de cette macro comme paramètre (exemple. "winhex 4").

• Une telle macro peut être appliquée à "tous les fichiers ouverts", si WinHex est déjà lancé ou si les noms de fichier ont été spécifiés précédemment comme paramètres.

• Lors d'exécution de plusieurs macros s'appliquant à "tous les fichiers ouverts", seul le dernier fichier nécessite d'être lancé avec l'option validée "Enregistrer les changements automatiquement" (si on le souhaite pour tous les fichiers).

• Si le dernier paramètre est "auto", WinHex s'arrête automatiquement après l'exécution des macros spécifiées.

Exemple:

Considérons deux routines comme étant définies (n° 1 et 2), qui chacune s'applique à "tous les fichiers ouverts". La macro n° 2 est configurée pour enregistrer automatiquement les changements. La ligne de commande "winhex c.\file1.dat 1 d:\file2.dat 2 auto" a le résultat suivant: En premier le fichier "c:\file1.dat" est ouvert. Ensuite la macro avec le numéro d'identification 1 est appliquée à ce fichier. Après cela "d:\file2.dat" est ouvert et la macro n° 2 est appliquée à chaque fichier. Finalement, WinHex est arrêté.


Editeur de Disque

La commande Editeur de Disque (menu Outils) vous permet d'accéder à une disquette ou à un disque dur à un niveau inférieur à celui du système de fichiers. Sur chaque page, un secteur est affiché. Vous pouvez accéder au disque soit logiquement (c'est à dire sous contrôle du système d'exploitation) soit physiquement (sous contrôle du BIOS). Sur la plupart des systèmes d'ordinateur vous pourrez même accéder aux CD-ROM et DVD-ROM.

Q&R

Notez cependant les limites suivantes:

• Sous Windows NT, des autorisations de l'administrateur sont nécessaires pour accéder aux disques durs.

• Les fonctions de remplacement ne sont pas disponibles.

• WinHex ne peut pas écrire sur CD-ROM et DVD.

• L'éditeur de disque ne peut pas être utilisé sur les lecteurs distants (réseau).

L'appendice de ce manuel vous fournit les spécifications du secteur "master boot", qui peut être édité en utilisant l'Editeur de Disque.

Editer l'espace libre sur disque (Windows 95/98)

Sous Windows 95/98, il est possible d'éditer les espaces couramment inutilisés sur un disque logique. Pour cette caractéristique, les limitations mentionnées ci-dessus sont nulles et non avenues. Un fichier qui utilise la totalité de l'espace libre sur le disque sélectionné est créé. Vous pouvez éditer ce fichier en mode d'édition directe. L'intégrité des données dans les parties utilisées du disque ne peut pas être affectée par ce moyen.

Exemples d'applications pour Windows 95/98:

• Vous pouvez utiliser cette fonction pour récupérer des données effacées (non intentionnellement) mais qui n'ont cependant pas été écrasées par de nouveaux fichiers. Recherchez les données, marquez les comme bloc courant et copiez-les.

• Cette fonction est utile pour "nettoyer" pour des raisons de sécurité des espaces inutilisés du disque. Il est possible que des informations confidentielles soient enregistrées dans des parties couramment inutilisées du disque suite à un effacement normal, une copie ou une opération d'enregistrement. Définissez simplement la totalité du fichier comme bloc et remplissez-le avec la valeur hexadécimale 00.

Initialiser l'espace libre sur disque (Windows NT)

Sous Windows NT, l'espace libre sur disque peut être initialisé avec des octets à zéro. Effectivement, pour des raisons de sécurité, ceci efface toutes les données des parties inutilisées du disque et rend impossible la récupération de ces données.

Note: Bien sûr, les données qui ont été effacées en utilisant la commande "Effacement irréversible" ne peuvent en aucun cas être trouvées dans les parties inutilisées du disque.

Enregistrement de secteurs: Peut être utilisé d'une manière analogue à la commande "Enregistrer" des fichiers. Ecrit toutes les modifications sur le disque. Notez que ceci peut entraîner de sérieux dommages quant à l'intégrité des données du disque. Si l'option correspondante "Revenir" (undo) est validée, une sauvegarde des secteurs concernés est créée, avant qu'ils ne soient écrasés.

La commande ne peut pas être utilisée tant que vous ne vous êtes pas enregistré.

Secteur du Boot Maître


Menu Fichier

Nouveau: Cette commande est utilisée pour créer un fichier. Le fichier est initialisé avec des octets à zéro et principalement ouvert en mode d'édition par défaut. Vous devez spécifier la taille du fichier.

Ouvrir: Vous permet d'ouvrir un ou plusieurs fichiers. Vous pouvez choisir un mode d'édition dans le cas où il ne serait pas prédéterminé dans le menu Outils.

Enregistrer: Enregistre le fichier couramment affiché sur le disque. En mode d'édition directe, utiliser cette commande n'est pas nécessaire. Lors de l'utilisation de l'Editeur de Disque, cette commande se nomme "Enregistrer des secteurs".

Enregistrer sous: Enregistre le fichier couramment affiché sous un nom différent.

Créer une Sauvegarde

Charger une Sauvegarde: Sélectionne un fichier de sauvegarde (fichier WHX) dont vous voulez restaurer le contenu (soit un fichier, soit un ou des secteurs de disque).

Gestion de Sauvegardes

Exécuter: Exécute respectivement  le fichier courant ou le programme associé, si le fichier courant n'est pas un programme (EXE, COM).

Imprimer

Propriétés: Vous permet d'éditer la taille, les marques de temps et les attributs d'un fichier et d'un dossier. Les attributs valides sont A (archive), H (caché), R (lecture seule). Après entrée de nouvelles valeurs dans certaines zones (taille, temps ou attributs) appuyez simplement sur la touche Entrée, pour que les modifications prennent effet.

Ouvrir Spécial: Cette commande est utilisée pour ouvrir, en même temps, plusieurs fichiers présentant des exigences spéciales. Sélectionnez un dossier dans lequel vous voulez ouvrir un fichier. Eventuellement ouvrez même un sous-dossier. Vous pouvez spécifier un masque de fichier (par exemple "x*.exe"). Il y a aussi un commutateur qui permet d'ouvrir seulement les fichiers qui contiennent un certain texte ou une certaine valeur hexadécimale. Les dialogues standards de recherche sont affichés sur demande à ce propos. Si WinHex n'est pas configuré pour travailler comme afficheur ou en éditeur de remplacement (ceci peut être fait dans le menu Outils), vous pourrez choisir un mode d'édition.

Enregistrer les Fichiers Modifiés: Tous les fichiers qui ont été modifiés par vous de quelque manière que ce soit sont écrits sur disque.

Enregistrer Tous les Fichiers: Tous les fichiers non ouverts en mode vue seul seront écrits sur disque.

Quitter: Utilisez cette commande pour quitter WinHex. Vous aurez l'opportunité d'enregistrer les modifications de fichiers et de disques.


Menu Edition

Annuler: Annule la dernière modification, au cas où l'option correspondante a été activée.

Couper: Enlève le bloc courant du fichier et le met dans le presse-papiers. Les données derrière le bloc sont extraites et remises à la place du premier bloc.

Copier un bloc/tous/un Secteur:

• Normal: Copie le bloc courant / le fichier entier / le secteur courant dans le presse-papiers. Le contenu du presse-papiers peut être collé ou écrit plus tard.

• Dans un nouveau fichier: Copie les données directement dans un nouveau fichier (pas en utilisant le presse-papiers). Par exemple, cette commande peut être utilisée pour récupérer, à partir d'un disque, un fichier perdu.

• Valeurs Hexa: Copie les données comme des valeurs hexadécimales concaténées.

• Code Source en C: Copie les données formatées comme code source en C/C++.

• Affichage de l'Editeur: Copie les données comme texte, formatées comme si elles étaient affichées par l'Editeur Hexadécimal, c'est à dire avec un décalage, une partie hexadécimale et une colonne texte.

Coller le Presse-papiers: Insère le contenu du presse-papiers à la position courante du fichier courant. Les données du fichier derrière cette position sont déplacées.

Ecrire le Presse-papiers: Copie le contenu du presse-papiers à la position courante du fichier courant. Les données derrière cette position sont écrasées. Si la fin du fichier est atteinte, la taille du fichier est augmentée du contenu du presse-papiers.

Coller le Presse-papiers dans un Nouveau Fichier: Crée un nouveau fichier utilisant le contenu du presse-papiers.

Vider le Presse-papiers: Cette commande est utilisée pour libérer la mémoire occupée par le presse-papiers.

Supprimer: Efface le contenu du bloc du fichier. Les données derrière le bloc sont déplacées vers le début de l'ancien bloc. Le presse-papiers n'est pas affecté par cette commande. Si le bloc est également défini dans tous les fichiers ouverts (c'est à dire qu'il commence et finit avec les mêmes décalages), cette commande peut même être appliquée à tous les fichiers ouverts.

Coller des Octets Zéro: Utilisez cette commande pour insérer des octets à zéro à la position courante d'un fichier.

Définir Bloc: Cette fonction est accessible à partir du menu et de la barre d'état. Une boîte de dialogue vous permet de spécifier les limites du bloc. Cette commande peut aussi être appliquée à tous les fichiers ouverts.

Tout Sélectionner: Définit le début et la fin du fichier courant comme limites du bloc courant.

Convertir

Modifier les Données

Remplir un Bloc/un Fichier/des Secteurs Disque


Menu Recherche

Chercher Texte: Cette commande est utilisée pour trouver une chaîne spécifique allant jusqu'à 50 caractères dans le fichier courant (cf. Options de Recherche).

Chercher Chaîne Hexa: Cette commande est utilisée pour chercher une séquence pouvant comporter jusqu'à 50 valeurs hexadécimales à deux caractères (cf. Options de Recherche).

Remplacer Texte: Utilisez cette commande pour remplacer les occurrences d'une chaîne spécifique par une autre chaîne (chacune d'elles pouvant comporter jusqu'à 50 caractères), cf. Options de Remplacement.

Remplacer Chaîne Hexa: Fonctionne exactement comme Remplacer un Texte, sauf que cela s'applique à une séquence de valeurs hexadécimales (50 au maximum), cf. Options de Remplacement.

Recherche Combinée: Procure un mécanisme de recherche complexe. Dans un fichier courant et dans un second fichier un décalage commun est recherché, où chaque fichier doit contenir les mêmes valeurs hexadécimales que celles spécifiées.

Valeur Entière: Entrez un entier (dans les limites des données entières signées de 64 bits). Cette fonction recherche dans le fichier courant la donnée qui peut être interprétée comme cet entier.

Valeur Réelle: Entrez un nombre en flottant (tel que 12,34 = 0,1234 * 10^2 = 0,1234E2) et sélectionnez une donnée du type flottant. Cette fonction recherche dans le fichier courant la donnée qui peut être interprétée comme cette valeur flottante.

Extraits de Texte: Utilisez cette commande pour rechercher une séquence de lettres (a-z, A-Z), de chiffres (0-9) et/ou des signes de ponctuation. Cette fonction est utile par exemple si vous avez l'intention d'éditer des passages de texte cachés quelque part à l'intérieur d'un fichier au milieu d'un code exécutable.

Fixez la sensibilité de la recherche en spécifiant la longueur que doit avoir la séquence de caractères pour être reconnue. Cliquez sur "Tolère les Caractères Unicode" de façon à forcer l'algorithme à accepter des octets à zéro entre deux caractères.

Continuer Recherche Globale: Cette commande est utilisée pour poursuivre une opération de recherche globale (c'est à dire une recherche appliquée à tous les fichiers ouverts) dans le fichier suivant.

Continuer Recherche: Vous permet de poursuivre une opération de recherche dans un fichier courant à la position courante.


Menu Position

Aller à la Position: Déplace la position courante au décalage spécifié. Normalement ceci est fait d'une manière relative à partir du début de fichier (décalage 0). Vous pouvez déplacer le curseur relativement à la position courante (en avant ou en arrière) ou à partir de la fin du fichier (en arrière). Un décalage peut être spécifié en octets (par défaut), en mots (2 octets) ou en double mots (4 octets). Appuyer sur F1 pour répéter le dernier déplacement de position.

Aller à la Page/au Secteur: Déplace à la page ou au secteur de disque spécifié.

Déplacer Bloc: Déplace le bloc courant sélectionné en avant ou en arrière (pas les données dans le bloc). Spécifiez la distance en octets. Appuyez sur Alt+F11 pour répéter le dernier mouvement de bloc, appuyez sur MAJ+Alt+F11 pour inverser le mouvement. Cette commande peut faciliter l'édition d'un fichier qui consiste en enregistrements homogènes de longueur fixe.

Début de Fichier: Affiche la première page du fichier courant et déplace la position courante au décalage 0...15.

Fin de Fichier: Affiche la dernière page du fichier courant et déplace la position courante sur le dernier octet (décalage = taille du fichier - 1).

Début de Bloc: Déplace la position courante au début du bloc courant.

Fin de Bloc: Déplace la position courante à la fin du bloc courant.

Placer Marqueur: Marque la position courante et vous rend ainsi capable de la retrouver plus tard.

Effacer Marqueur: Efface le marqueur de l'écran.

Atteindre Marqueur: Déplace la position courante vers celle établie par le Marqueur de Position.

Gestion de Signets


Menu Fenêtre

Gestion de Fenêtres: Affiche toutes les fenêtres et fournit une fonctionnalité "Commutation instantanée de fenêtre". Vous pouvez aussi fermer des fenêtres et enregistrer des fichiers.

Fermer Tout: Ferme toutes les fenêtres ainsi que tous les fichiers et disques ouverts.

Ferme Tout sans Confirmation: Ferme toutes les fenêtres ainsi que tous les fichiers et disques ouverts sans vous donner l'opportunité d'enregistrer vos modifications.

Cascade/Mosaïque: Ces commandes rangent les fenêtres comme spécifié.

Synchroniser le Défilement: Synchronizes up to 4 tiled windows.

Synchroniser et Comparer: Synchronizes 2 windows and visually displays byte value differences.

Minimiser: Minimise toutes les fenêtres.

Réorganiser les Icônes: Cette commande range les fenêtres minimisées.


Menu Outils

Editeur de Disque

Inspecter les Clusters: Disponible pour les lecteurs FAT16 et FAT32. WinHex parcourt les chaînes de clusters et en tire une carte du lecteur. (Un cluster est une unité d'allocation d'un disque logique.) Ensuite, WinHex est capable de spécifier l'allocation de chaque secteur et cluster (fichier, dossier, FAT, libre). Il faut lancer cette fonction à nouveau après des opérations sur le lecteur pour actualiser l'affichage de WinHex. Consultez Options de Sécurité.

Lister les Clusters d'un Fichier/d'un Dossier: Disponible pour les lecteurs FAT16, FAT32 et NTFS. Dans le cas de FAT16 ou FAT32 ce commande se base sur une carte du lecteur récente générée par la commande "Inspecter les Clusters". WinHex recherche les clusters assignés au fichier ou répertoire que vous avez spécifié. Les clusters trouvés sont listés dans une fenêtre à part. Vous pouvez cliquer un élément de la liste pour vous déplacer vers ce numéro de cluster.

Entrer Paramètres du Disque: Using this command on a physical disk, you may override the number of cylinders, heads, and sectors per track as recognized by WinHex. This can be useful to access surplus sectors at the end of the disk under Windows NT/2000 (they should be automatically included under Windows 9x/Me), or to adjust the CHS coordinate system to your needs. Use this command on a logical drive to override the total number of clusters WinHex detects on that drive. This can prove useful when examining huge DVDs, which are detected as 2 GB media under Windows 9x.

Récupération de Fichiers: A simple file recovery function, that searches for files on any disk (or disk image file) that can be recognized by a certain file header (signature). The function can either extract files of a fixed size, or search for corresponding footers (which mark the end of the file). Header and footer must be provided in hexadecimal notation. A log file that tells the header and footer offsets is written to the output directory as well. The resulting files are named according to a pattern you must provide. Note that this function may not work at all in the case of fragmented files, where headers and footers do not occur alternately.

Cloner Disque

Editeur de RAM

Lancer Editeur Texte: Cette commande exécute un éditeur de texte externe (voir Options Générales) et ouvre le fichier courant. Après avoir enregistré des modifications dans l'éditeur de texte, WinHex peut les adopter.

Calculatrice: Démarre le calculateur Windows "calc.exe". La commutation en mode scientifique est hautement recommandée.

Convertisseur Hexa: Cette commande fournit une boite de dialogue, qui vous permet de convertir des nombres hexadécimaux en nombres décimaux et vice versa. Tapez simplement le nombre et appuyez sur Entrée.

Tables: Fournit quatre tables de conversion (cf. ASCII ANSI/IBM).

Analyser Bloc/Fichier/Secteurs: Balaye les données dans le bloc courant/le fichier entier et compte les occurrences de chaque valeur d'octet (0...255). Le résultat est affiché graphiquement par des lignes verticales proportionnelles. Le nombre d'occurrences et le pourcentage sont affichés pour chaque valeur d'octet lors du déplacement de la souris sur la ligne verticale correspondante.

Utilisez cette commande par exemple pour identifier des données d'un type inconnu. Les données audio, les données compressées, les codes exécutables etc... produisent des graphiques caractéristiques. Utilisez le menu système de la fenêtre pour commuter la considération d'octet à zéro sur on ou sur off. Une somme de contrôle standard (la simple somme de tous les octets) et le CRC32 des données sont aussi affichés.

Calculer Digest: Calculates the common 128-bit MD5 message digest of the entire current file, disks, or the currently selected block. Use the key combination SHIFT+F2 to calculate the 256-bit PSCHF instead.

Gestion de Macros

Exécuter Macro: Sélectionnez une macro à partir de la liste et exécutez les opérations automatiques pour lesquelles elle a été définie.


Menu Options

Options Générales

Options d'Annulation

Options de Sécurité

Options de l'Interpréteur de données

Mode Vue Seul: Si vous utilisez WinHex simplement pour visualiser des fichiers et que la possibilité de les éditer ne vous est pas nécessaire, vous pouvez commuter sur cette option du menu. Tous les fichiers seront ouverts en mode vue seule.

Mode d'Edition Directe: Tous les fichiers sont ouverts en mode d'édition directe, c'est à dire que tous les changements sont faits directement sur le fichier original.

Jeu de Caracères (Maj+F7): Vous laisse décider si le jeu de caractères ASCII ANSI, ASCII IBM ou EBCDIC sera utilisé pour l'affichage. EBCDIC n'est pas supporté par la fonction impression

Affichage Texte Seul: Cache l'affichage hexadécimal et utilise la fenêtre éditeur entière pour l'affichage de texte.

Affichage Hexa Seul: Cache l'affichage de texte et utilise la fenêtre éditeur entière pour l'affichage hexadécimal.


Gestion de Fichiers

Exécuter: Vous laisse sélectionner un fichier à exécuter. Si le fichier lui-même n'est pas exécutable, il est ouvert par l'application à laquelle il est associé.

Découper: Cette commande crée plusieurs fichiers-cible utilisant le contenu d'un fichier-source unique. Spécifiez un décalage de séparation pour chaque fichier-cible. Le fichier-source n'est pas affecté par cette fonction.

Concaténer: Sélectionnez plusieurs fichiers-source, qui seront copiés dans un fichier-cible unique. Les fichiers source ne seront pas affectés par cette fonction.

Unifier: Sélectionnez deux fichiers-source et un fichier-cible. Les octets/mots des fichiers-source seront alternativement écrits dans le fichier-cible. Le premier octet/mot en tête sera celui spécifié en premier dans le fichier-source. Utilisez cette fonction pour créer un fichier avec des octets/mots impairs et pairs originaires de fichiers séparés. (par exemple, pour la programmation d'EPROM)

Disséquer: Sélectionnez un fichier source et deux fichiers-cible. Les octets/mots en provenance du fichier source seront écrits alternativement dans les fichiers-cible. Le premier octet/mot sera transféré dans le fichier-cible qui aura été spécifié en premier. Utilisez cette fonction pour créer deux fichiers séparés contenant l'un les octets/mots impairs et l'autre les octets pairs d'un fichier original. (par exemple, pour la programmation d'EPROM)

Comparer: Cette commande est utilisée pour comparer deux fichiers octet par octet. Décidez lesquels des octets différents ou identiques feront l'objet du rapport. Si désiré l'opération se termine d'elle-même quand un certain nombre de différences ou de coïncidences a été rencontré. Le rapport est stocké dans un fichier texte, dont la taille peut s'accroître de façon spectaculaire.

La commande peut être appliquée à un bloc limité dans les fichiers. WinHex spécifie automatiquement la fin du fichier le plus court comme fin de bloc.

Copier: Copie simplement un fichier.

Déplacer: Utilisez cette commande pour déplacer et/ou renommer un fichier existant. Le fichier-source est effacé.

Effacer Irréversiblement: Cette commande est utilisée pour effacer définitivement le contenu d'un fichier, de telle façon qu'il ne pourra pas être restauré par des programmes spéciaux de restauration. Chaque fichier sélectionné est rempli avec des octets à zéro, réduit à une taille nulle et ensuite effacé. De même le nom d'entrée du fichier est effacé. Même des tentatives professionnelles de restauration du fichier seront vaines.

Par conséquent cette commande ne devrait être appliquée qu'à des fichiers aux contenus confidentiels, devant être détruits. Quoi qu'il en soit, l'efficacité absolue de cette fonction ne peut pas être garantie, en particulier si elle entre en conflit avec des utilitaires résidents de sécurité, qui utilisent des mécanismes élaborés de maintien d'intégrité des données.


Menu Aide

Sommaire: Affiche le contenu du fichier d'aide.

Initialiser: Utilisez cette commande pour restaurer les caractéristiques par défaut de ce programme.

Désinstaller: Utilisez cette commande pour enlever WinHex de votre système. Celle-ci fonctionne correctement même si vous n'avez pas installé WinHex avec son programme d'installation.

Configuration de langue: Commute entre les interfaces utilisateur en Anglais, en Français ou en Allemand.

Site Web: Ouvre la page d'accueil de WinHex (http://www.winhex.com) dans votre navigateur.


Imprimer

Utilisez cette commande pour imprimer un fichier ou des secteurs.

Fournissez les décalages à imprimer. Vous pouvez sélectionner

et configurer une imprimante.

Choisissez le jeu de caractères et acceptez ou changez la taille

suggérée. La taille de police est calculée comme suit: la résolution

d'impression (par exemple 720 dpi) / 6 (par exemple = 120). Si

désiré vous pouvez spécifier un commentaire qui sera imprimé à la

fin.

Au cas ou vous avez besoin d'imprimer d'une façon plus flexible, vous

pouvez définir un bloc et le copier en utilisant "Edition/Copier/Affichage

de l'éditeur" comme texte "formaté Editeur Hexadécimal" dans le

presse-papiers. Vous pourrez alors le coller dans votre traitement de

texte favori. Il aura une excellente allure en "Courier New", 10pt.


Bloc

Vous pouvez marquer une partie d'un fichier ouvert comme un "bloc".

Cette partie peut être manipulée par plusieurs fonctions dans le menu

Edition exactement comme des sélections dans d'autres programmes

Windows. Si aucun bloc n'est défini, ces fonctions sont normalement

appliquées au fichier entier.

La position courante et la taille sont affichées dans la barre d'état. Un

double clic sur le bouton droit de la souris ou un appui sur la touche

ESC efface le bloc.


Modifier des Données

Utilisez cette commande pour modifier les données à l'intérieur d'un bloc ou dans le fichier entier, au cas où aucun bloc ne serait défini. Dans cette version de WinHex, trois types de modifications de données sont disponibles. Un nombre fixe est ajouté ou XORé à chaque élément de donnée, ou bien les bits sont inversés ou décalé logiquement, ou bien les octets sont échangés. On peut employer l'opération XOR comme une manière d'encryptage simple. By shifting bits, you can simulate inserting or removing single bits at the beginning of the block.

Inversion d'octets

Cette commande affecte toutes les données qui consistent en éléments de 16 bits (de même que de 32 bits) et échange les octets de haut et de bas rangs (de même que des mots de hauts et de bas rangs). Utilisez cette commande pour convertir des données de "poids fort en tête" en "poids faible en tête" et vice versa.

Additionner

Spécifiez un nombre décimal ou hexadécimal, positif ou négatif, qui sera ajouté à chaque élément du bloc courant. Un format entier définit la taille (1,2 ou 4 octets) et le type (signé ou non signé) d'un élément.

Il y a deux manières de procéder si le résultat est hors de la gamme du format entier sélectionné. Soit la gamme est limitée en se conformant à la nouvelle valeur (I) ou soit que la retenue est ignorée (II).

Exemple: format non signé 8 bits

I. 	FF + 1 	® FF 	(255 + 1 ® 255)

II.	FF + 1 	® 00 	(255 + 1 ® 0)

Exemple: format signé 8 bits

I. 	80 - 1 	-> 80 	(-128 - 1 ® -128)

II. 	80 - 1 -> 7F 	(-128 - 1 ® +127)

• Si vous décidez d'utiliser la première méthode, WinHex vous dira combien de fois la limite de gamme a été assumée comme nouvelle valeur.

• La seconde méthode assure une opération réversible. Il faut simplement ajouter -x au lieu de x basé sur le même format entier pour recréer la donnée originale.

• Lors de l'utilisation de la seconde méthode il n'est pas fait de différence que vous choisissiez un format signé ou non signé.


Conversions

WinHex fournit la commande Convertir du menu Edition pour des conversions aisées des différents formats de données et le cryptage et le décryptage. La conversion peur être appliquée facultativement à tous les fichiers ouverts au lieu de celui couramment affiché. Les formats marqués avec un astérisque peuvent seulement être convertis comme fichier entier, et non comme bloc. Les formats suivants sont supportés:

• ASCII ANSI, ASCII IBM (deux jeux de caractères ASCII différents)

• EBCDIC (un jeu de caractères de IBM mainframe)

• Caractères majuscules/minuscules (ASCII ANSI)

• Binaire * (données brutes)

• Hexadécimal ASCII * (représentation hexadécimale de données brutes sous forme de texte ASCII)

• Intel Hex * (= Intellec étendu; données ASCII hexadécimales dans un format spécial, comprenant des sommes de contrôle etc..)

• Motorola S * (=Exorcisor étendu; données comme ci-dessus)

Notez:

• Lors de conversions de données Intel Hex ou Motorola S, les sommes de contrôle internes de ces formats ne sont pas vérifiées.

• Selon la taille du fichier, le format de sortie le plus petit possible est choisi automatiquement. Intel Hex: 20-bit ou 32-bit. Motorola S: S1, S2, ou S3.

• Quelques types de conversion ne peuvent être appliqués qu'à des fichiers entiers.

Cryptage/Décryptage

Il est recommandé de spécifier une combinaison d'au-moins 8 caractères comme clé de cryptage. N'utilisez pas de mots d'une quelconque langue, il est préférable de choisir une combinaison aléatoire de lettres, de signes de ponctuation et de chiffres. Notez que les clés de cryptage sont sensibles à la casse. Rappelez qu'il vous sera impossible de retrouver vos données chiffrées sans la clé appropriée. La clé de décryptage que vous entrez n'est pas vérifiée avant le décryptage.

L'algorithme de cryptage est le "Pukall cipher 1" (PC 1), utilisant une clé de 128 bits (=le hash à 128 bits de la clé que vous spécifiez).


Options de Recherche

Respecter la casse: Si cette option est validée, WinHex fait une distinction entre les majuscules et minuscules, dans ce cas "Option" n'est pas trouvé dans le mot "optionnel".

Jeu de caractères Unicode: Le texte spécifié est recherché en utilisant les 256 caractères Unicode équivalents ASCII ANSI, même ceux où l'octet d'ordre haut est 0.

Vous pouvez spécifier un joker (un caractère ou une valeur hexadécimale à deux chiffres), qui représente un octet. Par exemple cette option peut être utilisée pour trouver "Speck" aussi bien que "Spock" lors de la recherche de "Sp?ck" avec le point d'interrogation comme joker.

Mots entiers seulement: La chaîne recherchée est reconnue seulement si elle est séparée d'autres mots, c'est à dire par des caractères de ponctuations ou d'espaces. Si cette option est validée, "tomato" n'est pas trouvé dans "automaton".

Direction de la recherche: WinHex peut rechercher du début à la fin, ou chercher vers le bas ou le haut.

Condition: Offset modulo x = y: L'algorithme de recherche ignore les occurrences qui ne correspondent pas aux exigences. Par exemple, si vous cherchez des données qui typiquement apparaissent à un décalage relatif au début d'un secteur de disque dur, spécifiez x=512. Si vous cherchez des données alignées DWORD, utilisez x=4, y=0.

Rechercher seulement dans le bloc: L'opération de recherche est limitée au bloc courant.

Examiner tous les fichiers ouverts: L'opération de recherche est appliquée à tous les fichiers ouverts. Pressez F4 pour continuer la recherche dans le fichier suivant. Si "rechercher dans le bloc seulement" est validé, la recherche est limitée au bloc courant de chaque fichier.

Compter les occurrences/enregistrer les positions d'occurrence: Force WinHex non pas à afficher chaque simple occurrence, mais à les compter. Si cette option est pleinement validée, WinHex entrera toutes les occurrences dans le gestionnaire de signets.

Menu Recherche

Options Remplacement

Considérations Techniques


Options Remplacement

Confirmer chaque remplacement: WinHex attend votre décision quand il trouve une occurrence. Vous devez soit la remplacer, continuer ou abandonner la recherche.

Tout remplacer: Toutes les occurrences son automatiquement remplacées.

Respecter la casse: Les caractères qui doivent être remplacés sont recherchés en utilisant cette option. (cf. Options de Recherche)

Jeu de caractères Unicode: Les caractères spécifiés sont recherchés dans le format Unicode (cf. Options de Recherche).

Vous pouvez spécifier un caractère ou une valeur hexadécimale à deux chiffres comme joker. Ceci est généralement fait en recherche de chaîne. Si le substitut contient un joker, le caractère à la position correspondante en occurrence ne sera pas changé. Ainsi, "black" et "block" peuvent être remplacés simultanément par "crack" et "crock" (en entrant "bl?ck" et "cl?ck").

Mots entiers seulement: La chaîne recherchée est reconnue seulement si elle est séparée des autres mots c'est à dire par des caractères de ponctuation ou des espaces. Si cette option est validée, "tomato" n'est pas remplacé dans "automaton".

Direction du remplacement: WinHex peut rechercher du début à la fin, ou chercher vers le bas ou le haut.

Seulement dans le bloc: L'opération de remplacement est limitée au bloc courant.

Dans tous les fichiers ouverts: L'opération de remplacement est appliquée à tous les fichiers non ouverts en mode vue seule. Si "Remplacer dans le bloc seulement" est validé, l'opération de remplacement est limitée au bloc courant de chaque fichier.

Conseils:

WinHex est capable de remplacer une chaîne de même qu'une séquence de valeurs hexadécimales par une autre qui a une longueur différente. Vous serez averti d'une des méthodes suivantes qui sera appliquée.

1ère méthode: La donnée derrière l'occurrence est déplacée à cause de la différence de longueur. Cette méthode ne doit pas être appliquée à certains types de fichiers, tels que les fichiers exécutables. Il est même possible de ne rien spécifier comme substitut, de telle manière que toutes les occurrences seront déplacées dans le fichier!

2ème méthode: Le substitut est écrit dans le fichier à la position de l'occurrence. Si le substitut est plus court que la séquence de caractères recherchés, les caractères excédentaires resteront dans le fichier. Autrement même les octets derrière l'occurrence seront écrasés (tant que la fin du fichier n'est pas atteinte). La taille du fichier n'est pas affectée.

Menu Recherche

Options Recherche

Considérations Techniques


Options d'Annulation

La disponibilité de la commande "Annuler" dépend des options suivantes.

• Spécifiez combien d'actions séquentielles doivent être renversées par la commande Annuler. Cette option n'affecte pas le nombre d'entrées réversibles au clavier, qui sont seulement limité par la RAM.

• De manière à gagner du temps et de la place sur votre disque dur, vous pouvez spécifier une limite de taille de fichier. Si un fichier est plus grand que cette limite, des sauvegardes ne seront pas créées et la commande Annuler ne sera valable que pour une entrée clavier.

• Si l'option correspondante est pleinement activée, les sauvegardes créées automatiquement pour l'usage interne avec la commande Annuler sont effacées par WinHex lors de la fermeture du fichier. Si l'option est partiellement activée, les sauvegardes sont effacées lors de l'arrêt de WinHex.

• Choisissez quelles sortes d'actions d'édition devront être réversibles ou pas. Au cas où elles doivent l'être, une sauvegarde interne est créée avant que l'action ne s'effectue.


Gestion de Signets

Le gestionnaire de signets maintient une liste de décalages de fichier et de disque et les descriptions correspondantes. Vous pouvez entrer de nouvelles positons et éditer ou effacer les entrées existantes. Si un décalage spécial dans un fichier vous est important parce que vous devez l'éditer plusieurs fois, vous pouvez l'entrer dans le gestionnaire de signets. Ceci fait qu'il est beaucoup plus facile à retrouver plus tard, et que vous n'aurez pas à vous en souvenir. Une description appropriée pourrait être "Le tronçon de données commence ici".

Cliquez le bouton droit de la souris de façon à afficher le menu contextuel. Le menu contextuel fournit des commandes additionnelles. Vous pouvez effacer, charger ou enregistrer des signets (enregistrer aussi en HTML). Si la liste de signets a été changée, elle est enregistrée dans le fichier WinHex.pos lors de l'édition de WinHex.

Comme la fenêtre de contrôle des signets peut être réduite, vous pouvez basculer entre les signets dans l'ordre choisi en appuyant sur CTRL+GAUCHE et CTRL+DROITE.

La documentation complète du format du fichier POS est disponible à partir de la page d'accueil de WinHex à http://www.winhex.com.


Gestion de Macros

Le gestionnaire de macros est une fenêtre de dialogue multifonctionnelle qui affiche les macros existantes. La liste peut être triée par numéro de macro, par titre de macro ou par les fichiers auxquels ces macros s'appliquent. Vous pouvez éditer, copier et effacer les macros existantes ou en créer de nouvelles.

Lors de l'effacement d'une macro, les numéros des macros suivantes sont décrémentés de 1. Les références à ces macros comme "macro suivante" sont actualisées.


Gestion de Sauvegardes

Affiche une liste des sauvegardes préalablement crées. Les éléments sont listés en ordre chronologique ou alphabétique. Sélectionnez suivant le cas le fichier ou le secteur que vous aimeriez restaurer. Lorsque la fonction est terminée les contenus originaux du fichier ou du secteur sont respectivement affichés. Le fichier ou le secteur n'est cependant pas écrit sur disque tant que vous n'utilisez pas la commande Enregistrer/Enregistrer sous ou Ecrire le secteur suivant le cas. Vous pouvez spécifier un nouveau lecteur-destination ou un nouveau numéro de secteur-destination. Vous pouvez aussi décider de restaurer les secteurs dans un nouveau fichier.

Si la sauvegarde a été enregistrée avec une somme de contrôle et/ou un hash, l'authenticité est vérifiée avant que le secteur ne soit directement écrit sur le disque.

Le gestionnaire de sauvegardes vous permet aussi d'effacer des sauvegardes dont vous n'avez plus besoin. Les sauvegardes créées pour un usage interne par la commande Annuler peuvent être effacées par WinHex automatiquement (cf. Options d'Annulation).

Les fichiers de sauvegarde qui sont maintenus par le gestionnaire de sauvegardes sont situés dans le dossier spécifié dans le dialogue des Options Générales. Leurs noms de fichier sont "Savedxxx.whx" où xxx est un unique nombre d'identification à trois chiffres. Ce nombre est affiché dans la dernière colonne de la liste du gestionnaire de sauvegardes.

La documentation complète du format du fichier WHX est disponible à partir de la page d'accueil de WinHex à http://www.winhex.com.


Interpréteur de Données

L'Interpréteur de données est une petite fenêtre qui fournit des "services de traduction" pour les données de la positon courante du curseur. Les options du dialogue vous permettent de cacher ou montrer l'Interpréteur de données et de spécifier le type de données qui doivent être considérées. Celles-ci sont couramment de sept types de données entières, le format binaire (les 8 bits d'un octet), quatre types de données flottantes, les codes opération en assembleur (Intel®), et les cinq types date.

L'Interpréteur de données est aussi capable de traduire tous les types de données (excepté les codes opération assembleur) en valeurs hexadécimales. Exécutez un double clic sur un nombre dans la fenêtre de l'Interpréteur de données, entrez une nouvelle valeur et appuyez sur ENTREE. L'interpréteur de données entrera les valeurs hexadécimales correspondantes dans la fenêtre d'édition à la position courante.

Quand vous cliquez sur l'interpréteur de données avec le bouton droit de la souris, WinHex affiche un menu contextuel, qui vous laisse commuter entre la traduction big-endian ou little-endian (voir "Terminaison Hexadécimale").

Conseils:

• Quelques valeurs hexadécimales ne peuvent pas être traduites en nombres flottants. Pour ces valeurs l'Interpréteur de données affiche NAN (Not A Number: pas un nombre).

• Quelques valeurs hexadécimales ne peuvent pas être traduites en dates valides. Les gammes de valeur de différents types de dates sont plus ou moins étroites.

• Il y a des redondances dans le jeu d'instructions Intel®, qui sont affichées dans l'Interpréteur de données comme une duplication soit en code opération hexadécimal soit en mnémoniques. Les instructions en nombres flottants sont généralement affichées comme F***.

• Des références plus détaillées peuvent être trouvées dans le livre "Intel® Architecture Software Developer’s Manual Volume 2: Instruction Set Reference", disponible au format PDF sur Internet.


Editeur de RAM

L'Editeur de RAM vous permet d'examiner la mémoire virtuelle d'un processus (c'est à dire un programme en cours d'exécution). Toutes les pages de mémoire utilisée par ce processus sont présentées en un bloc continu. Les pages inutilisées (libres ou réservées) sont ignorées par WinHex.

Sélectionnez un des processus listés. Vous pouvez accéder soit à la mémoire primaire soit à la totalité de la mémoire du processus ou à l'un des modules chargés par le processus. La mémoire primaire est utilisée pour pratiquement tous les usages. D'habitude elle contient aussi le module principal du processus (le fichier EXE). La "mémoire entière" contient la totalité de la mémoire virtuelle d'un processus exceptés les modules système. Sous Windows 95/98, les modules systèmes sont listés d'une manière optionnelle. Tous les modules qui sont chargés au-dessus de la barrière des 2 GO (tel que kernel32.dll, gdi32.dll) sont définis comme des modules système. Ils sont partagés entre tous les processus d'exécution.

Notez les limites suivantes:

• Attention: Seules les entrées clavier peuvent être annulées!

• La mémoire virtuelle des processus 16 bits est seulement partiellement accessible sous Windows 95/98.

• L'édition est seulement possible en mode d'édition directe.

• Les modules système de Windows 95/98 peuvent seulement être examinés en mode vue, mais non manipulés.

• La version non enregistrée ne permet pas manipuler la mémoire.

Les options relevant de l'éditeur de RAM sont "Intégrité de la mémoire virtuelle" et des "adresses virtuelles".


Menu Contextuel

Le système de commande de Windows affiche un menu contextuel quand l'utilisateur clique sur un objet avec le bouton droit de la souris. WinHex est présent dans le menu contextuel seulement si vous validez l'option correspondante (voir "Options Générales").

Editer avec WinHex: Ouvre le fichier sélectionné dans WinHex.

Ouvrir le dossier dans WinHex: Ouvre tous les fichiers du dossier sélectionné dans WinHex (voir la commande "Ouvrir Spécial" de menu Fichier).

Editer le disque avec WinHex: Ouvre le disque sélectionné dans l'Editeur de Disque de WinHex. Si vous maintenez la touche MAJ enfoncée, au lieu du lecteur logique sélectionné, c'est le disque physique correspondant qui est ouvert, s'il y en a un (cette dernière caractéristique n'est pas disponible sous Windows NT)

WinHex fournit ses propres menus contextuels sur la barre d'état, l'interpréteur de données et dans le gestionnaire de signets.


Hint
Vos codes d'enregistrement probablement étaient valides pour les versions précédentes de WinHex. Mais ils ne le sont plus avec cette version. Vous trouverez des détails sur les mises à jour à http://www.winhex.com/winhex/upgrade.html. Si vous avez payé WinHex 9.0 ou postérieur, la mise à jour est gratuite (dans ce cas veuillez m'envoyer un courrier à mail@sf-soft.com en précisant vos nom et adresse).


Clé
La Clé

La clé utilisée pour l'encryptage et le decryptage

doit contenir entre 1 et 16 caractères. Plus il y a

de caractères, plus l'encryption est sûre. Pour

une sécurité maximale la clé est hachée pour

produire la clé finale.

La clé n'est pas enregistrée sur le disque dur.

Elle est gardée en RAM en état chiffré (voir

Options de Sécurité).


Créer des Sauvegardes

La commande Créer une Sauvegarde dans le menu Fichier fournit une fenêtre de dialogue vous permettant de créer une sauvegarde (copie de sécurité) du fichier courant ou du disque courant. La sauvegarde est stockée comme fichier WHX.

Si vous créez une sauvegarde d'un disque ("drive imaging"), il faut spécifier les secteurs à sauvegarder. Si le secteur 0 est le secteur courant et que vous spécifiez plusieurs secteurs comme étant disponibles sur le disque, vous créez une sauvegarde du disque entier. WinHex est capable de créer des volumes de sauvegarde d'une taille que vous pouvez spécifier. Les volumes de 650 Mo conviennent pour l'archivage sur CD-R. Pour diminuer la taille d'une sauvegarde, il est recommandé d'initialiser l'espace libre sur le disque avant de créer la sauvegarde. Ceci parce que des secteurs qui ne consistent qu'en octets à zéro n'occupent pratiquement aucun espace dans la sauvegarde si la compression est activée.

Cloner ou créer une image

Si vous devez assigner à WinHex un nom de fichier pour le fichier WHX automatique, le fichier sera créé dans le dossier pour les sauvegardes (cf. Options Générales) et sera disponible dans le gestionnaire de sauvegarde. Si vous spécifiez explicitement un chemin et un nom de fichier, vous pouvez restaurer la sauvegarde en utilisant la commande "Charger une Sauvegarde".

Vous pouvez spécifier une description textuelle de la sauvegarde.

Le format WHX est capable de stocker une somme de contrôle (CRC32) et un hash des données originales. Et il fournit facultativement un cryptage et une compression. Les calculs de hachage et de cryptage ralentissent tous deux considérablement la création de la sauvegarde, aussi ces fonctions ne devraient être utilisées que lorsque des buts de sécurité sont requis. Lors de la restauration d'une sauvegarde avec un contrôle d'authenticité, vous pouvez être sûr que les données contenues dans la sauvegarde n'ont pas été altérées si WinHex n'affiche aucun avertissement.

L'algorithme de cryptage est le "Pukall Cipher 1" (PC 1), utilisant une clé à 128 bits qui est hachée à partir d'une concaténation à 256 bits d'un hash à 128 bits de la clé que vous avez entrée et d'une entrée aléatoire de 128 bits. L'entrée aléatoire est enregistrée dans le fichier WHX pour un futur décryptage.

WinHex utilise l'algorithme de compression "Deflate" de la librairie commune zlib. Cette algorithme consiste en compression LZ77 et codage Huffman. Le degré de compression est le même que celui de ZIP.

La documentation complète du format du fichier WHX est disponible à partir de la page d'accueil de WinHex à http://www.winhex.com.


Options de Sécurité

• Utilisez l'option Contrôle de volume restrictif pour être sûr que l'éditeur de disque bloque le disque avant d'y accéder, même si cela n'est pas vraiment nécessaire. Il peut en résulter une perte de vitesse.

• L'option Lecture de secteurs accélérée se réfère à l'éditeur de disque. Elle réduit le nombre d'accès physiques nécessaire considérablement. Particulièrement recommandée pour scroller les secteurs CD-ROM ou disquette.

• Si l'option Inspecter les clusters automatiquement est activée, WinHex parcourt les chaînes de clusters immédiatement quand un lecteur FAT16 ou FAT32 est ouvert si la carte du lecteur n'existe pas encore. En utilisant cette carte, WinHex est capable d'afficher l'allocation de chaque secteur et cluster (qu'il soit occupé par un fichier ou non). Lancer la commande "Inspecter les Clusters" (menu Outils) pour actualiser l'affichage en cas de besoin.

• Avec l'option Sauvegarder la carte du lecteur, les informations sur les chaînes de clusters des lecteurs FAT16 ou FAT32 persistent dans le dossier pour les fichiers temporaires quand WinHex est terminé. WinHex peut les réutiliser dans les sessions suivantes.

• Utilisez l'option Intégrité de la mémoire virtuelle pour être sûr que l'éditeur de RAM inspecte la structure de la mémoire virtuelle avant de la lire ou écrire. Si la structure a changé, une erreur possible de lecture est prévenue. Spécialement sous Windows NT la vérification peut entraîner une perte de vitesse. Lors de l'édition de la "mémoire entière" d'un processus, WinHex en règle générale ne vérifie jamais les altérations avant lecture, même si cette option est validée.

• Une somme de contrôle (checksum) peut être calculée pour chaque fichier lors de son ouverture. Elle est alors affichée dans la colonne information à droite. Des sommes de contrôle peuvent aussi être calculées par analyse du bloc courant (cf. Menu Outils).

• Avant que les modifications à un fichier existant ne soient enregistrées (c'est à dire avant que le fichier soit actualisé), vous êtes avisé pour confirmation. Pour inhiber ce mode de fonctionnement de WinHex, commutez l'option correspondante.

• Lors de restauration manuelle de sauvegardes, un journal (rapport) de restauration est affiché seulement dans le cas où la sauvegarde contient un hash (condensé) ou que la sauvegarde est corrompue. Facultativement vous pouvez faire afficher le rapport après chaque restauration et même le hash.

• La clé qui est requise pour le cryptage et le décryptage peut être entrée dans une boîte normale d'édition. Facultativement vous l'entrez d'une manière aveugle (des astérisques étant affichés à la place des caractères). Dans ce cas vous devez confirmer la clé dans une seconde boite d'édition pour détecter d'éventuelles erreurs de frappe.

• Par défaut, la clé est gardée en RAM (en état chiffré) aussi longtemps que WinHex fonctionne, ainsi vous n'avez pas à la retaper à chaque fois que vous l'utilisez. Il est possible que vous préfériez que WinHex efface la clé après chaque usage.


Terminaison Hexadécimale

Les microprocesseurs diffèrent par la position de l'octet le moins significatif: les processeurs Intel® et MIPS® ont l'octet le moins significatif en premier. Une valeur multi-octets est stockée en mémoire en partant de l'octet de poids faible (le moins significatif) vers l'octet de poids fort (le plus significatif). Par exemple, la valeur hexadécimale 12345678 est stockée 78 56 34 12. Ceci peut être appelé format "poids faible en tête" (little endian).

Les processeurs Motorola ont l'octet le moins significatif à la fin. Une valeur multi-octet est stockée en mémoire de l'octet de poids fort (le plus significatif) vers l'octet de poids le plus faible (le moins significatif). Par exemple la valeur hexadécimale 12345678 est stockée comme 12 34 56 78. Ceci peut être appelé format "poids fort en tête" (big endian).


Hachage à Sens Unique

Un hash (=condensé, digest), similaire à une somme de contrôle, est un nombre caractéristique utilisé pour la vérification de l'authenticité de données. Mais les haches sont beaucoup plus que cela: contrairement aux systèmes avec CRC le hachage à sens unique ne laisse passer aucune erreur.

A partir d'un ordinateur il est faisable de manipuler n'importe quelles données de telle sorte que sa somme de contrôle reste non affectée. Vérifier la somme de contrôle dans de tels cas pourrait laisser penser que les données n'ont pas été changées, alors qu'elles le sont. C'est alors que des hashes sont utilisés au lieu des sommes de contrôle dans le cas où des modifications malveillantes (c'est à dire nullement aléatoires) de données originales doivent être détectées. En utilisant un ordinateur il est impossible de trouver des données qui correspondent à un hash donné. Il est même infaisable de trouver deux ensembles de données qui correspondent à un même hash.

Bien sûr, des modifications aléatoires, telles que celles causées par une transmission imprécise, peuvent aussi être détectées en utilisant des hashes, mais dans ce cas les sommes de contrôle rendent un meilleur service, parce qu'elles peuvent être calculées plus rapidement.

WinHex utilise des hashes de 128 bits comme clés de cryptage (cf. "Conversions" et "Sauvegarde") et des hashes de 256 bits pour la vérification de l'authenticité des sauvegardes. L'algorithme de fonction de hachage à sens unique employé est PSC-HF ("Pukall Stream Cipher - Hash Function") avec une clé fixe de 128 bits (F6 C7 24 95 17 9F 3F 03 C6 DE F1 56 F8 2A 85 38).

WinHex also incorporates the 128-bit MD5 message digest.


Types Dates

Les formats date suivants sont supportés par l'Interpréteur de données:

MS-DOS Date & Heure (4 octets)

Le mot le plus bas détermine l'heure et le mot le plus haut la date. Utilisé par plusieurs appels à des fonctions DOS, par la FAT (Table d'allocation de fichiers) et par beaucoup d'utilitaires système tels que les utilitaires d'archivage de fichiers.

Bits	Signification

0-4	Secondes divisées par 2

5-10	Minutes (0-59)

11-15	Heures (0-23 sur une horloge 24 heures)

16-20	Jour du mois (1-31)

21-24	Mois (1 = Janvier, 2 = Février, etc.)

25-31	Décalage d'années depuis 1980

Win32 FILETIME (8 octets)

La structure FILETIME est une valeur entière de 64 bits représentant le nombre d'intervalles de 100 nanosecondes depuis le 01 janvier 1601. Est utilisé par Win32 API.

OLE 2.0 Date & Heure (8 octets)

Une valeur flottante (plus exactement: un double), qui détermine pour la partie entière le nombre de jours passés depuis le 30 Décembre 1899. La partie fractionnaire est interprétée comme l'heure du jour (Par exemple: 1/4 = 6:00 du matin). C'est le type standard de date OLE 2.0, il est utilisé par exemple par MS Excel.

ANSI SQL Date & Heure (8 octets)

Deux valeurs entières consécutives de 32 bits. La première détermine le nombre de jours depuis le 17 Novembre 1858. La seconde est le nombre d'intervalles de 100 microsecondes depuis minuit. C'est le type SQL ANSI, utilisé par de nombreuses bases de données (ex. InterBase 6.0).

UNIX/C Date & Heure (4 octets)

Une valeur entière de 32 bits détermine le nombre de secondes depuis le 01 janvier 1970. Ce type de données était utilisé par UNIX, par C et C++ ("time_t"), et par les programmes FORTRAN dès les années 80. Sporadiquement utilisé comme définissant le nombre de minutes écoulés depuis le 01 Janvier 1970. Les options de l'interpréteur de données vous permettent de commuter entre ces différents sous-types.


Secteur du Boot Maître

Le secteur du boot maître est situé au début physique du disque dur, éditable en utilisant l'éditeur de disque. Il consiste en un maître boostrap chargeur de code (446 octets) et de quatre enregistrements consécutifs de partition identiquement structurés. Finalement, la signature hexadécimale 55AA termine un Secteur Boot Maître valide.

Le format d'une partition enregistrée est comme suit:

Offset	Size	Description

0	8 bit	A value of 80 designates an active partition.

1	8 bit	Partition start head

2	8 bit	Partition start sector (bits 0-5)

3	8 bit	Partition start track (bits 8,9 in bits 6,7 of sector)

4	8 bit	Operating system indicator

5	8 bit	Partition end head

6	8 bit	Partition end sector (bits 0-5)

7	8 bit	Partition end track (bits 8,9 in bits 6,7 of sector)

8	32 bit	Sectors preceding partition

C	32 bit	Length of partition in sectors

Operating system indicators: (hexadecimal)

00	Empty partition-table entry

01	DOS 12-bit FAT

04	DOS 16-bit FAT (up to 32M)

05	DOS 3.3+ extended partition

06	DOS 3.31+ Large File System (16-bit FAT, over 32M)

07	OS/2 HPFS, Windows NT NTFS, Advanced Unix

08	OS/2 v1.0-1.3, AIX bootable partition, SplitDrive

09	AIX data partition

0A	OS/2 Boot Manager

0B	Windows 95 with 32-bit FAT

0C	Windows 95 with 32-bit FAT (using LBA-mode INT 13 extensions)

0E	Logical-block-addressable VFAT (same as 06 but using LBA-mode INT 13)

0F	Logical-block-addressable VFAT (same as 05 but using LBA-mode INT 13)

17	Hidden NTFS partition

1B	Hidden Windows 95 FAT32 partition

1C	Hidden Windows 95 FAT32 partition (using LBA-mode INT 13 extensions)

1E	Hidden LBA VFAT partition

50	OnTrack Disk Manager, read-only partition

51	OnTrack Disk Manager, read/write partition

81	Linux

82	Linux Swap partition, Solaris (Unix)

83	Linux native file system (ext2fs/xiafs)

85	Linux EXT

86	FAT 16 volume/stripe set (Windows NT)

87	HPFS fault-tolerant mirrored partition, NTFS volume/stripe set

BE	Solaris boot partition

C0	DR-DOS/Novell DOS secured partition

C6	Corrupted FAT 16 volume/stripe set (Windows NT)

C7	Corrupted NTFS volume/stripe set

F2	DOS 3.3+ secondary partition


Remplir
Remplir Bloc/Fichier/Secteurs Disque

Remplir avec des valeurs hexadécimales: Spécifiez jusqu'à 5 valeurs hexadécimales à deux caractères, qui seront respectivement copiéées les unes à la suite des autres dans le bloc courant, le fichier entier ou dans tous les secteurs du disque.

Remplir avec des octets aléatoires: Spécifiez un intervalle décimal (0 à 255 max.) pour des nombres aléatoires, qui seront respectivement copiés les uns à la suite des autres dans le bloc courant, le fichier entier ou dans tous les secteurs du disque.

Générer des nombres chaotiques: Génère une série de nombres chaotiques à partir d'une fraction initiale (aléatoire) en utilisant un algorithme Mixmaster. Les nombres seront respectivement copiés dans le bloc courant, le fichier entier ou dans tous les secteurs du disque. La fraction initiale, que vous devez définir vous-même, doit être de la forme "x,y", où x est <256 et y consiste en au moins un chiffre.

Au cas où dans tous les fichiers ouverts soit un bloc soit aucun bloc n'est défini, cette commande peut facultativement être appliquée à tous ces fichiers.


Q&R Editeur de Disque

Comment accéder aux secteurs CD-ROM et DVD sous Windows 9x?

Assurez-vous que les conditions suivantes sont réunies:

1. Un pilote Windows doit être installé pour le lecteur CD-ROM/DVD. Un pilote MS-DOS ne suffit pas.

2. L'interface ASPI doit être installée. Vous devrez peut-être copier le fichier wnaspi32.dll manuellement dans votre dossier Windows\System. Ce fichier se trouve sur le CD d'installation de Windows. Le programme shareware WinZip (disponible à http://www.winzip.com) est recommandé pour l'extraction d'archives CAB.

3. Le lecteur CD-ROM/DVD doit accepter la manière dont WinHex tente de lire les secteurs. La plupart des lecteurs ATAPI et SCSI modernes conviennent.

Comment faire détecter par WinHex un Disque Flash ATA Carte PC / Lecteur PCMCIA installé en tant que disque physique sous Windows 9x?

Panneau de configuration Windows -> Système -> Gestionnaire de périphériques -> Sélectionner le périphérique PCMCIA -> Cliquer sur "Propriétés" -> Chercher une option semblable à "Int 13h device". La manière de trouver cette case à cocher varie selon les versions de Windows. Si possible, activez cette option and redémarrez votre ordinateur.


Editer avec des Formulaires

Un formulaire ("template") est une boîte de dialogue qui fournit les moyens d'éditer des structures de données définies par l'utilisateur d'une manière plus sûre et plus comfortable que l'édition de données hexadécimales brutes. L'édition est faite dans des boîtes d'édition distinctes. Les modifications prennent effet quand vous appuyez sur la touche ENTREE ou quand vous quittez le formulaire après confirmation. Les données peuvent provenir d'un fichier, de secteurs de disque, ou de la mémoire virtuelle. Quand vous éditez des bases de données en particulier, il peut être préférable de définir un formulaire sur-mesure pour un accès plus facile aux enregistrements.

Les définitions de formulaires sont stockées sous format texte. L'Editeur de formulaires vous permet d'écrire des définitions de formulaires et en vérifie la syntaxe. Une définition de formulaire contient principalement des déclarations de variables, semblables à celles du code source des langages de programmation. La syntaxe est détaillée ici. Les types de données supportés comprennent toutes les variables habituelles: entières, en virgule flottante et booléenne, cinq types de dates, et les types hexadécimal, binaire, caractère et chaîne. On peut utiliser des tableaux de variables uniques ou de groupes de variables.

La possibilité de se déplacer librement  dans les données vers l'avant ou l'arrière rend l'emploi des formulaires particulièrement flexible:

• Une même variable peut être interprétée et manipulée de différentes façons.

• Les blocs de données non concernés peuvent être ignorés.

Le gestionnaire de formulaires liste tous les fichiers texte du répertoire de WinHex contenant des définitions de formulaires. Le titre du formulaire, sa description, le nom du fichier et la date et l'heure de la dernière modification sont affichés. Cliquez sur le bouton Appliquer pour afficher un formulaire en utilisant la définition de formulaire choisie pour les données de la fenêtre d'édition en cours à la position courante. Vous pouvez également créer une nouvelle définition de formulaire, et supprimer ou éditer un formulaire existant.

WinHex est livré avec plusieurs exemples de formulaires.


Définition d'un Formulaire

Une définition d'un formulaire consist en l'en-tête et le corps.

L'en-tête

Corps: déclaration de variables

Corps: commandes avancées


Définition de Formulaire: l'En-tête

L'en-tête d'une définition de formulaire a le format suivant:

template "titre"

[description "description"]

[appliesto (file/disk/RAM)]

[sector-aligned]

[requires offset "valeurs hexa"]

[big-endian]

[hexadecimal]

[read-only]

[multiple [taille globale fixe]]

// Ajouter ici les commentaires généraux sur le formulaire.

begin

déclarations des variables

end

Les marqueurs ("tags") entre crochets sont optionnels. L'ordre des marqueurs est indifférent. Les expressions ne doivent être mises entre guillemets que si elles contiennent des espaces. Les commentaires peuvent figurer n'importe où dans la définition du formulaire. Les caractères suivant une double barre oblique sont ignorés par l'interpréteur.

Le mot-clé appliesto doit être suivi de l'un des mots (et un seul) : file, disk, ou RAM. WinHex lance un avertissement si vous tentez d'utiliser un formulaire sur des données provenant d'une source différente.

Si le formulaire s'applique à un disque, le mot-clé sector-aligned fait en sorte que l'interprétation du formulaire commence au début du secteur courant, quelle que soit la position du curseur.

Comme le mot-clé appliesto, le mot-clé requires permet à WinHex d'empêcher l'application erronée d'une définition de formulaire à des données qui ne lui correspondent pas. Spécifiez un décalage et une chaîne de valeurs hexadécimales de longueur arbitraire identifiant les données auxquelles doit s'appliquer la définition de formulaire. Par exemple, un enregistrement valide de  boot maître se reconnaît aux valeurs 55AA à l'offset 0x1FE, un exécutable aux valeurs 4D 5A ("MZ") à l'offset 0x0. Des mots-clé appliesto multiples peuvent coexister dans un en-tête de définition et seront tous pris en compte.

Le mot-clé big-endian a pour effet de faire lire et écrire toutes les variables entières multi-octets et booléennes de la définition en ordre big-endian (octet de poids fort en tête).

Le mot-clé hexadecimal affiche toutes les variables entières de la définition en notation hexadécimale.

Le mot-clé read-only fait que la définition ne peut être utilisée que pour examiner, mais non manipuler, les structures de données. Les contrôles d'édition du formulaire seront affichés en grisé.

Si le mot-clé multiple est spécifié dans l'en-tête, WinHex permet d'aller dans les enregistrements voisins tout en affichant le formulaire. Ceci nécessite que WinHex connaisse la taille de l'enregistrement. Si elle n'est pas spécifiée comme paramètre du mot-clé multiple, WinHex suppose que la taille totale d'une structure de formulaire (= enregistrement) est la position courante à la fin de l'interprétation du formulaire moins la position d'édition de base. Si celle-ci est d'une taille variable, c'est-à-dire que la taille de tableaux ou de paramètres move est déterminée dynamiquement par la valeur des variables, WinHex ne peut pas se déplacer vers les enregistrements de données précédents.


Déclarations de Variables

Le corps d'une définition de formulaire consiste principalement en déclarations de variables, similaires à celles des langages de programmation. Une déclaration a la forme de base:

type "titre"

où type peut être:

• int8, uint8 = byte, int16, uint16, int32, uint32, int64,

• binary,

• float = single, real, double, longdouble = extended,

• char, char16, string, string16,

• boole8 = boolean, boole16, boole32

• hex,

• DOSDateTime, FileTime, OLEDateTime, SQLDateTime, UNIXDateTime = time_t

titre ne doit être placé entre guillemets que s'il contient des caractères espace. titre ne peut pas ne comprendre que des chiffres. WinHex ne fait pas la distinction entre majuscules et minuscules dans les titres. 41 caractères au plus peuvent être utilisés pour identifier une variable.

titre peut être précédé d'au plus un membre de chacune des paires de modificateurs suivantes:

big-endian	little-endian	(voir terminaison hexadécimale)

hexadecimal	decimal

read-only	read-write

Ces modificateurs n'affectent que la variable qui les suit immédiatement. Ils sont redondants s'ils apparaîssent déjà dans l'en-tête.

Le nombre qui suit un nom de type indique la taille de chaque variable (chaînes: de chaque caractère) en bits. Avec char16 et string16, WinHex reconnaît les caractères et chaînes Unicode. Cependant les caractères Unicode autres que les 256 premiers caractères équivalents-ANSI ne sont pas reconnus. La taille maximum d'une chaîne qui peut être éditée par formulaire est de 8192 octets.

Les types string, string16, et hex exigent un paramètre supplémentaire spécifiant le nombre d'éléments. Ce paramètre peut être une constante ou une variable déjà déclarée. Une constante peut être spécifiée en notation hexadécimale: celle-ci est reconnue si le nombre est précédé de 0x.

On peut déclarer des tableaux de variables en plaçant la taille du tableau entre crochets près du type ou du titre. Les deux lignes qui suivent déclarent une chaîne ASCII de taille dynamique, dont la longueur dépend de la variable précédente:

uint8	"len"

char[len] 	"Ma chaine"

On obtiendrait le même résultat avec:

byte       "len"

string len "Ma chaine"

Le caractère "~" peut être employé comme substitut pour remplacement ultérieur par le nombre véritable d'éléments du tableau (cf. Commandes Avancées). Ceci ne s'applique pas aux tableaux de char, ceux-ci étant automatiquement traduits en chaînes.

Veuillez noter que dans la version actuelle les formulaires ne peuvent pas "calculer": aussi  ne devez vous pas employer d'opérateurs tels que "+" et "*" dans les paramètres ou les expressions de taille de tableaux.


Commandes Avancées

Plusieurs déclarations de variables mises entre accolades forment un bloc qu'on peut réutiliser comme un tout. Notez cependant que les blocs ne peuvent pas être imbriqués dans cette version. On peut utiliser le caractère ~ dans un nom de variable comme substitut pour remplacement ultérieur par le compteur réel. Le mot optionnel numbering spécifie la valeur d'où part le compte (0 par défaut).

numbering  1

{

byte       "len"

string len "Chaine No. ~"

}[10]

Dans cet exemple les noms de variables réels du formulaire seront "Chaine No. 1", "Chaine No. 2", ..., "Chaine No. 10".

Pour faciliter la lecture et les déplacements dans le formulaire, vous pouvez définir des groupes de variables séparés par des espaces dans la boîte de dialogue:

section "...Titre de section..."

...

endsection

Les mots section, endsection, et numbering ne font pas avancer la position courante du curseur dans les données à interpréter.

Il existe deux commandes qui elles non plus ne déclarent pas de variables, mais sont explicitement utilisées pour modifier la position courante du curseur. Ceci peut servir à passer au-dessus de données non concernées (en avant) ou à pouvoir accéder à certaines variables plus d'une fois comme types différents (en arrière). Utilisez le mot move n pour sauter n octets depuis la position courante, n pouvant être négatif. goto n se rend à la position absolue (depuis le début du formulaire interprété) spécifiée (n doit être positif).

L'exemple suivant montre comment accéder à une variable à la fois comme entier 32-bit et chaîne à 4 éléments de valeur hexadécimale:

int32      "Numéro de série disque (décimal)"

move -4

hex 4      "Numéro de série disque (hex)"


Clonage de Disque

La commande "Cloner Disque" fait partie du menu Outils. Cette fonction copie un nombre déterminé de secteurs d'un disque source vers un disque-cible. Les deux disques doivent avoir la même taille de secteur. Pour effectuer une véritable duplication d'un lecteur (c'est-à-dire pour copier tous les secteurs), activez l'option correspondante, pour que le nombre correct de secteurs soit déterminé automatiquement. Le disque-cible ne doit pas être plus petit que le disque source.

Cloner Disque offre des options qui contrôlent son comportement lorsque des secteurs défectueux sont trouvés sur le disque source:

• par défaut, vous serez averti de l'erreur et pourrez choisir de poursuivre l'opération ou d'y mettre fin. "Rapport silencieux" crée un journal complet de toute l'opération, y compris un rapport sur les secteurs non lisibles, et empêche WinHex de faire un rapport séparé pour chaque secteur défectueux. Ceci peut s'avérer utile, par exemple pour les expertises légales.

• WinHex peut soit laisser intact le secteur-destination correspondant à un secteur source endommagé, soit le remplir d'octets à zéro.

Le clonage de disque standard n'est pas possible si vous voulez cloner un disque de lecteur amovible (par exemple une disquette) avec seulement un lecteur amovible présent. Le concept qui convient pour cet usage est celui de disk imaging (on pourrait aussi l'appeler "clonage de disque différé"). L'image peut être recréée sur un autre disque, avec le même résultat que celui du clonage.

Il existe deux façons de créer une image d'un disque:

• Si votre priorité est la facilité d'emploi, utilisez les fonctions de sauvegarde. Pour en faciliter la relecture, une sauvegarde contient des informations sur son contenu: nombre de secteurs, disque source etc.

• Le dialogue Clonage de disque permet de copier des secteurs depuis un disque sous forme brute, comme fichier image sans en-tête, et plus tard en sens inverse. Combinée au mode "rapport silencieux", cette méthode est préférable à la création d'une copie de sécurité en cas de secteurs endommagés sur le disque source.

Conseils


Cloner ou Créer une Image
Cloner ou créer une image du lecteur qui contient l'installation active de

Windows peut donner des résultats incohérents. Dans tous les cas

assurez-vous qu'aucun autre programme, ni Windows, n'écrit sur le lecteur

pendant la procédure de clonage. Il est recommandé de déplacer le dossier

TEMP vers un autre lecteur. Le fichier d'échange (swap) doit également être

créé sur un autre lecteur. Alternativement, vous pouvez aussi désactiver

complètement le swapping dans le panneau de configuration.