Wéi Dir e Hexdump Of A Datei oder String Of Text erstellt

Aféierung

Hexdump huet eng hexadezimale Sicht vun Daten. Dir wëllt hexadezimal benotze beim Debugging vun engem Programm oder en Inverser un engem Programm.

Zum Beispill, vill Dateiformate hunn spezifesch Hexichen ze bezeechne fir hiren Typ. Wann Dir probéiert e Fichier mat engem Programm ze liesen an iergendenger Grond ass et net liesen correct ze ginn, et ass méiglech datt d'Datei net am Format ass deen Dir erwart.

Wann Dir wëllt kucken wéi e Programm funktionnéiert an Dir hutt net de Quellcode oder e Stéck Software, déi de Code de Reverse Ingenieuren huet, kënnt Dir den Hex dump kucken, fir ze probéieren an ze realiséieren wat geschitt.

Wat ass Hexadezimal?

Computers denken am Binär . All Zeechen, Zuelen an Zeechekonsonnonen referenzéiert duerch e binäre oder multiple binäre Wäerter.

Mënschen sinn awer an der Dezimalzuel denken.

Dausenden Honnerte Tens Unitéiten
1 0 1 1

Als Mënsch sinn eis klengt Zuelen nummeren a vertrieden d'Zuelen 0 bis 9. Wann mir op 10 kommen, réckelen mir d'Spaltentitel zréck op 0 a fügen 1 un d'Zéng Säule (10) hinzu.

128 64 32 16 8 4 2 1
1 0 0 1 0 0 0 1

An der Binärsäit sinn déi kleng Zuel nëmme 0 a 1. Wann mer d'Vergaangenheet 1 erreechen, setze mir 1 an der Kolonn 2 a 0 an der Kolonn 1. Wann Dir wëllt representéieren 4 gitt Dir eng 1 an der 4 Säsch a stellen déi 2 an d'Kolonne nees zréck.

Duerfir ze representéieren 15 Dir géift 1111 hunn, dee fir 1 aacht, 1 véier, 1 an 2 sinn. (8 + 4 + 2 + 1 = 15).

Wa mir eng Datendatei am binären Format gesinn hunn, wier et absolut enorm en praktesch onméiglech fir Sënn ze maachen.

Den nächste Schrëtt vu binäre ass oktal, dat 8 als Basisnummer benotzt.

24 16 8 1
0 1 1 0

An engem Oktalsystem ass déi éischt Kolonn tëschent 0 an 7, déi zweet Kolonn ass 8 bis 15, déi drëtt Spalte 16 bis 23 an d'véiert Spalte 24 bis 31 an sou weider. Iwwerdeems allgemeng einfacher ze liesen wéi d'binär meescht Leit liwweren hexadezimal.

Hexadezimal benotzt 16 als Basisnummer. Elo ass et wou et verwirrt gëtt, well d'Mënschen mir d'Zuelen wéi 0 bis 9 sinn.

Also wat ass fir 10, 11, 12, 13, 14, 15? D'Äntwert ass Bréiwer.

De Wäert 100 ass also vertrueden duerch 64. Dir braucht 6 vun der Spëtzespalett 16, déi 96 ophëlt an dann 4 an der Spaltklappe 100 gemaach.

All Zeechen an enger Datei ginn mat engem hexadezimalen Wäert bezeechent. Wat dës Wäerter heescht, hänkt vum Format vun der Datei selwer ab. De Format vun der Datei gëtt mat hexadezimal Wäerter bezeechent, déi normalerweis am Ufank vun der Datei gespeichert sinn.

Mat Kenntnis vun der Sequenz vun hexadezimal Wäerter, déi am Ufank vu Dateien ersche sinn, kënnt Dir manuell gewuer ginn wat Form vun der Datei agefouert gëtt. De Fichier an engem Sechs-Dump kann Iech hëllefen hidden hidden Zeechen déi net gewise ginn wann déi Datei an e normale Texteditor gelueden.

Wéi Dir e Hex Dump Mat Linux erstallt

Fir en Hexdump mat Linux ze schafen benotze den Hexdump Kommando.

Fir e Datei als Hex zum Terminal ze weisen (Standardausgang) lafen de Kommando:

hexdump filename

Zum Beispill

hexdump image.png

De Standardausgang gëtt d'Zeilennummer (am hexadezimalen Format) an duerno 8 Sätze vun 4 Hexadezimalwerte pro Linn.

Zum Beispill:

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

Dir kënnt verschidde Schalter an d'Default-Ausgang änneren. Zum Beispill datt de minus b -Nummerspezifesch e 8 Zifferenoffset ze produzéieren, gefollegt vu 16 dréi Kolonn, null gefüllt, Bytes vun Input-Daten am Oktokal-Format.

hexdump -b image.png

Dofir gëtt dat exemplar wéi haut:

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

Dëse Format ass bekannt als een Byte-Octal-Display.

Eng aner Manéier fir d'Datei ze kucken ass an engem Byte Charakter Display mat dem Minus c Switch.

Hexdump -c Image.png

Dëst weist nees de Offset, awer dës Kéier mat sechszehëllege Raum ofgetrennt, dräi Spalt, Raum mat Charaktere vun Angeldaten pro Zeil.

Aner Optiounen sinn Canonical Hex + Asciyen déi mat dem Minus C-Schalter an dem Zwee-Byte Dezimaldisplay kënnen ugewisen ginn mat dem Minus d Switch. De Minus o Schalter kann benotzt ginn fir 2-Byte-Octal-Display ze weisen. Endlech den Minux x Schalter kann benotzt ginn fir zwee-Byte hexadezimal Display ze weisen.

Hexdump -C Image.png

hexdump -d image.png

hexdump -o image.png

Hexdump -x Image.png

Wa keng vun den uewe Formate passen Är Bedierfnisser benotzt Dir den Minus e Switch fir de Format ze spezifizéieren.

Wann Dir wësst datt eng Datendatei ganz laang ass an Dir wëllt nëmmen déi éischt puer Zeechen ze gesinn fir säin Typ ze bestëmmen, kënnt Dir de -n Knäppche benotze fir ze spezifizéieren wéi vill vun der Datei déi hei am Hex anzeginn.

Hexdump -n100 Image.png

Dëse Kommando weist déi éischt Honnerte vu Bytes.

Wann Dir wëllt en Deel vun der Datei zevill ze benotzen, kënnt Dir den Minus s wiesselen fir e Offset ze setzen fir ze starten.

Hexdump -s10 Image.png

Wann Dir net e Dateinumm leet, gëtt den Text aus der Standardeingriff geliest.

Gidd einfach de kommende Kommando:

hexdump

Da klickt den Text an de Standardeingriff an erofsetzen, andeems du beoptragt no behalen. De Sechs gëtt op d'Standardausgang angezeigt.

Summary

Den Hexdump Utility ass natierlech e relativ krachtend Tool an Dir sollt definitiv d'manuell Säit liest, fir mat all de Fonctiounen voll ze kommen.

Dir wëllt och e gutt Verstoe vu wat Dir sicht, wann Dir d'Ausgab liest.

Fir dës Manuell Säit ze kucken , de folgend Kommando:

Mann hexdump