Respuestas:
Una solución simple sería utilizar
grep -aob "string to find" /dev/blockdev
Esta pregunta tiene múltiples respuestas, dependiendo de lo que desea buscar exactamente.
Si deseas encontrar todo cadenas de caracteres dentro de un archivo binario, entonces el comando es instrumentos de cuerda : desde el manual ,
cuerdas (1)
Nombre
instrumentos de cuerda - Imprime las cadenas de caracteres imprimibles en archivos.
.... Para cada archivo dado, GNU instrumentos de cuerda imprime las secuencias de caracteres imprimibles que tienen al menos 4 caracteres de largo (o el número dado con las opciones a continuación) y están seguidas de un carácter no imprimible. De forma predeterminada, solo imprime las cadenas de las secciones inicializadas y cargadas de los archivos de objetos; para otros tipos de archivos, imprime las cadenas de todo el archivo.
Si está interesado en buscar un archivo binario para un cadena binaria , puedes usar bgrep (No en los repositorios, AFAIK):
bgrep es una utilidad para buscar ocurrencias de cadenas binarias dentro de archivos binarios. Como su nombre lo indica, su interfaz y diseño se basan en el comando ubicuo "grep", que se utiliza para buscar las apariciones de patrones de texto en archivos de texto.
Alternativamente, puedes usar el siguiente truco:
cat YourFile | hexdump -C | grep YourPattern
Esto utiliza hexdump
: otra vez del manual ,
hexdump (1)
Nombre
hexdump - Ascii, decimal, hexadecimal, volcado octal
Yo uso el conveniente -C
formato:
-DO Pantalla canónica hex + ASCII. Muestre el desplazamiento de entrada en hexadecimal, seguido de dieciséis bytes hexadecimales separados por espacios, dos columnas, seguidos de los mismos dieciséis bytes en formato% _p encerrados en caracteres '' | ''.
mientras que algunas personas prefieren el -c
formato:
-do Visualización de caracteres de un byte. Muestre el desplazamiento de entrada en hexadecimal, seguido de dieciséis caracteres separados por espacios, tres columnas, espacios completos, de datos de entrada por línea.