Übersicht
xxd zeigt den Inhalt von Binärdateien ähnlich wie `hexdump` oder `od` in Hexadezimal- und ASCII-Zeichen an. Das wichtigste Merkmal ist jedoch die **Reversionsfunktion**, die es ermöglicht, den gedumpten Inhalt wieder in die ursprüngliche Binärdatei zurückzuwandeln. Dank dieser Funktion können Binärdateien in einem Texteditor im Hexadezimalformat bearbeitet und dann mit `xxd -r` wieder als Binärdatei gespeichert werden. Diese Flexibilität ist bei der Analyse und Modifikation von Binärdateien sehr leistungsfähig, insbesondere in Verbindung mit dem `vim`-Editor.
Hauptmerkmale
Die Hauptmerkmale des xxd-Befehls sind:
- Gibt den Inhalt einer Datei im Hexadezimal- und ASCII-Format aus.
- Kann einen Hexadezimal-Dump zurück in die ursprüngliche Binärdatei umwandeln.
- Kann zur Bearbeitung von Binärdateien mit einem normalen Texteditor verwendet werden.
- Bietet verschiedene Optionen zur detaillierten Steuerung des Ausgabeformats.
Unterschiede zwischen xxd und hexdump
xxd und hexdump ähneln sich in ihrer Hex-Dump-Funktion, unterscheiden sich aber hauptsächlich durch das Vorhandensein der Reversionsfunktion.
- xxd: Bietet eine `Reversionsfunktion` (`-r`), um einen Hexadezimal-Dump in die ursprüngliche Binärdatei zurückzuwandeln. Hat eine starke Integration mit `vim`.
- hexdump: Ein Werkzeug, das sich ausschließlich auf die Dump-Funktion konzentriert und keine Reversionsfunktion bietet.
Wichtige Optionen
Häufig verwendete Optionen des xxd-Befehls, nach Zweck gruppiert.
1) Dump- und Reversionsoptionen
2) Hilfe
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`xxd` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Lernen Sie die Funktionen des xxd-Befehls anhand verschiedener Anwendungsbeispiele kennen.
Dateiinhalte hexadezimal dumpen
echo 'Hello World!' > test.txt
xxd test.txt
Gibt den Inhalt der Datei `test.txt` als Hexadezimal- und ASCII-Zeichen aus.
Hexadezimal-Dump in Datei speichern
xxd /bin/ls > ls_dump.txt
Speichert den Inhalt der Binärdatei `/bin/ls` in der Datei `ls_dump.txt`.
Dump-Datei in Original zurückwandeln
xxd -r ls_dump.txt ls_copy
Wandelt die zuvor gespeicherte Datei `ls_dump.txt` zurück in die ursprüngliche Binärdatei `ls_copy`. **Diese Funktion ist das wichtigste Merkmal von xxd.**
Binärdateien mit vim bearbeiten
vim file.bin
(in vim) :%!xxd
(bearbeiten)
(in vim) :%!xxd -r
Wechselt in `vim` mit dem Befehl `%!xxd` in den Hexadezimal-Dump-Modus, bearbeitet die Datei und speichert sie dann mit `%!xxd -r` zurück.
Installation
xxd ist im `vim`-Paket enthalten. Da `vim-common` oder das `vim`-Paket standardmäßig auf den meisten Linux-Distributionen installiert ist, ist keine separate Installation erforderlich.
Debian/Ubuntu
sudo apt update
sudo apt install -y vim-common
RHEL/CentOS/Fedora
sudo dnf install -y vim-common
Tipps & Hinweise
Hier sind einige Punkte, die Sie bei der Verwendung des xxd-Befehls beachten sollten.
Tipps
- Die Option `-r` von `xxd` kann nur Dump-Dateien korrekt zurückwandeln, die selbst mit `xxd` erstellt wurden. Sie funktioniert möglicherweise nicht mit Hex-Dump-Dateien in anderen Formaten.
- Seien Sie beim Bearbeiten von Binärdateien sehr vorsichtig. Ein falsches Byte kann das gesamte Programm unbrauchbar machen.
- Um ein Überschreiben der Originaldatei bei der Reversion zu vermeiden, ist es immer sicherer, unter einem anderen Dateinamen zu speichern (z.B. `xxd -r old.hex > new.bin`).