7-Zip

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springenZur Suche springen
7-Zip


Der 7-Zip-Dateimanager 19.00 unterWindows 10
Basisdaten

EntwicklerIgor Wiktorowitsch Pawlow
Erscheinungsjahr18. Juli 1999[1]
Aktuelle Version24.09[2]
(29. November 2024)
BetriebssystemWindows
Linux alsp7zip und ab Version 21.01 alpha auch nativ für die Konsole[3]
(macOS nur als p7zip)
Programmier­spracheC++
KategorieDatenkompressionsprogramm
LizenzLGPL (Freie Software) mit unRAR-Einschränkung[4]
deutschsprachigja
7-zip.org

7-Zip ist einfreiesPackprogramm, das unter den Bedingungen derLGPL lizenziert ist. Die Entwicklung erfolgt durch den russischenSoftwareentwickler Igor Wiktorowitsch Pavlov, der die erste Version von 7-Zip im Jahr 1999 veröffentlichte und bis heute aktiv entwickelt (Stand Frühjahr 2021). 7-Zip stellt dieReferenzimplementierung des von ihm entwickeltenLempel-Ziv-Markow-Algorithmus (LZMA) dar. 7-Zip wurde im Juli 2007 vonSourceForge als bestes Open-Source-Projekt ausgezeichnet.[5]

Inhaltsverzeichnis

Formate

[Bearbeiten |Quelltext bearbeiten]

Das 7z-Archiv-Format

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:7z

Standardmäßig erzeugt7-Zip Archive im7z-Format mit derDateinamenserweiterung.7z. Jedes Archiv kann viele Verzeichnisse und Dateien enthalten. Bei 7z handelt es sich grundsätzlich um ein reinesContainerformat, dasoffen undmodular aufgebaut ist. So werden Sicherheits- undDatenkompressions-Funktionen durch eine Reihe von hintereinander geschaltetenFiltern realisiert. Diese implementieren dann zum BeispielPräprozessoren, Kompressionsalgorithmen oderVerschlüsselungs-Filter.

Alle Dateinamen werden inUnicode-Kodierung abgelegt.[6]

Weitere unterstützte Formate

[Bearbeiten |Quelltext bearbeiten]

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:

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

Auf zip bzw. gzip basierende Formate:

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

Nur Entpacken

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

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

Algorithmen

[Bearbeiten |Quelltext bearbeiten]

Die native 7z-Kompression bedient sich einer Vielzahl vonAlgorithmen. Nach einer Sortierung der zu packenden Dateien in eine günstige Reihenfolge und (beiprogressiver 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 mitx86-Maschinencode verwendet. Zur Dekorrelation von zum BeispielPCM- undRastergraphikdaten steht einDelta-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 verbreiteteRAR oft deutlich.[7]

LZMA

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Lempel-Ziv-Markow-Algorithmus

LZMA ist ein relativ neues, von Igor Pavlov selbst entwickeltes und mit 7-Zip eingeführtes Verfahren. Es nutzt eine verbesserte Variante desLZ77-Algorithmus,Markow-Ketten und einenBereichskodierer (eine Umsetzungarithmetischen Kodierens) zurEntropiekodierung.

Verschlüsselung

[Bearbeiten |Quelltext bearbeiten]

7-Zip unterstützt die alsAES 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.

DerWinZip-AES-Verschlüsselungsstandard wird ebenso unterstützt, sodass 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.[8]

Funktionen

[Bearbeiten |Quelltext bearbeiten]

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 vonSicherungsdateien auf Wechselmedien wieCD-RW oderbeschreibbarer DVD.
  • Genaue Einstellmöglichkeiten zur Nutzung mehrererProzessoren /Prozessorkerne /Threads.
  • Die Fähigkeit, Archive mit beschädigter Dateinamen-Information zu entpacken, wobei die Dateien nötigenfalls umbenannt werden.
  • Die Möglichkeit versuchsweiseausführbare Dateien (.exe) als Archive zu öffnen. So können Daten aus vielerleiInstallationsprogrammen und selbstextrahierenden Archiven entpackt werden, ohne dass das entsprechende Programm ausgeführt werden muss.
  • Selbstextrahierende Archive können erstellt werden. Das funktioniert allerdingsnur für Archive ineiner Datei,nicht für Archive mit mehreren Volumina.
  • Im 2-Panel-Modus kann das Programm auch als einfacher „orthodoxer“Dateimanager (im Stil z. B. desNorton Commander) benutzt werden.
  • Optionale Aufzeichnung des Erstelldatums (Parameter „tc“) und des letzten Zugriffsdatums (Parameter „ta“) zuzüglich dem Datum der letzten Änderung in Archiven.[9]

Einbettung in Windows

[Bearbeiten |Quelltext bearbeiten]

Die grafische Benutzeroberfläche fügt sich via „Drag and Drop“ undKontextmenüs nahtlos inWindows ein. Eine Kommandozeilenversion und ein Plugin für denFAR Manager werden mitgeliefert.

Beim Auspacken von Archivdateien überträgt 7-Zip bis Version 21.07 (anders als derWindows-Explorer sowieWinZip undWinRAR) einen vorhandenenZone.Identifier nicht auf die extrahierten Dateien.

Verfügbarkeit für verschiedene Betriebssysteme

[Bearbeiten |Quelltext bearbeiten]

7-Zip wurde ursprünglich für dasBetriebssystemWindows entwickelt, es existierte seit 2006 jedoch mitp7zip auch eineportableKommandozeilenversion des Programms[10], welche plattformübergreifend für dieBSDs,Linux,Unix,OS/2,BeOS undAmigaOS 4kompiliert werden kann.

Es gibt vieleFrontends fürp7zip, die z. B. eine Einbindung ingrafische Benutzeroberflächen ermöglichen. Nachdem von p7zip seit 2016 keine neuen Versionen mehr erschienen waren, veröffentlichte Igor Pavlov im März 2021 eine eigene portable Kommandozeilenversion von 7-Zip.

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

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

7zip ZS ist eine auf 7zip basierende Version mit Support fürZstandard,Brotli, Lz4, Lz5, Lizard und Fast LZMA2.[11][12] Dem führenden 7zip-Entwickler waren diese Kompressionsformate bisher zu unausgereift, um sie in 7zip zu implementieren.

Es existierenJava-,.Net-Framework-/.NET- undPython-Bindings.

Sicherheit

[Bearbeiten |Quelltext bearbeiten]

Das Installationsprogramm von 7-Zip sowie alle mit 7-Zip erstellten selbst-entpackenden Archive hatten bis zum Erscheinen der Programmversion 16.00 Sicherheitslücken.[13][14][15] Die Sicherheitslücken, die u. a. das Einschleusen und Ausführen von Schadcode in archiviertenUDF-Dateien ermöglichten, wurden in Version 16.00 geschlossen.[16]

Bis zu Version 18.01 war es durch eine Sicherheitslücke möglich, beim Entpacken von Dateien andere Programme zu starten. Der Fehler wurde mit Erscheinen von Version 18.05 behoben.[17]

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]
Commons: 7-Zip – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. History of the 7-Zip. (englisch).
  2. HISTORY of the 7-Zip. (abgerufen am 3. Dezember 2024).
  3. HISTORY of the 7-Zip
  4. Igor Pavlov: 7-Zip License for use and distribution. 2010, abgerufen am 16. April 2010 (englisch). 
  5. SourceForge.net: 2007 Community Choice Awards (englisch) – Seite beiSourceForge.net; Stand: 31. Dezember 2008
  6. Beschreibung der Features des 7z-Formats (englisch)
  7. 7z versus rar: two compression formats (Memento vom 13. Januar 2006 imInternet Archive) (englisch) – Artikel beikikizas.net, vom 18. November 2005
  8. AES-Verschlüsselungs-Informationen: Verschlüsselungs-Spezifikationen AE-1 und AE-2 auf der Webpräsenz von WinZip (englisch)
  9. -m (Set compression Method) switch
  10. 7-Zip Portable – Seite beiPortableApps.com; Stand: 23. Juli 2010
  11. https://github.com/mcmilk/7-Zip-zstd
  12. https://mcmilk.de/projects/7-Zip-zstd/
  13. FullDisclosure:Executable installers are vulnerable^WEVIL (case 7): 7z*.exe allows remote code execution with escalation of privilege
  14. FullDisclosure:Executable installers are vulnerable^WEVIL (case 14): Rapid7's ScanNowUPnP.exe allows arbitrary (remote) code execution
  15. Rapid7:ScanNow DLL Search Order Hijacking Vulnerability and Deprecation
  16. heise Security: Entpacker 7-Zip kann zum Ausführen von Schadcode missbraucht werden. In: Security. Abgerufen am 17. Mai 2016. 
  17. Oliver Nickel: Dateikompression: Bug in 7-Zip 18.01 ermöglicht Codeausführung beim Entpacken. In: golem.de. 4. Mai 2018, abgerufen am 3. Februar 2024. 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=7-Zip&oldid=250864471
Kategorien: