2010-01-27 121 views

Respuesta

4

Use libmagic del paquete file para intentar detectar el tipo de archivo si ese es su objetivo.

No hay números "mágicos" generales en los archivos binarios en Unix, aunque diferentes formatos podrían definir los suyos propios. La biblioteca de arriba sabe de muchos de ellos y también utiliza varias otras heurísticas para intentar averiguar el formato/tipo de archivo.

1

El comando del archivo Unix utiliza el número mágico. ver el file man page para más (y dónde encontrar el archivo de la magia)

8
file <file_name> 

números mágicos se suelen almacenar en (Linux):

/usr/share/file/magic 

También puedes ver este enlace, alguien estaba tratando de utilizar libmagic para obtener la información en el programa C, podría ser útil si estás escribiendo algo tú mismo.

1

Hay un comando file que a su vez usa una biblioteca mágica, la biblioteca mágica lee de un archivo encontrado en/etc llamado magic (depende de la instalación y puede variar), que detalla cuáles son los primeros bytes del archivo y le dice al file qué tipo de archivo es, ya sea, jpg, binario, texto, script de shell. Hay una versión antigua de libmagic que se encuentra en sourceforge. Por cierto, hay una respuesta relacionada con este here.

Espero que esto ayude, Saludos cordiales, Tom.

Cuestiones relacionadas