Wie genau schnüffelt der Inhalt, um den Dateityp zu bestimmen?

480
Bj Blazkowicz

Ich muss den mime-Typ von erweiterungslosen Dateien (Dateiformate für Dokumente wie PDF, Doc, Docx usw.) ermitteln, und ich frage mich, wie genau bekannte Dateisignaturen sind.

Was ich tun werde, ist eine Karte der Dateitypen und ihrer Unterschriften zu erstellen. Lesen Sie dann die Hex-Werte aus jeder Datei. Ich werde .NET dafür verwenden und das Sniffing in meine Anwendung aufnehmen. Das Problem ist, dass ich in der .NET-Welt keine gute Bibliothek finden kann, die dies tut, und deshalb werde ich versuchen, meine eigene zu schreiben. Meiner Meinung nach sollte das ziemlich trivial sein, da ich nur an einer kleinen Teilmenge der Dateiformate interessiert bin.

-1

1 Antwort auf die Frage

1
Datarecovery.com MK

Für einige Dateitypen ist dies einfach und für andere schwierig bis unmöglich. Jeder Dateityp ist unterschiedlich. Es gibt keine einzige Stelle in einer Datei, die den Typ angibt. Beispielsweise haben JPEG-Bilder einen sehr gut erkennbaren Header mit bestimmten Signaturen und Fußzeilen und sind leicht zu identifizieren. In Nur-Text-Dateien sind jedoch überhaupt keine Metadaten angehängt. Wenn Sie sie in Rohdaten betrachten, sehen Sie, dass die Textinformationen nur zwischen der vorherigen Datei und der nächsten Datei eingefügt werden. Wenn Sie jedoch über die Datei verfügen, können Sie möglicherweise die gesamte Datei scannen, um sicherzustellen, dass sie etwas ASCII oder Unicode ist.

Es wäre sehr anstrengend, eine Identifizierungsmethode für eine beträchtliche Anzahl von Dateitypen zu finden. Sie sollten nach einem Werkzeug suchen, das bereits verfügbar ist, um die meisten für Sie wichtigen Typen zu identifizieren. Hier ist ein Windows-Programm, das beispielsweise so etwas ausführt und 5.944 Definitionen der Dateitypen enthält.

Können Sie uns weitere Informationen dazu geben, was Sie zu tun versuchen? Was ist die magische Zahl?

Ich interessiere mich nur für verschiedene Dokumentdateiformate wie pdf, doc, docx usw. Bj Blazkowicz vor 8 Jahren 0
Sehen Sie, wie die TrIDNet-Software funktioniert (eigentlich in .NET geschrieben). Es sieht so aus, als ob die Kommandozeilenversion Ihnen mehr Flexibilität bei dem, was Sie zu tun versuchen, gibt, wie z. B. an vielen Dateien gleichzeitig arbeiten oder die richtige Erweiterung ändern oder hinzufügen. http://mark0.net/soft-trid-e.html Datarecovery.com MK vor 8 Jahren 0