2010-01-27 4 views

Antwort

4

Verwenden Sie libmagic aus dem Paket file, um zu versuchen, den Dateityp zu erkennen, wenn das Ihr Ziel ist.

Es gibt keine allgemeinen "magischen" Zahlen in Binärdateien auf Unix, obwohl verschiedene Formate ihre eigenen definieren könnten. Die obige Bibliothek kennt viele von diesen und verwendet auch verschiedene andere Heuristiken, um das Format/den Typ der Datei herauszufinden.

1

Der Unix-Dateibefehl verwendet die magische Zahl. finden Sie in die file man page für mehr (und wo die magische Datei zu finden)

8
file <file_name> 

magische Zahlen sind in der Regel in (Linux) gespeichert:

/usr/share/file/magic 

diesen Link auch überprüfen, jemand versuchte libmagic zu verwenden, um die Informationen in C-Programm zu erhalten, könnte nützlich sein, wenn Sie etwas selbst schreiben.

1

Es gibt einen file Befehl, der seinerseits eine magische Bibliothek benutzt, liest die magische Bibliothek aus einer Datei in/etc namens magic (dies ist abhängig von der Installation und kann variieren), welche Details die ersten paar Bytes des Datei und teilt der file was für eine Datei es ist, sei es, JPG, Binär, Text, Shell-Skript. Es gibt eine alte Version von libmagic auf Sourceforge. Übrigens gibt es eine verwandte Antwort auf diese here.

Hoffen, dass dies hilft, Mit freundlichen Grüßen, Tom.

Verwandte Themen