Einführung
Mussten Sie schon einmal eine Datei untersuchen, um ihren Rohinhalt zu verstehen, oder einige Bytes in einer Binärdatei ändern, waren sich aber nicht sicher, wie Sie vorgehen sollten? Hier erweist sich der Befehl xxd als unschätzbar wertvoll. xxd ist ein praktisches Dienstprogramm, das auf den meisten Linux-Systemen verfügbar ist und mit dem Sie eine hexadezimale Darstellung einer Datei generieren oder sogar einen Hex-Dump in sein ursprüngliches Binärformat zurücksetzen können.
Mit anderen Worten: xxd ermöglicht es Ihnen, in jede Datei hineinzuschauen und ihren Inhalt Byte für Byte anzuzeigen. Dies kann für Entwickler, Systemadministratoren und alle, die mit Low-Stage-Datenanalysen oder Fehlerbehebungen arbeiten, äußerst nützlich sein. Egal, ob Sie Software program zurückentwickeln, Malware untersuchen oder einfach nur neugierig sind, was eine Datei enthält, xxd bietet eine einfache Methode, um Binärdaten zu untersuchen und zu ändern.
Wenn Sie neu in der Verwendung von Linux-Systemen sind, lesen Sie diesen Artikel: Erste Schritte mit dem Linux-Dateisystem
Überblick
- Die Grundlagen des xxd-Befehls in Linux verstehen.
- Erfahren Sie, wie Sie xxd auf Ihrem Linux-System installieren und einrichten.
- Erfahren Sie, wie Sie mit dem Befehl xxd einen Hex-Dump erstellen und wiederherstellen.
Set up
Stellen Sie vor der Verwendung von xxd sicher, dass es auf Ihrem System installiert ist. Die meisten Linux-Distributionen enthalten xxd standardmäßig als Teil des Vim-Pakets.
# Verify if xxd is put in
xxd -v # Set up xxd
sofern nicht bereits installiert:
sudo apt-get set up vim-common # Debian/Ubuntu
sudo yum set up vim-common # CentOS/RHEL
Befehlsoptionen
Der Befehl xxd wird verwendet, um einen Hex-Dump zu erstellen oder umgekehrt (d. h. einen Hex-Dump zurück in die ursprüngliche Binärdatei zu konvertieren). Hier sind einige der am häufigsten verwendeten Optionen und Flags:
- -R / -zurückkehren:
- Einen Hex-Dump in eine Binärform zurücksetzen (umgekehrte Operation). Damit kann der Hex-Dump wieder in seine ursprüngliche Binärform zurückverwandelt werden.
- Verwendung: xxd -r
- -P / -ps / -Nachtrag:
- Ausgabe im einfachen Hex-Dump-Stil, d. h. fortlaufende Hex-Ziffern ohne Leerzeichen, was für binäre Postscript-Dateien geeignet ist.
- Verwendung: xxd -p
- -ich / -enthalten:
- Ausgabe im C-Embrace-Dateistil. Dadurch wird eine Array-Deklaration in C mit den Hex-Dump-Daten generiert.
- Verwendung: xxd -i
- -C / -cols
: - Formatieren Sie die Anzahl Bytes professional Ausgabezeile. Standardmäßig gibt xxd 16 Bytes professional Zeile aus.
- Verwendung: xxd -c 8
- -G / -groupsize
: - Trennen Sie die Ausgabe der Anzahl Bytes professional Gruppe im Hex-Dump. Beispielsweise gruppiert xxd -g 1 jedes Byte einzeln.
- Verwendung: xxd -g 1
- -S / -seek
: - Beginnen Sie bei Offset-Bytes vom Anfang der Eingabedatei. Dies ermöglicht partielle Dumps der Datei beginnend bei einem bestimmten Byte.
- Verwendung: xxd -s 1024
- -l / -len
: - Stoppt nach Länge Bytes der Eingabedatei. Dies begrenzt den Hex-Dump auf eine bestimmte Länge.
- Verwendung: xxd -l 256
- -A / -Autoskip:
- Kondensieren Sie aufeinanderfolgende Gruppen von Null-Byte-Zeilen. Dadurch wird die Größe des Hex-Dumps reduziert, da wiederholte Zeilen mit Nullen übersprungen werden.
- Verwendung: xxd -a
- -e:
- Little-Endian-Dump. Dadurch wird die Ausgabe so formatiert, dass Bytes in Little-Endian-Reihenfolge angezeigt werden.
- Verwendung: xxd -e
- -u:
- Großbuchstaben für Hexadezimalzeichen verwenden. Dadurch werden die Hexadezimalziffern AF in Großbuchstaben statt in Kleinbuchstaben ausgegeben.
- Verwendung: xxd -u
- -Ö / -offset
: - Fügt der angezeigten Dateiposition einen Offset hinzu. Diese Possibility ist nützlich, wenn mehrere Hex-Dumps kombiniert werden oder um einen bestimmten Begin-Offset zu visualisieren.
- Verwendung: xxd -o 512
Verwendung
Der Befehl xxd in Linux ist ein vielseitiges Device, das hauptsächlich zum Erstellen von Hex-Dumps von Dateien und zum Zurückkonvertieren von Hex-Dumps in Binärdateien verwendet wird. Es kann auch verwendet werden, um Binärdaten auf verschiedene Weise zu bearbeiten. Nachfolgend finden Sie einen umfassenden Überblick über seine Verwendung:
Hex-Dump
Ein Hex-Dump zeigt die Binärdaten einer Datei in einem hexadezimalen Format an. Dies erleichtert dem Menschen das Lesen und Verstehen von Binärdaten. Ein typischer Hex-Dump zeigt:
- Versatz: Die Place des Bytes in der Datei.
- Hexadezimale Werte: Die tatsächlichen Bytewerte im Hexadezimalformat.
- ASCII-Darstellung: Die entsprechenden ASCII-Zeichen (sofern druckbar) für jedes Byte.
Hinweis: Mit dem Befehl dd können Sie eine mit Nullen gefüllte Binärdatei erstellen:
dd if=/dev/zero of=myfile.bin bs=1024 rely=1
1. Erstellen eines Hex Dumps
xxd myfile.bin
Dieser Befehl generiert einen Hex-Dump von myfile.bin.
2. Konvertieren des Hex-Dumps zurück in Binär
xxd -r hexfile.txt myfile.bin
Dieser Befehl liest den Hex-Dump aus hexfile.txt und schreibt die Binärdaten in myfile.bin.
3. Erstellen eines Hex Dumps mit 8 Bytes professional Zeile
xxd -c 8 myfile.bin
4. Starten des Dumps bei einem bestimmten Offset
xxd -s 0x100 myfile.bin
Dieser Befehl startet den Hex-Dump beim Offset 0x100 (256 dezimal).
5. Begrenzung der Ausgabelänge
xxd -l 64 myfile.bin
6. Ausgabe der binären Darstellung
xxd -b myfile.bin
7. Erstellen einer C-Model Embrace-Datei
xxd -i myfile.bin > myfile.h
Abschluss
Der Befehl xxd ist ein robustes und flexibles Device für alle, die den Inhalt binärer Dateien auf einem Linux-System untersuchen oder ändern müssen. Seine Fähigkeit, hexadezimale Darstellungen zu erstellen und sie in die ursprüngliche Binärform zurückzusetzen, macht ihn für Entwickler, Systemadministratoren und alle, die sich mit Datenanalysen auf niedriger Ebene oder Reverse Engineering beschäftigen, unverzichtbar.
Mit Optionen zum Anpassen von Ausgabeformaten, wie z. B. Festlegen von Bytes professional Zeile, Starten an bestimmten Offsets und Generieren von Embrace-Dateien im C-Stil, ermöglicht xxd eine detaillierte Kontrolle über die Präsentation und Bearbeitung von Dateidaten. Ob Sie Softwareprobleme diagnostizieren, Dateistrukturen untersuchen oder Sicherheitsanalysen durchführen, die Beherrschung von xxd kann Ihre Effizienz und Fähigkeiten bei der Verwaltung binärer Daten erheblich steigern.
Erfahren Sie mehr: 20 grundlegende Linux-Befehle für Information Science im Jahr 2024
Häufig gestellte Fragen
A. xxd ist ein Befehlszeilenprogramm unter Linux zum Erstellen von Hex-Dumps und deren Rückkonvertierung in das Binärformat. Es wird zum Überprüfen und Ändern von Binärdateien verwendet.
A. Die meisten Linux-Distributionen enthalten xxd standardmäßig als Teil des Vim-Pakets. Sie können die Model mit „xxd -v“ überprüfen oder es mit Paketmanagern wie „apt-get“ oder „yum“ installieren.
A. Optionen wie „-c“ zum Festlegen von Bytes professional Zeile, „-s“ zum Starten bei einem bestimmten Offset und „-i“ zum Generieren von Embrace-Dateien im C-Stil ermöglichen die Anpassung der Hex-Dump-Ausgabe.
A. xxd enthält neben Hexadezimalwerten eine ASCII-Darstellung und zeigt für jedes Byte die entsprechenden druckbaren Zeichen.