Los Bytes Mágicos

¿Cómo podemos distinguir un tipo de fichero de otro? Por ejemplo, un mp3 de un archivo de vídeo. Sí, ya sé, mirando la extensión, pero qué ocurre si borramos la extensión del nombre de archivo, ¿Cómo podemos saberlo entonces?

Sí, podemos abrir el archivo en un reproductor y ver qué pasa, pero, ¿Y si no tenemos ni idea de qué puede ser el archivo? no podemos ir probando con todos los programas que tengamos a ver si el fichero se abre.

Para solucionar esto existen los Magic Bytes (Bytes Mágicos), que son nada más y nada menos que una serie de bytes que nos permiten identificar inequívocamente un archivo. Por ejemplo un mp3 contendrá las cabeceras que todo fichero mp3 debe tener, lo mismo sucederá con un archivo mpeg o un fichero ejecutable.

Una utilidad muy interesante en linux es el comando “file” que nos permite identificar ficheros sin hacer caso a la extensión. Por ejemplo:

$ file unarchivo.zip
unarchivo.zip: Zip archive data, at least v2.0 to extract

Le cambiamos el nombre y sigue saliendo lo mismo:

$ mv unarchivo.zip unarchivo
$ file unarchivo
unarchivo: Zip archive data, at least v2.0 to extract

Si probamos con un archivo avi incluso nos dirá las propiedades de este:

$ file video.avi
video.avi: RIFF (little-endian) data, AVI, 640 x 480, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)

¡Y hasta identifica ficheros de código!

$ file otroarchivo
otroarchivo: PHP script text

1 comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *