Startseite > Textverarbeitung & Suche > strings

strings: Zeichenketten aus Binärdateien extrahieren

Der Befehl `strings` ist ein Werkzeug zum Extrahieren von lesbaren Textzeichenketten aus Binärdateien (wie ausführbaren Dateien, Bibliotheken usw.). Er ist nützlich beim Debuggen von Programmen, bei der Analyse von Malware oder zur schnellen Überprüfung des Inhalts unbekannter Dateien.

Übersicht

Binärdateien bestehen aus 0en und 1en, die direkt vom Computer ausgeführt werden, und erscheinen beim Öffnen mit einem normalen Texteditor als Kauderwelsch. Der Befehl `strings` findet in solchen Binärdateien vier oder mehr aufeinanderfolgende druckbare Zeichen und extrahiert sie als Text. Dies ermöglicht die Identifizierung nützlicher Informationen wie Fehlermeldungen, Dateipfade, URLs und Konfigurationswerte, die in Binärdateien enthalten sind.

Hauptmerkmale

Die Hauptmerkmale des `strings`-Befehls sind:

  • Extrahiert lesbare Zeichenketten aus Binärdateien.
  • Sucht standardmäßig nach vier oder mehr aufeinanderfolgenden druckbaren Zeichen.
  • Unterstützt verschiedene Zeichenkodierungen (ASCII, UTF-16 usw.).
  • Nützlich, um Bibliotheksnamen oder Konfigurationsinformationen zu identifizieren, die von Programmen verwendet werden.

Anwendungsbereiche von strings

`strings` kann in verschiedenen Bereichen eingesetzt werden, die über die bloße Dateiprüfung hinausgehen.

  • Malware-Analyse: Extrahiert Informationen wie C&C-Serveradressen, Dateinamen und API-Aufrufe aus Malware-Binärdateien.
  • Debugging: Findet Fehlermeldungen oder Debugging-Zeichenketten in ausführbaren Dateien, um Probleme zu beheben.
  • Analyse unbekannter Dateien: Wenn die Dateierweiterung unklar ist, kann `strings` den internen Text überprüfen, um die Art der Datei abzuschätzen.

Wichtige Optionen

Die wichtigsten Optionen des `strings`-Befehls sind nach ihrem Zweck gruppiert.

1) Extraktionsoptionen

2) Hilfe

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`strings` 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 `strings`-Befehls durch verschiedene Anwendungsbeispiele kennen.

Grundlegende Zeichenketten aus einer Binärdatei extrahieren

strings /usr/bin/top

Extrahiert Zeichenketten mit den Standardeinstellungen (mindestens 4 Zeichen) aus der Binärdatei `/usr/bin/top`.

Nur längere Zeichenketten extrahieren

strings -n 8 /usr/bin/top

Verwenden Sie die Option `-n`, um nur Zeichenketten mit 8 oder mehr Zeichen zu extrahieren.

Zeichenketten und hexadezimale Offsets zusammen ausgeben

strings -t x /usr/bin/top

Gibt mit der Option `-t x` den hexadezimalen Offset aus, an dem jede Zeichenkette in der Datei beginnt. Dies ist nützlich bei der Binäranalyse.

Verwendung mit der Pipe (|)

strings /usr/bin/top | grep error

Extrahiert und überprüft nur Zeichenketten, die 'error' enthalten, aus der Datei `/usr/bin/top`.

UTF-16-kodierte Zeichenketten extrahieren

strings -e l /path/to/binary

Verwenden Sie die Option `-e`, um UTF-16-kodierte Zeichenketten zu extrahieren. `l` steht für Little-Endian, `b` für Big-Endian.

Installation

`strings` ist Teil des `binutils`-Pakets und ist standardmäßig in den meisten Linux-Distributionen enthalten. Eine separate Installation ist nicht erforderlich.

Debian/Ubuntu

sudo apt update
sudo apt install -y binutils

RHEL/CentOS/Fedora

sudo dnf install -y binutils

Tipps & Hinweise

Hier sind wichtige Hinweise zur Verwendung des `strings`-Befehls.

Tipps

  • `strings` liefert viel sauberere und nützlichere Informationen aus Binärdateien als `cat`. `cat` kann den Inhalt einer Binärdatei direkt ausgeben und dabei das Terminal beschädigen.
  • Da die extrahierten Zeichenketten Zeilenumbrüche oder Leerzeichen enthalten können, können sie durch Verketten mit Pipes an `grep`, `awk` usw. weiterverarbeitet werden, um sie noch nützlicher zu machen.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle