Gibt es ein Windows-Äquivalent zum Unix-Befehl „strings“?

30

stringsunter Unix und Linux werden druckbare Zeichenfolgen aus einer Binärdatei extrahiert. Gibt es eine Version für Windows? Ich konnte keinen finden.

Johnny
quelle

Antworten:

41

Nicht (AFAIK) eingebaut, aber es gibt eine von SysInternals ( Live-Link ). Die SysInternals- Zeichenfolgen sind kein direkter Port des Unix-Tools. Es wurde geschrieben, um Unicode-Zeichenfolgen sowie ASCII zu finden:

Wenn Sie unter NT und Win2K arbeiten, sind in ausführbaren Dateien und Objektdateien häufig UNICODE-Zeichenfolgen eingebettet, die Sie mit standardmäßigen ASCII-Zeichenfolgen oder grep-Programmen nicht leicht erkennen können.

sgmoore
quelle
5

Ich glaube, MinGW enthält eine Windows-Version von GNU-Binutils, die wiederum das stringsProgramm enthält . Sie könnten das versuchen.

sleske
quelle
und natürlich ist binutils in der Cygwin-Umgebung enthalten ( cygwin.com ). es scheint nicht in GnuWin32 und UnxUtils enthalten zu sein, zwei anderen Portprojekten, die Unix-Dienstprogramme unter Windows bereitstellen.
Quack Quixote
0

Das Sysinternals-Tool Strings ist ein Windows-Konsolenprogramm, das ASCII- und Unicode-Zeichenfolgen aus Binärdateien extrahieren kann.

Allgemeines ChaOS
quelle
@slm, in diesem Fall wird der Link ist der Inhalt. Wenn der Link nicht funktioniert, wird kein Inhalt mehr benötigt, da die Datei nicht mehr heruntergeladen werden kann. Tatsächlich war der ursprüngliche Beitrag tatsächlich besser als jetzt, da zumindest dann die unformatierte URL angezeigt wurde, aus der hervorgeht, dass das betreffende Programm von Microsoft stammt und das Schlüsselwort sysinternals enthält . Wenn der Link nicht mehr vorhanden ist, kann dennoch versucht werden, anhand dieser Informationen nach der Datei zu suchen. Jetzt wird der Link in den Text eingefügt, sodass nichts darauf hinweist, um was für eine Datei es sich handelt. Keine Sorge, ich werde es jetzt beheben.
Synetech
@Synetech - OK.
SLM
1
-1 Keine Notwendigkeit, 2 Antworten mit den gleichen Informationen zu haben.
user66001