Czy istnieje Windowsowy odpowiednik uniksowego polecenia „strings”?

32

stringsw systemach Unix i Linux wyodrębnia ciągi drukowalne z pliku binarnego. Czy istnieje wersja tego dla systemu Windows? Nie mogłem znaleźć.

Jasio
źródło

Odpowiedzi:

41

Nie jest wbudowany (AFAIK), ale jest dostępny w SysInternals ( link na żywo ). Ciągi SysInternals nie są prostym portem narzędzia uniksowego; został napisany, aby znaleźć ciągi Unicode, a także ASCII:

Praca na NT i Win2K oznacza, że ​​pliki wykonywalne i pliki obiektowe będą wielokrotnie miały osadzone ciągi UNICODE, których nie można łatwo zobaczyć za pomocą standardowych ciągów ASCII lub programów grep.

sgmoore
źródło
5

Wierzę, że MinGW zawiera wersję GNU binutils dla Windows, która z kolei zawiera stringsprogram. Możesz tego spróbować.

Śleske
źródło
i oczywiście binutils znajduje się w środowisku Cygwin ( cygwin.com ). wydaje się, że nie jest uwzględniony w GnuWin32 i UnxUtils, dwóch innych projektach portów, które zapewniają narzędzia uniksowe w systemie Windows.
quack quixote
0

Narzędzie Sysinternals Strings to program konsoli Windows, który może wyodrębniać ciągi znaków ASCII i Unicode z plików binarnych.

Generał ChaOS
źródło
@slm, w tym przypadku link jest treścią. Jeśli link się zepsuje, zawartość nie będzie przydatna, ponieważ pliku nie można już pobrać. W rzeczywistości oryginalny post był w rzeczywistości lepszy niż obecnie, ponieważ przynajmniej wtedy wyświetlał surowy adres URL, który wskazywał, że dany program pochodzi od Microsoft i zawiera słowo kluczowe sysinternals . Dlatego też, jeśli link zniknie, ktoś nadal może spróbować wyszukać plik, używając go jako przewodnika. Teraz link jest scalony z tekstem, więc nic nie wskazuje na to, jaki jest plik. Nie martw się, naprawię to teraz.
Synetech,
@ Synetech - OK.
slm
1
-1 Nie trzeba mieć 2 odpowiedzi z tymi samymi informacjami.
user66001