Frage

Ich habe gelesen, dass ZIP-Dateien mit dem folgende Bytes starten:

50 4B 03 04

Referenz: http://www.garykessler.net/library/file_sigs.html

Frage: Gibt es eine bestimmte Folge von Bytes, die eine ZIP-Datei anzuzeigen, wurde ein Passwort geschützt

War es hilfreich?

Lösung

Es ist nicht wahr, dass ZIP-Dateien mit beginnen müssen

50 4B 03 04

Einträge in Zip-Dateien mit 50 4B 03 04... starten ..und oft reine Zip-Dateien mit einem Reißverschluss als das erste, was in der Datei zu starten. Aber ist es nicht erforderlich, dass Dateien mit diesem Bytes beginnen zip. Alle Dateien, die mit diesem Bytes beginnen, sind wahrscheinlich ZIP-Dateien, aber nicht alle Zip-Dateien mit diesem Bytes beginnen.

Zum Beispiel können Sie ein selbstextrahierendes Archiv erzeugen, die eine PE-COFF-Datei ist, eine reguläre EXE, in denen es eigentlich eine Signatur für die Datei, die 4D 5A ... ist. Dann später in der EXE-Datei, können Sie Zip-Einträge speichern, mit 50 4B 03 04... beginnen. Die Datei ist sowohl eine Exe und eine .zip.

Ein selbstextrahierendes Archiv ist nicht die einzige Klasse der Zip-Datei, die nicht mit 50 4B 03 04 beginnt. Sie können auf diese Weise beliebige Daten in einer Zip-Datei „verstecken“. WinZip und andere Instrumente sollten keine Probleme haben, eine Zip-Datei zu lesen auf diese Weise formatiert.

Wenn Sie die 50 4B 03 04 Signatur innerhalb einer Datei finden, entweder am Anfang der Datei oder irgendwo anders, können Sie bei den nächsten paar Bytes schauen, um festzustellen, ob dieser bestimmte Eintrag verschlüsselt ist. Normalerweise sieht es so etwas wie folgt aus:

50 4B 03 04 14 00 01 00 08 00 ... 

Die ersten vier Bytes sind der Eintritt Unterschrift. Die nächsten zwei Bytes sind die „Version benötigt extrahieren“. In diesem Fall ist es 0x0014, die 20. Nach der pkware spec ist, die Version 2.0 der pkzip spec bedeutet erforderlich, um den Eintrag zu extrahieren. (Das neueste zip „Feature“ durch den Eintrag verwendet wird, durch v2.0 der Spezifikation beschrieben). Sie können höhere Zahlen dort finden, wenn erweiterte Funktionen in der Zip-Datei verwendet werden. AES-Verschlüsselung erfordert v5.1 der Spezifikation, daher sollten Sie 0x0033 in diesem Header finden. (Nicht alle Zip-Tools respektieren diese).

Die nächsten 2 Bytes stellt den Allzweck-Bit-Flag (die Spezifikation nennt es ein "Bit-Flag", obwohl es sich um eine Bit-Feld ), in diesem Fall 0x0001. Dies hat Bit 0 gesetzt, was anzeigt, dass der Eintrag verschlüsselt ist.

Andere Bits in diesem Bit-Flag Bedeutung haben und auch eingestellt werden. Zum Beispiel Bit 6 zeigt an, dass eine starke Verschlüsselung verwendet wurde - entweder AES oder eine andere stärkere Verschlüsselung. Bit 11, sagt, dass der Eintrag UTF-8-Codierung für den Dateinamen verwendet und den Kommentar.

All diese Informationen sind in der PKWare AppNote.txt spec zur Verfügung.

Andere Tipps

Es ist Dateien im Zip-Archiv zugrunde liegen, die passwortgeschützt sind. Sie können eine Reihe von geschütztem Kennwort und Passwort geschützter Dateien in einem Archiv (z eine Readme-Datei und dann den Inhalt).

Wenn Sie die Links gefolgt beschreibt ZIP-Dateien in der URL, die Sie verweisen, würden Sie, dass diese finden diskutiert das Bit, ob ein Dateiarchiv in der ZIP zeigt verschlüsselt ist oder nicht. Es scheint, dass jede Datei in dem Archiv kann unabhängig oder nicht verschlüsselt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top