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.

Den xxd-Befehl in Linux verstehen

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
xxd-Befehl in Linux

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:

  1. -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
  2. -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
  3. -ich / -enthalten:
    • Ausgabe im C-Embrace-Dateistil. Dadurch wird eine Array-Deklaration in C mit den Hex-Dump-Daten generiert.
    • Verwendung: xxd -i
  4. -C / -cols :
    • Formatieren Sie die Anzahl Bytes professional Ausgabezeile. Standardmäßig gibt xxd 16 Bytes professional Zeile aus.
    • Verwendung: xxd -c 8
  5. -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
  6. -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
  7. -l / -len :
    • Stoppt nach Länge Bytes der Eingabedatei. Dies begrenzt den Hex-Dump auf eine bestimmte Länge.
    • Verwendung: xxd -l 256
  8. -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
  9. -e:
    • Little-Endian-Dump. Dadurch wird die Ausgabe so formatiert, dass Bytes in Little-Endian-Reihenfolge angezeigt werden.
    • Verwendung: xxd -e
  10. -u:
    • Großbuchstaben für Hexadezimalzeichen verwenden. Dadurch werden die Hexadezimalziffern AF in Großbuchstaben statt in Kleinbuchstaben ausgegeben.
    • Verwendung: xxd -u
  11. / -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:

  1. Versatz: Die Place des Bytes in der Datei.
  2. Hexadezimale Werte: Die tatsächlichen Bytewerte im Hexadezimalformat.
  3. 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.

Hex-Dump mit dem Befehl xxd in Linux

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

F1. Was ist xxd und wofür wird es verwendet?

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.

F2. Wie installiere ich xxd auf meinem Linux-System?

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.

F3. Welche Möglichkeiten gibt es, das Ausgabeformat von xxd anzupassen?

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.

F4. Wie geht xxd mit der ASCII-Darstellung in Hex-Dumps um?

A. xxd enthält neben Hexadezimalwerten eine ASCII-Darstellung und zeigt für jedes Byte die entsprechenden druckbaren Zeichen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert