-
Los primeros 8 bytes de un fichero PNG son siempre los mismos. En decimal, serían:
137 80 78 71 13 10 26 10
Para poder examinar esos 8 bits en linux/unix, podemos usar la utilidad
head
, y conhexdump
podemos verlos en hexadecimal
head --bytes=8 ejemplo.jpg | hexdump -C
El resultado debería ser:
00000000 89 50 4e 47 0d 0a 1a 0a |.PNG....| 00000008
Buscar archivos PNG con otra extensión
El siguiente codigo en Python 3 localiza archivos de tipo
PNG
sin extensión o con una extensión que no sería la correcta:
import os PNG_SIGNATURE = b'\x89\x50\x4e\x47\x0d\x0a\x1a\x0a' for (path, dirnames,filenames) in os.walk('/home/jileon'): for filename in filenames: full_name = os.path.join(path, filename) if os.access(full_name, os.R_OK): with open(full_name, 'rb') as f: head = f.read(8) if head == PNG_SIGNATURE: if not full_name.lower().endswith('.png'): print(full_name)
0Añadir un comentario
Añadir un comentario