Microsoft Compress

Microsoft Compress ist die Bezeichnung zweier früher Komprimierungsformate von Microsoft, die überwiegend für deren eigene Produkte genutzt wurde, um die Größe der Installationsdateien und damit die Anzahl der Disketten zu senken.

Mit diesen Formaten können nur einzelne Dateien komprimiert werden, das im Gegensatz zum späteren CAB-Dateiformat, das auch die Komprimierung mehrerer Dateien und Verzeichnisse unterstützt. Komprimierte Dateien lassen sich in der Regel daran erkennen, dass das letzte Zeichen der Dateierweiterung durch einen Unterstrich oder ein Dollar-Zeichen ersetzt ist (also DATEI.EX_ oder DATEI.EX$ statt DATEI.EXE). Dateien dieser Formate lassen sich mit dem Programm COMPRESS.EXE erstellen, das verschiedenen Produkten (etwa frühen Versionen von Visual C++) beiliegt. Das Entpacken ist ebenso mit dem Programm EXPAND.EXE möglich. (Heutige Versionen von EXPAND.EXE unterstützen diese alten Formate nicht mehr und können ausschließlich Dateien aus CAB-Archiven extrahieren.)

Beide Formate waren ursprünglich undokumentiert, konnten aber durch Reverse Engineering rekonstruiert werden. Für Linux wurde das Paket libmspack entwickelt, das beide Formate entpacken kann.

SZDD

Das ältere Format wurde erstmals 1990 eingesetzt und ist am magischen Wort SZDD am Dateibeginn erkennbar.

Die Dateistruktur ist sehr einfach: nach dem magischen Wort folgt das Kompressionsformat (nur eins, nämlich A), das letzte Zeichen der Dateierweiterung und die Dateigröße als 32-Bit-Integer. Anschließend folgt unmittelbar der komprimierte Datenstrom, genutzt wird der LZSS-Algorithmus.

KWAJ

Das neuere Format kam erstmals 1993 zum Einsatz und ist am magischen Wort KWAJ am Dateibeginn erkennbar.

Das Dateiformat ist im Gegensatz zum früheren Format wesentlich komplizierter, so wird nach dem magischen Wort der Kompressionsalgorithmus als 16-Bit-Integer angegeben. Das Format unterstützt fünf Kompressionsalgorithmen:

  1. unkomprimiert
  2. unkomprimiert, aber mit dem Wert 0xFF XOR-codiert
  3. LZSS
  4. ein proprietärer Komprimierungsalgorithmus von Microsoft, der LZSS und Huffman kombiniert
  5. CAB

Danach folgt der Offset zum komprimierten Datenstrom als 16-Bit-Integer. Anschließend werden noch optionale Header-Erweiterungen unterstützt, mit denen zusätzliche Metadaten angegeben werden können, z. B. die Dateigröße oder der volle Dateiname.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.