Agarra la fuente del comando de archivo. La mayoría, si no todas las unidades de código abierto usan esta . El file
comando viene con la magic
base de datos, llamada así por los números mágicos que describe. (Esta base de datos también está instalada en su sistema en vivo, pero en forma compilada). Busque el archivo que contiene el texto descriptivo que ve:
grep 'Berkeley DB' magic/Magdir/*
La magic
página del manual describe el formato del archivo. Las líneas de activación para "Berkeley DB" son
0 long 0x00061561 Berkeley DB
0 belong 0x00061561 Berkeley DB
12 long 0x00061561 Berkeley DB
12 belong 0x00061561 Berkeley DB
12 lelong 0x00061561 Berkeley DB
12 long 0x00053162 Berkeley DB
12 belong 0x00053162 Berkeley DB
12 lelong 0x00053162 Berkeley DB
12 long 0x00042253 Berkeley DB
12 belong 0x00042253 Berkeley DB
12 lelong 0x00042253 Berkeley DB
12 long 0x00040988 Berkeley DB
12 belong 0x00040988 Berkeley DB
12 lelong 0x00040988 Berkeley DB
La primera columna especifica el desplazamiento en el que se encuentra una determinada secuencia de bytes. La tercera columna contiene la secuencia de bytes. La segunda columna describe el tipo de secuencia de bytes: long
significa 4 bytes en el endianness de la plataforma ; lelong
y belong
significa 4 bytes en orden little-endian y big-endian respectivamente.
En lugar de replicar las reglas, puede llamar a la file
utilidad; POSIX lo especifica , pero los formatos que reconoce y las descripciones que genera no lo son. Alternativamente, puede vincular libmagic
y llamar a la función magic_file
o magic_buffer
.