O Unix decide sobre o tipo de arquivo que procura arquivos mágicos em desvios fixos. Como isso pode ser feito de maneira confiável?

1

De link :

The magic tests are used to check for files with data in particular fixed formats. The canonical example of this is a binary executable (compiled program) a.out file, whose format is defined in #include <a.out.h> and possibly #include <exec.h> in the standard include directory. These files have a 'magic number' stored in a particular place near the beginning of the file that tells the UNIX operating system that the file is a binary executable, and which of several types thereof. The concept of a 'magic' has been applied by extension to data files. Any file with some invariant identifier at a small fixed offset into the file can usually be described in this way. The information identifying these files is read from the compiled magic file /usr/share/misc/magic.mgc, or the files in the directory /usr/share/misc/magic if the compiled file does not exist. In addition, if $HOME/.magic.mgc or $HOME/.magic exists, it will be used in preference to the system magic files. If /etc/magic exists, it will be used together with other magic files.

Feira suficiente. Então, por coincidência, um arquivo de texto contém um "número mágico" específico para, por exemplo, um vídeo mp4 em um deslocamento apropriado ... Um clique duplo em um arquivo de texto resultará em um player de vídeo sendo lançado em vez de um editor de texto?

    
por gaazkam 21.04.2017 / 22:15

1 resposta

2

Depende - sua área de trabalho pode indexar arquivos observando o tipo MIME usando file . Ou pode simplesmente olhar para o sufixo do arquivo e acreditar nisso (ver, por exemplo, A Quick Referência a extensões de arquivo e tipos MIME ).

Em qualquer caso, o player de vídeo fará suas verificações próprias , para garantir que o arquivo seja carregado corretamente e apenas uma implementação ingênua analisará apenas os primeiros bytes.

O programa file usa uma mistura de informações (incluindo pesos para as medidas necessárias). Um arquivo mpeg4 tem muita informação que file não pode usar (ou precisa). Veja por exemplo MPEG-4 Parte 14 Áudio (M4A, M4B, M4P) Formato & Exemplo de recuperação e Formato de assinatura MP4: Documentação & Exemplo de recuperação

    
por 21.04.2017 / 22:22

Tags