Skip to main content

Comment créer un fichier hexadécimal d'un fichier ou d'une chaîne de texte

Konica Minolta: How to Update IP Address (C220/283 Series) (Mai 2024)

Konica Minolta: How to Update IP Address (C220/283 Series) (Mai 2024)
Anonim

introduction

Un vidage hexadécimal est une vue hexadécimale de données. Vous souhaiterez peut-être utiliser des valeurs hexadécimales lors du débogage d'un programme ou du reverse engineering d'un programme.

Par exemple, de nombreux formats de fichiers ont des caractères hex spécifiques pour indiquer leur type. Si vous essayez de lire un fichier avec un programme et que, pour une raison quelconque, le chargement du fichier n’est pas correct, il se peut que le fichier ne soit pas au format souhaité.

Si vous voulez voir comment un programme fonctionne et que vous ne disposez pas du code source ou du logiciel qui procède au reverse engineering du code, vous pouvez consulter le vidage hexadécimal pour essayer de comprendre ce qui se passe.

Qu'est-ce que l'hexadécimal?

Les ordinateurs pensent en binaire. Chaque caractère, nombre et symbole est référencé par un ou plusieurs valeurs binaires.

Les êtres humains, cependant, ont tendance à penser en décimal.

MilliersDes centainesDizainesUnités
1011

En tant qu'êtres humains, nos nombres les plus bas sont appelés unités et représentent les nombres de 0 à 9. Lorsque nous atteignons 10, nous réinitialisons la colonne des unités à 0 et ajoutons 1 à la colonne des dizaines (10).

1286432168421
10010001

En binaire, le nombre le plus bas ne représente que 0 et 1. Lorsque nous dépassons 1, nous mettons un 1 dans la colonne 2 et un 0 dans la colonne 1. Lorsque vous voulez représenter 4, mettez un 1 dans la colonne 4 et réinitialisez les colonnes 2 et 1.

Par conséquent, pour représenter 15, vous avez 1111 qui représente 1 huit, 1 quatre, 1 deux et un. (8 + 4 + 2 + 1 = 15).

Si nous visualisions un fichier de données au format binaire, il serait absolument énorme et pratiquement impossible de comprendre.

La prochaine étape à partir du binaire est octal, qui utilise 8 comme numéro de base.

241681
0110

Dans un système octal, la première colonne va de 0 à 7, la deuxième colonne est composée de 8 à 15, la troisième colonne de 16 à 23 et la quatrième colonne de 24 à 31 et ainsi de suite. Bien que généralement plus facile à lire que binaire, la plupart des gens préfèrent utiliser hexadécimal.

Hexadécimal utilise 16 comme numéro de base. Maintenant, c’est là que cela devient confus, car en tant qu’êtres humains, nous pensons que les nombres vont de 0 à 9.

Alors, qu'est-ce qui est utilisé pour 10, 11, 12, 13, 14, 15? La réponse est des lettres.

  • 0 = 0
  • 1 = 1
  • 2 = 2
  • 3 = 3
  • 4 = 4
  • 5 = 5
  • 6 = 6
  • 7 = 7
  • 8 = 8
  • 9 = 9
  • 10 = A
  • 11 = B
  • 12 = C
  • 13 = D
  • 14 = E
  • 15 = F

La valeur 100 est donc représentée par 64. Vous aurez besoin de 6 de la colonne 16 qui renvoie 96, puis de 4 dans la colonne des unités, ce qui donne 100.

Tous les caractères d'un fichier seront désignés par une valeur hexadécimale. La signification de ces valeurs dépend du format du fichier lui-même. Le format du fichier est indiqué par des valeurs hexadécimales qui sont généralement stockées au début du fichier.

Avec la connaissance de la séquence de valeurs hexadécimales apparaissant au début des fichiers, vous pouvez déterminer manuellement le format du fichier. Afficher un fichier dans un vidage hexadécimal peut vous aider à trouver des caractères cachés qui ne s'affichent pas lorsque le fichier est affiché. chargé dans un éditeur de texte normal.

Comment créer un vidage hexadécimal sous Linux

Pour créer un vidage hexadécimal sous Linux, utilisez la commande hexdump.

Pour afficher un fichier au format hexadécimal sur le terminal (sortie standard), exécutez la commande suivante:

nom de fichier hexdump

Par exemple

hexdump image.png

La sortie par défaut affichera le numéro de ligne (au format hexadécimal), puis 8 ensembles de 4 valeurs hexadécimales par ligne.

Par exemple:

00000000 5089 474e 0a0d 0a1a 0000 0d00 4849 5244

Vous pouvez fournir différents commutateurs pour modifier la sortie par défaut. Par exemple, spécifier le commutateur moins b produira un décalage de 8 chiffres suivi de 16 octets de données à trois colonnes, remplies de zéros, de données d'entrée au format octal.

hexdump -b image.png

Par conséquent, l'exemple ci-dessus sera maintenant représenté comme suit:

00000000 211 120 116 107 015 012 032 012 000 000 000 015 111 110 104 122

Le format ci-dessus est appelé affichage octal sur un octet.

Un autre moyen d'afficher le fichier consiste à afficher un caractère sur un octet à l'aide du commutateur moins c.

hexdump -c image.png

Ceci affiche à nouveau le décalage mais cette fois-ci suivi de seize caractères de données d'entrée séparés par des colonnes, séparés par des espaces, de données d'entrée par ligne.

D'autres options incluent l'affichage Canonical hex + ascii, qui peut être affiché à l'aide du commutateur moins C et un affichage décimal à deux octets pouvant être affiché à l'aide du commutateur moins d. Le commutateur moins o peut être utilisé pour afficher un affichage octal sur deux octets. Enfin, le commutateur minux x peut être utilisé pour afficher un affichage hexadécimal sur deux octets.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Si aucun des formats ci-dessus ne vous convient, utilisez le commutateur moins e pour spécifier le format.

Si vous savez qu'un fichier de données est très long et que vous voulez seulement voir les premiers caractères pour déterminer son type, vous pouvez utiliser le commutateur -n pour spécifier la quantité de fichier à afficher en hexadécimal.

hexdump -n100 image.png

La commande ci-dessus affiche les cent premiers octets.

Si vous souhaitez ignorer une partie du fichier, vous pouvez utiliser le commutateur moins pour définir un décalage à partir duquel démarrer.

hexdump -s10 image.png

Si vous ne fournissez pas de nom de fichier, le texte est lu à partir de l'entrée standard.

Entrez simplement la commande suivante:

hexdump

Ensuite, entrez le texte dans l'entrée standard et terminez en tapant quit. L'hex sera affiché sur la sortie standard.

Résumé

L'utilitaire hexdump est évidemment un outil assez puissant et vous devez absolument lire la page de manuel pour vous familiariser avec toutes les fonctionnalités.

Vous devez également bien comprendre ce que vous recherchez lors de la lecture du résultat.

Pour afficher la page de manuel, exécutez la commande suivante:

homme hexdump