Commande, Prix:
  En ligne
 
  Mises à jour
 
Produits
 
X-Ways Forensics X-Ways Forensics
Expertises informatiques
 
Find out more about X-Ways Investigator X-Ways Investigator
Investigator version of X-Ways Forensics
 
Pour en savoir plus sur WinHex WinHex
  Types de licence
  Mise à jour
  Fonctions forensiques
  Applications diverses
 
Pour en savoir plus sur X-Ways Imager X-Ways Imager
Disk imaging
 
Pour en savoir plus sur X-Ways Capture X-Ways Capture
Seize media
 
Pour en savoir plus sur X-Ways Trace X-Ways Trace
Utilisation de PC
 
Pour en savoir plus sur Davory Davory
Récupération
 
Pour en savoir plus sur X-Ways Security X-Ways Security
Effacement sécurisé
 
Services
 
Formation
 

 
Contacter X-Ways Contact
Forum
 
Plus sur X-Ways Plus sur X-Ways
Find us on Facebook Find us on Facebook
  X-Ways Software Technology AG
English
Deutsch
 
 

Scripts WinHex


Please see the program help or the manual for the latest update of this documentation.

La plupart des fonctions de WinHex peuvent être automatisées, par exemple pour accélérer des tâches répétitives ou exécuter certaines tâches sur des ordinateurs distants et sans supervision. La possibilité d'exécuter des scripts autres que les exemples fournis est limitée aux seuls possesseurs de la license professionnelle ou spécialiste. Les scripts peuvent être lancés depuis le démarrage rapide centralisé ou la ligne de commande. Vous pouvez interrompre un script en cours d'exécution en appuyant sur la touche Echap. Par leurs possibilités supérieures, les scripts remplacent les routines, seules méthodes d'automatisation dans les versions antérieures de WinHex.

Les scripts WinHex sont des fichiers texte avec l'extension ".whs". Ils peuvent être édités par n'importe quel éditeur de texte et consistent en une simple suite de commandes. Il est recommandé d'entrer une commande par ligne, simplement par clarté visuelle. Selon la commande, il peut être nécessaire de lui ajouter des paramètres. La plupart des commandes agissent sur le fichier ou le disque affiché dans la fenêtre active courante.

Voir également: WinHex API

Les commandes de scripts sont insensibles à la casse. Les commentaires peuvent apparaître n'importe où dans le script et doivent être précédés de deux barres obliques. Les paramètres ont une longueur maximum de 255 caractères. Where in doubt because hex values, text strings (or even integer numbers) are accepted as parameters, you may use inverted commas (quotation marks) to enforce the interpretation of a parameter as text. Inverted commas are required if a text string or variable name contains one or more space characters, so that all characters between the inverted commas are recognized as constituting one parameter.

Voici une description des commandes de script actuellement reconnues, avec des exemples de paramètres.

Create "D:\My File.txt" 1000
Créé le fichier avec une taille initiale de 1000 octets. Si le fichier existe déjà, il est écrasé.

Open "D:\My File.txt"
Open "D:\*.txt"

Ouvre le ou les fichiers specifies.

Open C:
Open D:

Ouvre le lecteur logique spécifié

Open 80h
Open 81h
Open 9Eh

Ouvre le média physique spécifié. Floppy disk numbering starts with 00h, fixed and removable drive numbering with 80h, optical media numbering with 9Eh.

Optionally, you may pass a second parameter with the Open command that defines the edit mode in which to open the file or media ("in-place" or "read-only").

CreateBackup
Créé une sauvegarde du fichier actif dans son état courant.

CreateBackupEx 0 100000 650 true "F:\My backup.whx"
Creates a backup of the active disk, from sector 0 through sector 1,000,000. The backup file will be split automatically at a size of 650 MB. Compression is enabled ("true"). The output file is specified as the last parameter.
If the backup file should not be split, specify 0 as the third parameter. To disable compression, specify "false". To have the Backup Manager automatically assign a filename and place the file in the folder for backup files, specify "" as the last parameter.

Goto 0x128
Goto MyVariable

Déplace la position hexadécimale du curseur au décalage 0x128. Une variable existante (jusqu'à 8 octets) peut aussi être interprétée comme une valeur numérique.

Move -100
Déplace en arrière la position courante du curseur de 100 octets (en decimal).

Write "Test"
Write 0x0D0A
Write MyVariable

Ecrit les quatre caractères ascii "Test" ou les valeurs hexa "0D0A" depuis la position courante (en mode écrasement) et déplace la position courante vers l'avant en conséquence (dans cet exemple: de 4 octets). Permet aussi d'écrire le contenu d'une variable précisée comme paramètre.

Insert "Test"
Functions just as the "Write" command, but in insert mode. Must only be used with files.

Read MyVariable 10
Lit les 10 octets depuis la position courante dans une variable nommée "MyVariable". Si la variable n'existe pas, elle est créée. Up to 16 different variables allowed. Un autre moyen de créeer une variable est la commande "Assign".

ReadLn MyVariable
Reads from the current position into a variable named "MyVariable" until the next line break is encountered. If the variable already exists, its size will be adjusted accordingly.

Close
Ferme la fenêtre active sans enregistrer.

CloseAll
Ferme toutes les fenêtres sans enregistrer.

Save
Enregistre les modifications du fichier ou du disque dans la fenêtre active.

SaveAs "C:\New Name.txt"
Enregistre le fichier de la fenêtre active dans le chemin d'accès spécifié. Specify "?" as the parameter to let the user specify the destination.

SaveAll
Enregistre les modifications de toutes les fenêtres.

Exit
Termine l'exécution d'un script et ferme WinHex.

ExitIfNoFilesOpen
Arrête l'exécution d'un script si aucun fichier n'est déjà ouvert dans WinHex.

Block 100 200
Block "My Variable 1" "My Variable 2"
Définit un bloc dans la fenêtre active pour exécuter de l'offset 100 à l'offset 200 (en décimal). Alternatively, existing variables (each up to 8 bytes large) can be interpreted as numeric values.

Block1 0x100
Définit le bloc debutant à l'offset hexadecimal 0x100. Une variable est aussi autorisée comme paramètre.

Block2 0x200
Définit la fin du bloc à l'offset hexadecimal 0x200. Une variable est aussi autorisée comme paramètre.

Copy
Copie le bloc courant dans le presse-papiers. Si aucun bloc n'est spécifié, la commande agit depuis la commande "Copier" dans le menu d'édition.

Cut
Coupe le bloc courant pré-défini du fichier et le met dans le presse-papiers.

Remove
Enlève le bloc pré-défini depuis le fichier

CopyIntoNewFile "D:\New File.dat"
CopyIntoNewFile "D:\File +MyVariable+.dat"

Copie le bloc courant pré-défini dans le nouveau fichier spécifié, sans utiliser le presse-papiers. Si aucun bloc n'est défini, la commande agit comme depuis la commande "Copy" du menu d'édition. Peut aussi copier des secteurs disques. Le nouveau fichier ne sera pas automatiquement ouvert dans une nouvelle fenêtre. Autorise un nombre illimité de "+" concaténés dans le paramètre. Un nom de variable sera interprété come un entier s'il n'est pas supérieur à 2^24 (env. 16Mo). Ceci est utile pour les boucles et la récupération de fichiers.

Paste
Colle le contenu courant du presse-papiers à la position courante d'un fichier, sans en changer sa position courante.

WriteClipboard
Ecrit le contenu courant du presse-papiers à la position courante d'un fichier ou de secteurs disques, sans changer sa position courante, en écrasant les données de la position courante.

Convert Param1 Param2
Converti les données du fichier actif d'un format à un autre. Les paramètres valides sont ANSI, IBM, EBCDIC, Binaire, HexASCII, IntelHex, et Motorola, en combinaisons depuis la commande "Convert" du menu Edition.

Encrypt "My Password"
Encrypte le fichier ou le disque actif, ou le bloc sélectionné, avec la clé spécifiée (jusqu'à une longueur de 16 caractères) en utilisant l'algorithme PCl (128 bits).

Decrypt "My Password"
Décode le fichier ou disque actif.

Find "John" [MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode Wildcards]
Find 0x1234 [Down Up BlockOnly SaveAllPos Wildcards]

Recherche dans la fenêtre active le nom John ou les valeurs hexadécimales 0x1234, et s'arrête à la première occurrence. D'autres paramètres sont optionnels. By default, WinHex searches the entire file/disk. Les paramètres optionnels fonctionnent comme dans les options "recherche" de WinHex.

ReplaceAll "Jon" "Don" [MatchCase MatchWord Down Up BlockOnly Unicode Wildcards]
ReplaceAll 0x0A 0x0D0A [Down Up BlockOnly Wildcards]

Remplace toutes occurrences of either a string or hexadecimal values in the active file with something else. Can only be applied to a disk if in in-place mode.

IfFound
Une valeur booléenne dépend ou non de la dernière commande "Find" ou "ReplaceAll", réussie. Place les commandes devant être exécutées si quelque chose a été trouvé après la commande "IfFound"

IfEqual MyVariable "constant string"
IfEqual 0x12345678 MyVariable
IfEqual MyVariable MyOtherVariable

Compare deux variables, chaînes ASCII, ou valeurs hexadécimales à un niveau binaire. Comparer deux occurrences de taille différentes génère toujours la valeur "false". Si identique, les commandes suivantes sont exécutées.

IfGreater 0x12345678 MyVariable
IfGreater MyVariable MyOtherVariable

Compares two variables and interprets them as integer values (64-bit signed). Such an integer comparison is not appropriate for comparing strings of different lengths alphabetically. If the first one is greater than the second one, the following commands will be executed.

Else
Peut se produire après "IfFound" ou "IfEqual". Les commandes après la commande "Else" seront exécutées si rien n'a été trouvé ou si les objets comparées sont inégales.

EndIf
Arrête l'exécution conditionnelle de commandes (après IfFound ou IfEqual).

ExitLoop
Sort d'une boucle. Une boucle est definie entre accollades: {}. La fermeture peut être suivi d'un entier entre crochets [], ce qui détermine le nombre de boucles à exécuter. L'expression entre crochets peut aussi être une variable ou le mot "unlimited" (dans ce cas la boucle ne peut être interrompue que par la commande "ExitLoop"). Les boucles ne doivent être imbriquées.

Exemple de boucle:
{ Write "Loop" }[10] écrira le mot "Loop" 10 fois.

Label ContinueHere
Creates a label named "ContinueHere"

JumpTo ContinueHere
Continues script execution with the command following that label.

NextObj
Bascule cyclique à la fenêtre ouverte suivante et l'active. Ex: Si 3 fenêtres sont ouvertes, et la fenêtre 3 active, "NextObj" rendra la fenêtre 1 active.

ForAllObjDo
Les commandes de script du bloc suivant (jusqu'à la commande "EndDo" soit rencontrée) sera appliquée à tous les fichiers et disques ouverts.

CopyFile C:\A.dat D:\B.dat
Copie le contenu de c:\A.dat dans le fichier D:\B.dat.

MoveFile C:\A.dat D:\B.dat
Déplace le fichier C:\A.dat vers D:\B.dat.

DeleteFile C:\A.dat
Surprisingly, deletes C:\A.dat.

InitFreeSpace
InitSlackSpace

Clears free space or slack on the current logical drive, respectively, using the currently set initialization settings. InitSlackSpace switches the drive temporarily to in-place mode, thus saving all pending changes.

Assign MyVariable 12345
Assign MyVariable 0x0D0A
Assign MyVariable "J'aime WinHex"
Assign MyVariable MyOtherVariable

Assigne l'entier spécifié ou le contenu d'une variable (ou des données binaire ou de texte ASCII) dans une variable nommée "MyVariable". Si cette variable n'existe pas, elle est créée. Jusqu'à 16 différentes variables sont autorisées. Une variable peut aussi être créée par la commande "Read".

Inc MyVariable
Gère la variable comme un entier (si sa taille ne dépasse pas 8 octets) et l'incrémente de 1. Utile pour les boucles.

Dec MyVariable
Gère la variable comme un entier (si sa taille ne dépasse pas 8 octets) et la décrémente de 1.

MessageBox "Caution"
Affiche un message "Caution" et offer à l'utilisateur le choix OK ou annuler. Pressing the Cancel button will abort script execution.

ExecuteScript "ScriptName"
Exécute un script depuis un autre script, depuis la position courante, p. e. dependant de l'état conditionnel. Calls to other scripts may be nested. When the called script is finished, execution of the original script will be resumed with the next command. This feature can help you structure your scripts more clearly.

Turbo On
Turbo Off

In turbo mode, most screen elements are not updated during script execution and you are not able to abort (e.g. by pressing Esc). This accelerates the script by up to 75% if a lot of simple commands such as Move and NextObj are executed in a loop.

Debug
Chacune de toutes les commandes suivantes doivent être confirmées par l'utilisateur.

UseLogFile
Les messages d'erreurs sont écrites dans le fichier log "Scripting.log" dans le dossier destine aux fichiers temporaries. These messages are not shown in a message box that requires user interaction. Useful especially when running scripts on unattended remote computers.

CurrentPos
GetSize
unlimited

Sont des mots-clés qui agissent comme subsitut pour remplacement ultérieur et peuvent être utilisés où des paramètres numériques sont requis. Un script en cours d'exécution "CurrentPos" correspond pour l'offset dans le fichier actif ou la fenêtre disque, "GetSize" pour la taille en octets. "unlimited " actually stands for the number 2,147,483,647.