|
In der Regel enthalten binäre Dateien (u. a. ausführbare Dateien oder Bibliotheken) neben dem Maschinencode an verschiedenen Stellen auch Zeichenketten (Text) wie Fehlermeldungen, Konfigurationseinstellungen oder Dokumentationen. Ein Hilfsprogramm in den Linux-Distributionen wie Debian oder Ubuntu extrahiert menschenlesbare / druckbare Zeichenketten (Texte) aus Binärdateien. Dies kann u.a. in folgenden Situationen wertvoll sein:
- Suche nach bestimmten Inhalten bei Nicht-Textdateien.
- Auffinden von fest programmierten Einstellungen und Pfaden.
- Grundlegende Analyse oder Fehlersuche von Nicht-Textdateien.
Die Ausgabe des Befehls bzw. der Zeichenketten kann mit anderen Textbearbeitungsbefehlen kombiniert oder weiterverarbeitet werden (z. B. Suche nach bestimmten Wörtern). Dadurch lässt sich die Länge der Ausgabe weiter reduzieren.
So geht's:
- Starten Sie die entsprechende Linux-Distribution (z. B. "" oder "").
- Als Befehl geben Sie "" ein. Z. B.: ""
- Drücken Sie die Eingabetaste.
- Die vorhandenen Zeichenkletten (Text) der Datei wird ausgegeben.
Tabelle der Befehlsparameter (Auszug):
| Parameter |
Kurzbeschreibung |
| -a |
Es wird die gesamte Datei durchsucht und nicht nur geladene oder initialisierte Datenabschnitte (Standard). |
| -d |
Es werden nur Zeichenketten aus initialisierten oder geladenen Datenabschnitte ausgegeben. |
| -f |
Gibt vor jeder Zeichenkette den Namen der Datei aus. |
| -n [Anzahl] |
Zeigt nur Zeichenketten mit der angegebenen Mindestlänge an. Standard: 4 |
| -o |
Entspricht der Angabe "-t o" bzw. "-to". |
| -s [Zeichen] |
Legt das Trennzeichen bzw. die Trennzeichenkette für die Ausgabezeichenketten fest. Standard: Zeilenumbruch |
| -t [o|d|x] |
Gibt die Position innerhalb der Datei vor jeder Zeichenkette aus.
"o" steht für Oktal; "d" für Dezimal; "x" für Hexadezimal |
| -w |
Es werden alle Leerzeichen einer Zeichenkette angezeigt. |
Beispiele:
- Die Zeichenketten der Datei "/usr/bin/test" auslesen und vor der Zeichenkette den Dateinamen und die (dezimale) Position in der Datei ausgeben:
""
- Alle Zeichenketten mit einer Länge größer 6 Zeichen sowie alle Leerzeichen der binären Datei "/usr/bin/test" ausgeben:
""
- Bei der Ausgabe der Zeichenketten der Datei "/usr/bin/test" als Trennzeichen " | " verwenden und direkt in Datei "strings_test.txt" schreiben:
""
Hinweis:
- Weitere Optionen zur Ausgabe können mit dem Befehl "" ausgegeben werden.
Versionshinweis:
- Die Linux-Distributionen benötigen mindestens Windows 10 Version 1703.
|