| 7-Zip software | |
|---|---|
| Genere | Compressione dei dati Archiviatore di file |
| Sviluppatore | Igor Pavlov |
| Data prima versione | 18 luglio 1999 |
| Ultima versione | 26.05 (21 ottobre 2026) |
| Sistema operativo | Multipiattaforma |
| Linguaggio | C++ C |
| Toolkit | interfaccia grafica e interfaccia a riga di comando |
| Licenza | GNU Lesser General Public License (licenza libera) |
| Sito web | 7-zip.org |
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.
Progettato originariamente per Microsoft Windows, è disponibile anche per i sistemi Linux e MacOS con interfaccia a riga di comando.
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.
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, LZMA (algoritmo Lempel-Ziv-Markov) e LZMA2.
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 4 GB, 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.
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.
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).
La versione p7zip a riga di comando è stata adottata per l'utilizzo in sistemi operativi come Linux, FreeBSD, MacOS, AmigaOS 4 e vari altri.
È disponibile un front-end per p7zip con una GUI per Mac OS X dal nome di KEKA. 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).
Dopo la versione 4.65 7-Zip cambia il suo schema di numerazione in “anno.revisione”, simile a quella usata da Ubuntu e 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.
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 (self-extracting archive) per prevenire questo tipo di attacco.
Le versioni di 7-Zip 18.03 e precedenti contengono una vulnerabilità di arbitrary code execution (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.
Le versioni dalla 24.00 alla 24.07 inclusa, soffrivano di una vulnerabilità che permetteva l'esecuzione di codice arbitrario per via della implementazione Zstandard di decompressione usata: questa risultava in un underflow aritmetico. Del codice poteva così essere scritto usando byte extra alla fine del file compresso, che venivano poi caricati in memoria. La vulnerabilità (CVE-2024-11477) è stata corretta con la versione 24.08.
il 28 maggio 2026 è stata comunicata la scoperta di una falla nel sistema di lettura e gestione dei documenti, la falla ha colpito tutte le versioni atnecendeti alla 26.01, in quanto il softwere non si aggiorna in automatico questo ha esposto molti utenti al rischio di infiltrazione.