7-Zip

7-Zip

7-Zip File Manager on Windows 10
Developer(s) Igor Pavlov
Initial release 18 July 1999 (1999-07-18)[1]
Stable release 16.04 (October 4, 2016 (2016-10-04)) [±][1]
Repository sourceforge.net/projects/sevenzip/files/7-Zip/
Written in C++[2]
Operating system Windows, Linux, OS X
Size 1.1–1.7 MB[3]
Available in 86 languages[4]
Type File archiver
License GNU LGPLv2.1+ with unRAR restriction[5] / LZMA SDK in the public domain[6]
Website 7-zip.org

7-Zip is an open-source file archiver, an application used primarily to compress files. 7-Zip uses its own 7z archive format, but can read and write several other archive formats. The program can be used from a command-line interface as the command p7zip,[7] as a graphical user interface, or with a window-based shell integration. 7-Zip began in 1999[1] and is developed by Igor Pavlov. 7-Zip is open-source software. Most of the source code is under the GNU LGPL license. The unRAR code is under the GNU LGPL with an "unRAR restriction", which states that developers are not permitted to use the code to reverse-engineer the RAR compression algorithm.[8][9]

Formats

7z

Main article: 7z (file format)

By default, 7-Zip creates 7z-format archives with a .7z file extension. Each archive can contain multiple directories and files. As a container format, security or size reduction are achieved using a stacked combination of filters. These can consist of pre-processors, compression algorithms, and encryption filters.

The core 7z compression uses a variety of algorithms, the most common of which are bzip2, PPMd, LZMA2, and LZMA. Developed by Pavlov, LZMA is a relatively new system, making its debut as part of the 7z format. LZMA uses an LZ-based sliding dictionary of up to 4 GB in size, backed by a range coder.[10]

The native 7z file format is open and modular. All filenames are stored as Unicode.[11]

TopTenReviews found that the 7z compression is at least 17% better than ZIP,[12] and 7-Zip's own site reports that while compression ratio results are very dependent upon the data used for the tests, "usually, 7-Zip compresses to 7z format 30–70% better than to zip format, and 7-Zip compresses to zip format 2–10% better than most other zip-compatible programs".[13]

The 7z file format specification is distributed with the program's source code, in the "doc" subdirectory.

Others

7-Zip supports a number of other compression and non-compression archive formats (both for packing and unpacking), including ZIP, Gzip, bzip2, xz, tar and WIM. The utility also supports unpacking APM, ARJ, CHM, cpio, DEB, FLV, JAR, LHA/LZH, LZMA, MSLZ, Office Open XML, onepkg, RAR, RPM, smzip, SWF, XAR and Z archives and CramFS, DMG, FAT, HFS, ISO, MBR, NTFS, SquashFS, UDF and VHD disk images. 7-Zip supports the ZIPX format for unpacking only. It has had this support since at least version 9.20, which was released in late 2010.

7-Zip can open some MSI files, allowing access to the meta-files within along with the main contents. Some Microsoft CAB (LZX compression) and NSIS (LZMA) installer formats can be opened. Similarly, some Microsoft executable programs (.EXEs) that are self-extracting archives or otherwise contain archived content (e.g., some setup files) may be opened as archives.

When compressing ZIP or gzip files, 7-Zip uses its own DEFLATE encoder, which may achieve higher compression, but at lower speed, than the more common zlib DEFLATE implementation. The 7-Zip deflate encoder implementation is available separately as part of the AdvanceCOMP suite of tools.

The decompression engine for RAR archives was developed using source code of the unRAR program (which has a licensing restriction against creation of a RAR compressor). 7-Zip v15.06 and later support the RAR5 file format.[14] It can also unpack a few types of backup created by Android stock recovery image.[15]

File manager

7-Zip comes with a file manager along with the standard archiver tools. The file manager has a toolbar with options to create an archive, extract an archive, test an archive to detect errors, copy, move, and delete files, and open a file properties menu exclusive to 7-Zip. The file manager, by default, displays hidden files because it does not follow Windows Explorer's policies. The tabs show name, modification time, original and compressed sizes, attributes, and comments (all comments for a directory's files are stored in a text file on that directory called descript.ion, which can be edited offline).

When going up one directory on the root, all drives, removable or internal appear. Going up again shows a list with four options:

Software development kit

7-Zip has a LZMA SDK which was originally dual-licensed under both the GNU LGPL and Common Public License,[16] with an additional special exception for linked binaries. In December 2, 2008 the SDK was placed by Igor Pavlov in the public domain.[6]

Variants

Two command-line versions are provided: 7z.exe, using external libraries; and a standalone executable 7za.exe, containing built-in modules, but with compression/decompression support limited to 7z, ZIP, gzip, bzip2, Z and tar formats. A 64-bit version is available, with support for large memory maps, leading to faster compression. All versions support multi-threading.

The 7za.exe version of 7-Zip is available for Unix-like operating systems (including Linux, FreeBSD and Mac OS X), FreeDOS, OpenVMS and AmigaOS 4 under the name p7zip, also developed and maintained by Pavlov (7-Zip).[7]

Features

7-Zip supports:

7-zip does not provide a way to control the file order inside archives. It ignores file name order in command line. Consequently, 7-zip is not usable in cases where the order of file names is important. For example, the EPUB format, which is based on Zip and HTML formats, requires a certain order of the files in archives: a file named "mimetype" must be the first file in the ZIP archive.

Security

Self-extracting archives (including the executable installer of 7-Zip itself) are vulnerable to arbitrary code execution through DLL hijacking: they load and run a DLL named UXTheme.dll, if it is in the same folder as the executable file.[20][21][22] 7-Zip 16.03 Release notes say that the installer and SFX modules have added protection against DLL preloading attack.[23]

Reception and usage

Snapfiles.com rates 7-Zip 4.5 stars out of 5, noting that its "interface and additional features are fairly basic, but the compression ratio is outstanding".[24]

On TechRepublic, Justin James found the detailed settings for Windows File Manager integration were "appreciated" and called the compression-decompression benchmark utility "neat". And though the archive dialog has settings that "will confound most users", he concluded that "7-Zip fits a nice niche in between the built-in Windows capabilities and the features of the paid products, and it is able to handle a large variety of file formats in the process".[25]

7-zip has reached some popularity among end users; between 2002 and 2016 it was downloaded 410,000,000 times from Sourceforge alone.[26]

The software has received awards. In 2007, SourceForge.net granted it community choice awards for "Technical Design" and for "Best Project".[27] In 2013, 7-Zip received Tom's Hardware Elite award due to superiority in speed and compression ratio.[28]

See also

References

  1. 1 2 3 "HISTORY of the 7-Zip". 7-Zip. 4 October 2016. Retrieved 7 October 2016.
  2. "P7ZIP SourceForge". SourceForge.net. January 2016. Retrieved 2016-03-07.
  3. "7-Zip - Browse /7-Zip/16.00". SourceForge.net. Slashdot Media. 10 April 2016. Retrieved 12 May 2016.
  4. Options... dialog box of 7-Zip for Windows 16.00
  5. Pavlov, Igor (2010). "7-Zip License for use and distribution". 7-zip.org. Archived from the original on 10 April 2010. Retrieved 2010-04-16.
  6. 1 2 Igor Pavlov (2013). "LZMA SDK (Software Development Kit)". Retrieved 2013-06-16.
  7. 1 2 "P7ZIP". SourceForge.net. February 2009. Retrieved 2010-04-16.
  8. Pavlov, Igor. 7-Zip. Retrieved 2012-10-31.
  9. Pavlov, Igor. License. 7-zip.org. Retrieved 2012-10-31.
  10. Diaz, Antonio Diaz. "Lzip". LZip.NonGNU.org. Archived from the original on 29 July 2010. Retrieved 29 July 2010.
  11. 7z format. 7-zip.org.
  12. "7-Zip 2011 – TopTenREVIEWS". Archived from the original on 25 October 2012.
  13. 7-zip.org – Main Page
  14. Pavlov, Igor. "7-Zip 15.06 beta release notes".
  15. Opened nandroid backup as well
  16. "Browse /LZMA SDK/4.23". Sourceforge. Retrieved 2014-02-12.
  17. "AES Encryption Information: Encryption Specification AE-1 and AE-2". winzip.com. 30 January 2009, WinZip International LLC.
  18. "Command Line Syntax". sevenzip.osdn.jp.
  19. "Command Line Syntax"
  20. Kanthak, Stefan (8 December 2015). "Executable installers are vulnerable^WEVIL (case 7): 7z*.exe allows remote code execution with escalation of privilege". SecLists.org.
  21. Kanthak, Stefan (22 December 2015). "Executable installers are vulnerable^WEVIL (case 14): Rapid7's ScanNowUPnP.exe allows arbitrary (remote) code execution". SecLists.org.
  22. Hart, Jon (21 December 2015). "ScanNow DLL Search Order Hijacking Vulnerability and Deprecation". Rapid7.com.
  23. "HISTORY of the 7-Zip". 28 September 2016. Retrieved 29 September 2016.
  24. "7-Zip file compression tool". Snapfiles.com. WebAttack. Retrieved 2012-10-12.
  25. James, Justin (10 November 2009). "Review: 7-Zip file compression application". Tech Republic. pp. 1–2.
  26. 7-zip file download stats on Sourceforge.net (July 2016)
  27. "SourceForge.net: 2007 Community Choice Awards". SourceForge.net. 2007. Archived from the original on 26 March 2010. Retrieved 2010-04-16.
  28. "Compression Performance: 7-Zip, MagicRAR, WinRAR, WinZip". Tom's Hardware. Bestofmedia Group. 19 March 2013. p. And The Undisputed Winner Is...

External links

Wikimedia Commons has media related to 7-Zip.
This article is issued from Wikipedia - version of the 11/10/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.