7-Zip

programma di compressione file

7-Zip è un programma open source per la creazione e gestione di file compressi. Usa il proprio formato archivio 7z ma può leggere e scrivere in molti altri formati. È attivamente sviluppato da Igor Pavlov sin dalla prima versione del 1999.

7-Zip
software
Logo
Logo
7-Zip su Windows 11
7-Zip su Windows 11
7-Zip su Windows 11
GenereCompressione dei dati
Archiviatore di file
SviluppatoreIgor Pavlov
Data prima versione18 luglio 1999
Ultima versione23.01 (20 giugno 2023)
Sistema operativoMultipiattaforma
LinguaggioC++
C
Toolkitinterfaccia grafica e interfaccia a riga di comando
LicenzaGNU Lesser General Public License
(licenza libera)
Sito webwww.7-zip.org/

Progettato originariamente per Microsoft Windows, è disponibile anche per i sistemi Linux e MacOS con interfaccia a riga di comando, rispettivamente dalle versioni 21.01 alpha e 21.02 alpha[1].

La maggior parte del codice sorgente di 7-Zip è distribuito sotto la GNU Lesser General Public License. È disponibile un porting multipiattaforma per sistemi Unix-like chiamato p7zip[2].

Formati modifica

Il formato archivio 7z modifica

Come impostazione predefinita, 7-Zip crea archivi di formato 7z, con l'estensione .7z. Ciascun archivio può contenere più file e cartelle. La compressione, sicurezza e la riduzione di grandezza sono raggiunte utilizzando una combinazione di filtri impilati. Questi possono essere preprocessori, algoritmi di compressione e filtri di cifratura. Il nucleo della compressione dei file .7z usa vari algoritmi, i più comuni sono bzip2, LZMA2 e LZMA.

Sviluppato da Igor Pavlov, LZMA è un software relativamente nuovo che fa il suo debutto come parte del formato 7z. LZMA è costituito da un grande dizionario scorrevole basato su pacchetti LZ di grandezza fissata a 4Gb, e utilizzante un range coder. Il formato nativo dei file formato 7z è aperto e modulare. Tutti i nomi dei file sono memorizzati con caratteri Unicode. Le specifiche ufficiali del file formato 7z sono distribuite con il codice sorgente del programma.

Altri formati supportati modifica

7-Zip supporta un numero elevato di altri formati di archivi compressi e non compressi, includendo compressione e decompressione di ZIP (anche archivi multivolume), gzip, bzip2, tar, e dalla versione beta 9.04 il formato XZ. 7-Zip permette solo la decompressione dei formati CAB (Microsoft cabinet file), RAR, MSLZ, SWF, FLV, Arj, Z, LHA, CPIO, SMZIP, JAR, immagini ISO CD/DVD (7-Zip nelle versioni 4.42 e superiori), DMG, HFS, RPM e archivi debian (DEB); dalla versione 4.65 può estrarre altri formati come: ARJ, CAB, CHM, CPIO, DyjyEB, DMG, HFS, ISQ, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIN, XAR e Z (il supporto completo su estrazione e archiviazione è fornita solo per i seguenti formati: 7z, zip, gzip, bzip2 e tar).

7-Zip è capace di aprire alcuni file .msi (Microsoft installer), permettendo l'accesso al completo meta-file interno. Possono anche essere aperti altri formati di installer come i file CAB (compressione LZX) e NSIS (LZMA), questo significa che 7-Zip può essere usato per verificare se un file binario è un archivio; in maniera simile alcuni programmi eseguibili (.exe) possono essere aperti come archivi, potendone estrarre il contenuto.

Dalla versione 15.06 beta è possibile estrarre il contenuto degli archivi in formato RAR5[3].

Versioni modifica

La versione originaria, dotata di interfaccia grafica (7-Zip File Manager), è disponibile per i sistemi operativi Microsoft a 32 bit e a 64 bit (che supporta maggiori quantità di memoria e una compressione più veloce) da Windows NT fino a Windows 11 (al 2022).[4]

La versione p7zip a riga di comando è stata adottata per l'utilizzo in sistemi operativi come Linux, FreeBSD, MacOS, AmigaOS 4 e vari altri[5].

È disponibile un front-end per p7zip con una GUI per Mac OS X dal nome di KEKA.[6] Sono fornite due versioni in riga di comando: 7x.exe, usando librerie esterne, e una versione stand-alone 7za.exe contenente moduli precostruiti; il supporto della compressione/decompressione di 7za è però limitata ai file di tipo 7z, zip, gzip, bzip2 e tar.

La versione con interfaccia a riga di comando è disponibile anche per i sistemi DOS (utilizzanti l'HX DOS Extender), ed è stata convertita per i sistemi Unix-like (p7zip).

Caratteristiche del programma modifica

Modello di numerazione delle versioni modifica

Dopo la versione 4.65 7-Zip cambia il suo schema di numerazione in “anno.revisione”[7], simile a quella usata da Ubuntu ed altri progetti. La prima pubblicazione con il nuovo modello di numerazione si è concretizzata, nel corso del 2009, con le versioni di sviluppo 9.04. Per tutto il 2010 si è comunque proseguito pubblicando minor release successive delle beta 9.x, senza mai averne una versione ufficialmente stabile. Lo schema è seguito ininterrottamente dal 2015 a oggi.

Sicurezza modifica

Gli archivi autoestraenti prodotti da 7-Zip (incluso lo stesso eseguibile per l'installazione di 7-Zip) possono essere vulnerabili a esecuzione di codice arbitrario tramite il dirottamento DLL: se la DLL UXTheme.dll si trova nella stessa cartella del file eseguibile viene caricata ed eseguita. Nella versione 16.03 di 7-Zip le note di rilascio informano che è stata aggiunta una protezione nel programma di installazione e nei moduli SFX per prevenire questo tipo di attacco.[8]

Le versioni di 7-Zip 18.03 e precedenti contengono una vulnerabilità di esecuzione di codice arbitrario nel modulo che estrae i file dagli archivi RAR (CVE-2018-10115), la vulnerabilità è stata risolta il 30 aprile 2018 con la versione 18.05.[8]

Note modifica

  1. ^ (EN) Igor Pavlov, History page (TXT), su 7-zip.org. URL consultato il 18 aprile 2022.
  2. ^ (EN) Igor Pavlov, Download page, su 7-zip.org. URL consultato il 4 dicembre 2017.
  3. ^ (EN) Igor Pavlov, 7-Zip 15.06 beta announce: "7-Zip now can extract RAR5 archives.", su sourceforge.net, 9 agosto 2015. URL consultato il 19 novembre 2015.
  4. ^ (EN) Igor Pavlov, 7-Zip Home, su 7-zip.org. URL consultato il 4 dicembre 2017.
  5. ^ Download, su www.7-zip.org. URL consultato il 30 dicembre 2019.
  6. ^ KEKA, su kekaosx.com. URL consultato il 4 dicembre 2017.
  7. ^ (EN) Igor Pavlov, 7-Zip Official Forum: "Version 9? Are you serious?", su sourceforge.net, 17 novembre 2009. URL consultato il 19 novembre 2015.
  8. ^ a b (EN) HISTORY of the 7-Zip (TXT), su 7-zip.org. URL consultato l'8 maggio 2018.

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero