Esta questão tem várias respostas, dependendo do que você deseja pesquisar exatamente.
Se você deseja encontrar todas as strings de caracteres dentro de um arquivo binário, o comando é strings : from o Manual ,
strings(1)
Name
strings - print the strings of printable characters in files.
.... For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file.
Se você estiver interessado em pesquisar um arquivo binário para uma seqüência binária , use bgrep (não nos repos, AFAIK):
bgrep is a utility for searching for occurrences of binary strings within binary files. As its name suggests, its interface and design is modeled after the ubiquitous “grep” command, used to search for occurrences of text patterns in text files.
Como alternativa, você pode usar o seguinte truque:
cat YourFile | hexdump -C | grep YourPattern
Isso usa hexdump
: novamente do Manual ,
hexdump(1)
Name
hexdump - ascii, decimal, hexadecimal, octal dump
Eu uso o conveniente formato -C
:
-C Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in ''|'' characters.
enquanto algumas pessoas preferem o formato -c
:
-c One-byte character display. Display the input offset in hexadecimal, followed by sixteen space-separated, three column, space-filled, characters of input data per line.