strings - find printable strings in an object or binary file
strings [-a | -] [-t format | -o] [-n number | -number] [-N name] [file]...
The strings utility looks for ASCII strings in a binary file. A string is any sequence of 4 or more printing characters ending with a NEWLINE or a NULL character.
strings is useful for identifying random object files and many other things.
By default, strings looks at program sections that are loaded in memory. Program sections are identified by the section type SHT_PROGBITS. Sections that are loaded in memory are identified by the section flag SHF_ALLOC. Use elfdump(1) to display complete section information for a file.
All sections can be inspected with the –a option. Individual sections can be inspected with the –N option.
The following options are supported:
Look everywhere in the file for strings.
Use a number as the minimum string length rather than the default, which is 4. An invalid number results in the default string length being used.
Look only in ELF section name. See elfdump(1). Multiple –N options can be specified to inspect multiple sections.
If the –a or -option is specified, all –N options are ignored .
Equivalent to –t d option.
Write each string preceded by its byte offset from the start of the file. The format is dependent on the single character used as the format option-argument:
The offset is written in decimal.
The offset is written in octal.
The offset is written in hexadecimal.
The following operand is supported:
A path name of a regular file to be used as input. If no file operand is specified, the strings utility reads from the standard input.
See environ(5) for descriptions of the following environment variables that affect the execution of strings: LANG, LC_ALL , LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
An error occurred.
See attributes(5) for descriptions of the following attributes:
The strings utility, including all options except –N, are specified by standards. See standards(5). The –N option is not currently specified by any standard.
The algorithm for identifying strings is extremely primitive.
For backwards compatibility, the options –a and − are interchangeable.