Repository navigation
Releases: jkomalley/sillystrings
Releases · jkomalley/sillystrings
Release list
v0.2.0
Added
-oas shorthand for-t o, matching GNUstrings. (#51)-e Land-e Bfor 32-bit little- and big-endian characters, matching GNU
strings. (#52)-d/--datato scan only the data sections of a thin Mach-O file, and
-a/--allto scan the whole file (still the default), matching GNU
strings. (#54)-dalso scans the data sections of ELF files, 32- and 64-bit in either byte
order. (#57)
Changed
- Scanning with
-e sand-e Sis roughly 1.75x and 2x faster. (#50) - Input files are memory-mapped and scanned one at a time, so memory use no longer grows with file size or file count. (#53)
- Filenames are printed only with
-f, matching GNUstrings. Output for multiple files without-fno longer includes filenames; add-fto get the old output. With-f, stdin is now labelled{standard input}, as in GNU, rather than<stdin>. (#63)
Fixed
- Exits 1 quietly, rather than printing "Exception ignored" and exiting 120, when the output pipe closes before buffered output is flushed. (#58)
- Tab no longer ends a string, and
-wnow also includes vertical tab and form feed, matching GNUstrings. This changes default output for any string containing a tab. (#59) -e Swrites bytes 0x80-0xFF as the raw bytes found, as GNUstringsdoes, rather than UTF-8-encoding them. (#61)-e l,-e b,-e Land-e Bfind strings at any byte offset, not only at multiples of the character width, matching GNUstrings; they also scan 3-7x faster. (#65)
v0.1.0
Added
- Initial release. Extracts printable character sequences from binary files,
reimplementing the Unixstringsutility in pure Python with no runtime
dependencies. - Four encodings via
-e: 7-bit ASCII (s, the default), 8-bit extended
ASCII (S), and UTF-16 little- and big-endian (landb). -nto set the minimum string length,-tto print byte offsets in
decimal, octal or hexadecimal,-wto treat all whitespace as part of a
string, and-fto print the filename before each match.- Reads from stdin when given no file arguments or a
-argument, and accepts
multiple files in one invocation. - Exits quietly when the output pipe closes early, so
sillystrings big.bin | headbehaves like coreutils rather than printing aBrokenPipeError.