Escanee el archivo de imagen o el disco en busca de patrón y devuelva su ubicación


3

Digamos que tengo un dispositivo de bloque o un archivo de imagen. Y digamos que también tengo una secuencia de bytes o una cadena o algún patrón de búsqueda. ¿Cómo puedo obtener las posiciones de las apariciones de tal patrón o cadena? ¿Hay alguna herramienta para eso?

Respuestas:


3

Una solución simple sería utilizar

grep -aob "string to find" /dev/blockdev
  • el interruptor "a" trata el archivo como texto, por lo que muestra la salida, el interruptor "o" limita la salida al desplazamiento y la cadena que está buscando para que no obtenga basura binaria y el interruptor "b" lo indica para imprimir el desplazamiento de bytes también.

0

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.