Startpagina > Tekstverwerking en zoeken > xxd

xxd: Hexadecimale dump- en omkeertool

Het xxd-commando is een tool om bestanden in hexadecimaal formaat te dumpen en uit te voeren, of omgekeerd, om een hexadecimale dump om te zetten naar het originele binaire bestand. Het is flexibeler dan `hexdump` en is bijzonder nuttig bij het bewerken van de inhoud van binaire bestanden en deze vervolgens terug te zetten naar hun oorspronkelijke staat.

Overzicht

xxd toont de inhoud van binaire bestanden in hexadecimale en ASCII-tekenreeksen, vergelijkbaar met `hexdump` of `od`. Het belangrijkste kenmerk is echter de **omkeerfunctie** waarmee gedumpte inhoud kan worden teruggezet naar het originele binaire bestand. Dankzij deze functie is het mogelijk om een binair bestand in een teksteditor in hexadecimaal formaat te wijzigen en vervolgens met `xxd -r` weer als binair bestand op te slaan. Deze flexibiliteit is zeer krachtig voor het analyseren en wijzigen van binaire bestanden, vooral in combinatie met de `vim`-editor.

Belangrijkste kenmerken

De belangrijkste kenmerken van het xxd-commando zijn:

  • Geeft de inhoud van bestanden weer in hexadecimaal en ASCII-formaat.
  • Kan een hexadecimale dump omzetten naar het originele binaire bestand.
  • Kan worden gebruikt voor het bewerken van binaire bestanden met een gewone teksteditor.
  • Biedt diverse opties voor gedetailleerde controle over het uitvoerformaat.

Verschillen tussen xxd en hexdump

Hoewel xxd en hexdump vergelijkbaar zijn in hun hexadecimale dumpfunctie, ligt het grootste verschil in de aanwezigheid of afwezigheid van een omkeerfunctie.

  • xxd: Biedt de `omkeerfunctie` (`-r`) om een hexadecimale dump terug te zetten naar het originele binaire bestand. Heeft krachtige integratie met `vim`.
  • hexdump: Een tool die zich uitsluitend richt op de dumpfunctie en geen omkeerfunctie biedt.

Belangrijkste opties

Veelgebruikte opties van het xxd-commando zijn gegroepeerd op doel.

1) Dump- en omkeeropties

2) Hulp

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`xxd` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Leer de functies van het xxd-commando door middel van diverse gebruiksvoorbeelden.

Hexadecimale dump van bestandsinhoud

echo 'Hello World!' > test.txt
xxd test.txt

Geeft de inhoud van het `test.txt`-bestand weer in hexadecimale en ASCII-tekens.

Hexadecimale dump opslaan naar een bestand

xxd /bin/ls > ls_dump.txt

Slaat de inhoud van het binaire bestand `/bin/ls` op in het bestand `ls_dump.txt`.

Dumpbestand terugzetten naar origineel

xxd -r ls_dump.txt ls_copy

Zet het eerder opgeslagen `ls_dump.txt`-bestand terug naar het originele binaire bestand `ls_copy`. **Deze functie is het belangrijkste kenmerk van xxd.**

Binair bestand bewerken met vim

vim file.bin
(in vim) :%!xxd
(bewerken)
(in vim) :%!xxd -r

Schakel in `vim` het huidige bestand naar de hexadecimale dumpmodus met het commando `%!xxd`, bewerk het en sla het vervolgens weer op door terug te zetten met `%!xxd -r`.

Installatie

xxd is inbegrepen in het `vim`-pakket. Omdat de `vim-common` of `vim` pakketten standaard zijn geïnstalleerd op de meeste Linux-distributies, is aparte installatie meestal niet nodig.

Debian/Ubuntu

sudo apt update
sudo apt install -y vim-common

RHEL/CentOS/Fedora

sudo dnf install -y vim-common

Tips & Waarschuwingen

Punten om op te letten bij het gebruik van het xxd-commando.

Tips

  • De `-r` optie van `xxd` kan alleen dumpbestanden die met `xxd` zijn gemaakt correct omkeren. Het is mogelijk dat deze niet werkt op hexadecimale dumpbestanden van andere formaten.
  • Wees zeer voorzichtig bij het bewerken van binaire bestanden. Eén verkeerde byte kan het hele programma beschadigen.
  • Om te voorkomen dat het originele bestand wordt overschreven bij het omkeren, is het altijd veiliger om het onder een andere bestandsnaam op te slaan. (bijv.: `xxd -r old.hex > new.bin`)

gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando