Linux Command to find Strings in Binary or non ascii file
772
Is there any linux command to extracts all the ascii strings from an executable or other binary file? I suppose I could do it with a grep, but I remember hearing somewhere that such a command existed?
A problem with using strings is that you don't see surrounding non printables and you have to be careful with the minimum string length.
A problem using
od -c FILE
or
hexdump -C FILE
is that a sequence can be difficult to find if it wraps a line.
Something I like a lot for this is ZTreeWin running in WINE on Linux - you can do a lot with it but the searching in any file or editing binaries can be particularly useful.
The awesome ytree package is available for many Linux and Unix variants and has a good Hex dump view of any file but doesn't have the search that ZTreeWin (and its 16bit predecessor, XTree) have.
The command you are looking for is
strings
Its name is quite self-explanatory, it retrieves any printable string from a given file.
man strings
gives:The strings command is the way to go for this particular type of problems. Sometimes you also have to pipe it out to grep.
For example:
The command does exist, and is called.... strings!
A problem with using strings is that you don't see surrounding non printables and you have to be careful with the minimum string length.
A problem using
or is that a sequence can be difficult to find if it wraps a line.Something I like a lot for this is ZTreeWin running in WINE on Linux - you can do a lot with it but the searching in any file or editing binaries can be particularly useful.
The awesome ytree package is available for many Linux and Unix variants and has a good Hex dump view of any file but doesn't have the search that ZTreeWin (and its 16bit predecessor, XTree) have.
The od command can do this: