UnZip is an extraction utility for archives compressed in .zip format (also called "zipfiles"). Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own Zip program, our primary objectives have been portability and non-MSDOS functionality.
UnZip will list, test, or extract files from a .zip archive, commonly found on MS-DOS systems. The default behavior (with no options) is to extract into the current directory (and subdirectories below it) all files from the specified zipfile. A companion program, Zip, creates .zip archives; both programs are compatible with archives created by PKZIP and PKUNZIP for MS-DOS, but in many cases the program options or default behaviors differ. (For example, UnZip recreates the stored directory structure by default; PKUNZIP unpacks all files in the current directory by default.)
Note that UnZip 5.50 has a textmode data-corruption bug (-a and -aa options) on ports such as DOS that use 16-bit integers. See the FAQ page for details. (This will be fixed in UnZip 5.51.) |
Note that all versions of UnZip prior to 5.50 (i.e., 5.42 and earlier) have a directory-traversal vulnerability that allows them to unpack files in unexpected places. Specifically, if an archive contains files with leading "/" characters (i.e., relative to the root directory) or with ".." components ("previous directory level"), UnZip will unpack the files in the indicated locations, possibly creating directory trees in the process--and, if the -o ("overwrite") option is given, quietly destroying existing files outside the intended directory tree. This bug is fixed in 5.50 and later, and a patch (slightly overkill, but apparently effective) is available for older versions on the Bugtraq page that reported the problem. (Thanks to Anya Berdichevskaya for the pointer.) |
New features in UnZip 5.5, released 20 February 2002:
There may or may not ever be another major release of UnZip, although there may be another minor release to add compatibility with PKWARE's large-file-support kludge. Aside from the fact that Info-ZIP is slowly calcifying, so is the zipfile format itself. It badly needs a major upgrade to support large files (cleanly!), large file systems, and real timestamps. See our Frequently Asked Questions page for details.
But if there is another major release, it will probably be version 6.0, hopefully with multi-part archive support--something we've been begged to implement for years (and something that we would have, had we not been interrupted by far too many other eventful things).
It is even more unlikely that there will be two more major releases, but on the off-chance that there are, the second will probably be version 7.0, with a much-improved and unified DLL interface and possibly better file system support for the MVS and VM/CMS ports, assuming that doesn't happen sooner. And then perhaps version 8.0 will be released, with full filter support (that is, able to read and extract a zipfile from standard input like fUnZip does now), but now we're really dreaming. While we're at it, though, a tcl/tk graphical interface might be nice--but see the related-links section for a pointer to TkZip, which already exists.
NEW RELEASE: We're still compiling 5.5, and it may take a few months to get everybody updated. Please be patient. Binaries for the most popular platforms, including most PC OSes, will be available soonest; the others will follow as time and volunteers permit.
NOTE: If you find a broken link, please tell us about it. Thanks!
Ready-to-run binary versions of UnZip are available for numerous platforms and operating systems. Unix binaries are generally provided only if the platform does not come with a bundled C compiler by default. Most older Unix systems do; grab the sources and compile your own!
Info-ZIP's portable C source code for Zip, UnZip, WiZ and MacZip (including encryption code) is freely available from:
Note that version 1.0 of the encryption/decryption code is available only from the last site and works only with Zip 1.1. Version 2.9 works with UnZip 5.41 and Zip 2.3.
Source code to IBM's UnZip DLL for OS/2 (distributed with the Warp BonusPak, WebExplorer, TCP/IP, etc.) is also available. This is the January 1995 version, made available courtesy of Jake Coughlin; we don't have the June 1995 update or anything newer. IBM graciously placed their changes in the public domain, and Info-ZIP thanks them for it.
Technical information on zipfiles and other assorted Info-ZIP documentation is available from:
Technical information and documentation for deflate/inflate and zlib are available from :
Further information on where to find Info-ZIP stuff, including BBSes and commercial online services, is available in:
Information about commercial use, modification and redistribution of Zip, UnZip, WiZ and MacZip is available in:
It's basically BSD-like, but note that there may still be a few remaining files in some of the packages that are covered by different licenses.
Return to the Info-ZIP Home Page.
Copyright © 1995-2002
Greg Roelofs. UnZip is maintained by Christian Spieler. |
Primary ftp site hosted by LEO. |