7-Zip

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Oktober 2016 um 14:41 Uhr durch Ontogon (Diskussion | Beiträge) (nv, lf). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
7-Zip

Logo
Screenshot
Der 7-Zip-Dateimanager 9.20 unter Windows 8
Basisdaten

Entwickler Igor Pawlow
Erscheinungsjahr 1999
Aktuelle Version 16.04
(Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
Betriebssystem Windows
(Linux, macOS nur als p7z)
Programmiersprache C++
Kategorie Datenkompressionsprogramm
Lizenz LGPL (Freie Software) mit unRAR-Einschränkung[1]
deutschsprachig ja
www.7-zip.org

7-Zip ist ein freies Packprogramm, das unter den Bedingungen der LGPL lizenziert ist. Die Entwicklung erfolgt durch den russischen Programmierer Igor Wiktorowitsch Pawlow, der die erste Version von 7-Zip im Jahre 1999 veröffentlichte und bis heute aktiv entwickelt (Stand Dezember 2015). 7-Zip stellt die Referenzimplementierung des von ihm entwickelten Lempel-Ziv-Markow-Algorithmus (LZMA) dar. 7-Zip wurde im Juli 2007 von SourceForge als bestes Open-Source-Projekt ausgezeichnet.[2]

Formate

Das 7z-Archiv-Format

Standardmäßig erzeugt 7-Zip Archive im 7z-Format mit der Dateinamenserweiterung .7z. Jedes Archiv kann viele Verzeichnisse und Dateien enthalten. Bei 7z handelt es sich grundsätzlich um ein reines Containerformat, das offen und modular aufgebaut ist. So werden Sicherheits- und Datenkompressions-Funktionen durch eine Reihe von hintereinander geschalteten Filtern realisiert. Diese implementieren dann zum Beispiel Präprozessoren, Kompressionsalgorithmen oder Verschlüsselungs-Filter.

Alle Dateinamen werden in Unicode-Kodierung abgelegt.[3]

Weitere unterstützte Formate

7-Zip unterstützt außerdem eine Reihe von komprimierten und nicht-komprimierten Archiv-Formaten:

Packen und Entpacken

Folgende Formate können sowohl ge- als auch entpackt werden:

  • bzip2 (.bz2),
  • gzip (.gz),
  • tar (.tar),
  • zip (inkl. AES-Verschlüsselung per 256 Bit Rijndael, .zip),
  • xz (inklusive LZMA2, .xz),
  • wim (.wim).

Zur Kompression von zip- und gzip-Dateien verwendet 7-Zip einen selbst entwickelten Deflate-Encoder, der oft bessere Ergebnisse liefert als die weitaus häufiger verwendete Deflate-Implementation von zlib, was allerdings zu Lasten der Kompressionsgeschwindigkeit geht. Diese Version des Deflate-Encoders ist auch unabhängig von 7-Zip als Teil der AdvanceCOMP-Suite erhältlich.

Nur Entpacken

Darüber hinaus lassen sich Archivinhalte beziehungsweise gepackte Daten aus Dateien der folgenden Formate extrahieren:

  • Allzweck-Archive

7-Zip kann manche Windows-Installer-Dateien (.msi) öffnen und bietet Zugang zu deren gesamten Inhalt, inklusive der Meta-Dateien. Ebenso lassen sich mit LZX komprimierte Microsoft-Cabinet-Dateien (.cab) und mit LZMA komprimierte Nullsoft Scriptable Install System-Installationsprogramme öffnen. Gleiches gilt für manch andere ausführbare Programme (Endung z. B. .exe). Daher kann 7-Zip auch dazu genutzt werden, zu überprüfen, ob es sich bei einer unbekannten Binärdatei um ein Archiv handelt, und dessen Inhalt gegebenenfalls zu extrahieren.

  • Komprimierte Einzeldateien
    • compress (.Z)
    • rohe LZMA-Datenströme (.lzma)
    • MSLZ

Algorithmen

Die native 7z-Kompression bedient sich einer Vielzahl von Algorithmen. Nach einer Sortierung der zu packenden Dateien in eine günstige Reihenfolge und (bei progressiver Komprimierung) eventueller Verkettung zu einem fortlaufenden Datenstrom können bestimmte Dateitypen mit verschiedenen Vorfiltern bzw. Präprozessoren aufbereitet werden, um bei der anschließenden Kompression bessere Ergebnisse zu erzielen. Hierzu werden für ausführbare Dateien in einer Reihe unterstützter Formate entsprechende Filter wie BCJ und BCJ2 für Windows-Programmdateien mit x86-Maschinencode verwendet. Zur Dekorrelation von zum Beispiel PCM- und Rastergraphikdaten steht ein Delta-Filter zur Verfügung.

Für den folgenden Hauptkompressionsschritt werden beim nativen 7z-Format die Verfahren LZMA, PPMd und bzip2 unterstützt.

Dann kann ein Verschlüsselungsschritt mit AES nachgeschaltet werden.

Mit dem in Voreinstellung verwendeten LZMA und Vorfiltern werden überwiegend bessere Kompressionsraten als mit anderen verbreiteten Formaten erzielt. Besonders bei großen Datenmengen übertrifft es das verbreitete RAR oft deutlich.[4]

LZMA

LZMA ist ein relativ neues, von Igor Pavlov selbst entwickeltes und mit 7-Zip eingeführtes Verfahren. Es nutzt eine verbesserte Variante des LZ77-Algorithmus, Markow-Ketten und einen Bereichskodierer (eine Umsetzung arithmetischen Kodierens) zur Entropiekodierung.

Verschlüsselung

7-Zip unterstützt die als AES standardisierte 256-Bit-Rijndael-Verschlüsselung. Die Verschlüsselung kann getrennt sowohl für die gepackten Dateien als auch für die 7z-Verzeichnisstruktur aktiviert werden. Falls die Verzeichnisstruktur verschlüsselt ist, muss schon für die Anzeige der Namen der im Archiv enthaltenen Dateien das richtige Passwort angegeben werden.

Der WinZip-AES-Verschlüsselungsstandard wird ebenso unterstützt, so dass ZIP-Archive mit 256 Bit AES verschlüsselt werden können. Dabei ist jedoch keine Verschlüsselung der Verzeichnisstruktur wie bei 7z-Archiven möglich.[5]

Funktionen

7-Zip bietet viele Funktionen, unter anderem:

  • Die Möglichkeit, die komprimierten und archivierten Daten statt in einem einzigen Archiv in mehreren Teilstücken (Volumina) mit festgelegter oder dynamisch variabler Größe abzulegen. Das erleichtert das Erstellen von Sicherungsdateien auf Wechselmedien wie CD-RW oder beschreibbarer DVD.
  • Genaue Einstellmöglichkeiten zur Nutzung mehrerer Prozessoren / Prozessorkerne / Threads.
  • Die Fähigkeit, Archive mit beschädigter Dateinamen-Information zu entpacken, wobei die Dateien nötigenfalls umbenannt werden.
  • Die Möglichkeit versuchsweise ausführbare Dateien (.exe) als Archive zu öffnen. So können Daten aus vielerlei Installationsprogrammen und selbstextrahierenden Archiven entpackt werden, ohne dass das entsprechende Programm ausgeführt werden muss.
  • Selbstextrahierende Archive können erstellt werden. Das funktioniert allerdings nur für Archive in einer Datei, nicht für Archive mit mehreren Volumina.
  • Im 2-Panel-Modus kann das Programm auch als einfacher „orthodoxer“ Dateimanager (im Stil z. B. des Norton Commander) benutzt werden.

Einbettung in Microsoft Windows

Die grafische Benutzeroberfläche fügt sich via „Drag and Drop“ und Kontextmenüs nahtlos in Microsoft Windows ein. Eine Kommandozeilenversion und ein Plugin für den FAR Manager werden mitgeliefert.

Beim Auspacken von Archivdateien überträgt 7-Zip (anders als der Windows Explorer sowie WinZip und WinRAR) einen vorhandenen Zone.Identifier nicht auf die extrahierten Dateien.

Verfügbarkeit für verschiedene Betriebssysteme

7-Zip wird für Microsoft Windows entwickelt, es existiert jedoch mit p7zip auch eine portable Kommandozeilenversion des Programms[6], welche plattformübergreifend für die BSDs, Linux, Unix, OS/2, BeOS und AmigaOS 4 kompiliert werden kann.

Es gibt viele Frontends für p7zip, die z. B. eine Einbindung in grafische Benutzeroberflächen ermöglichen.

Weiterhin existiert mit den XZ Utils eine Sammlung von auf dem LZMA-Code des LZMA SDK basierenden Werkzeugen zur reinen Datenkompression (also ohne Archivierungs-Funktion), mit denen sich der LZMA analog zu Programmen wie gzip, bzip2 oder der zlib (zum Beispiel auch in Kombination mit tar) nutzen lässt.

7zX ist eine Implementierung für macOS, welche aber mit der Version für Windows nur das Kompressionsformat gemeinsam hat. Die Anwendung selbst baut auf einer separaten Codebasis auf.

Es existieren Java-, .NET- und Python-Bindings.

Sicherheit

Das Installationsprogramm von 7-Zip sowie alle mit 7-Zip erstellten selbst-entpackenden Archive hatten bis zum Erscheinen der Programmversion 16.00 Sicherheitslücken. [7][8][9]

Die Sicherheitslücken, die u.a. das Einschleusen und Ausführen von Schadcode in archivierten UDF-Dateien ermöglichten, wurden in Version 16.00 geschlossen.[10]

Siehe auch

Weblinks

Commons: 7-Zip – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

  1. Igor Pavlov: 7-Zip License for use and distribution. 2010, abgerufen am 16. April 2010. (englisch)
  2. SourceForge.net: 2007 Community Choice Awards (englisch) – Seite bei SourceForge.net; Stand: 31. Dezember 2008
  3. Beschreibung der Features des 7z-Formats (englisch)
  4. 7z versus rar: two compression formats (englisch) – Artikel bei kikizas.net, vom 18. November 2005
  5. AES-Verschlüsselungs-Informationen: Verschlüsselungs-Spezifikationen AE-1 und AE-2 auf der Webpräsenz von WinZip (englisch)
  6. 7-Zip Portable – Seite bei PortableApps.com; Stand: 23. Juli 2010
  7. FullDisclosure: Executable installers are vulnerable^WEVIL (case 7): 7z*.exe allows remote code execution with escalation of privilege
  8. FullDisclosure: Executable installers are vulnerable^WEVIL (case 14): Rapid7's ScanNowUPnP.exe allows arbitrary (remote) code execution
  9. Rapid7: ScanNow DLL Search Order Hijacking Vulnerability and Deprecation
  10. heise Security: Entpacker 7-Zip kann zum Ausführen von Schadcode missbraucht werden. In: Security. Abgerufen am 17. Mai 2016.