Zip 2.31
Zip is a compression and file packaging/archive utility. Although highly
compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and
with Info-ZIP's own UnZip, our primary objectives
have been portability and other-than-MSDOS functionality. Features not
found in the PKWARE version include:
- creating zipfiles in a pipe or on a device
- VMS and OS/2 extended file attributes
- conversion between Unix, MS-DOS and Macintosh text file formats
- the ability to run on most of your favorite operating systems.
Plus it's free, as is the source code.
Whoa.
Zip is useful for packaging a set of files for distribution, for
archiving files, and for saving disk space by temporarily compressing
unused files or directories.
Zip puts one or more compressed files into a single ZIP archive,
along with information about the files (name, path, date, time of last
modification, protection, and check information to verify file
integrity). An entire directory structure can be packed into a ZIP
archive with a single command.
Zip has one compression method (deflation) and can also store files
without compression. Zip automatically chooses the better of the two
for each file. Compression ratios of 2:1 to 3:1 are common for text files.
|
All known vulnerabilities are fixed in Zip 2.31.
(Let's hope it stays that way.)
|
|
Zip 2.3 and (presumably) all previous versions have a buffer-overrun
vulnerability relating to deep directory paths that could potentially
lead to local privilege escalation (e.g., in the case of automated,
Zip-based backups).
See the FAQ
page for details.
|
Contents of This Page:
Latest Release
New features in Zip 2.31, released 11 March 2005:
- security fix for buffer-overrun vulnerability (CAN-2004-1010)
- better binary-detection algorithm
- cryptographic sources ("zcrypt") now included and enabled by default
- new VMS -VV option (stricter, ideal for VMS-only archives) vs. -V
(more portable to other OSes)
- better Visual Basic support in Win32 DLL
- new AtheOS port (thanks to Ruslan Nickolaev)
- makefile and project-file updates
- many other fixes
Future Plans
The next major release of Zip will be version 3.0, 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 numerous
other eventful things). It is expected also to have large file support
and support for 64 KB deflate, although the actual feature list is
still in flux. Zip 3.0 should be released sometime in 2005, possibly as
early as summer, and hopefully together with a corresponding UnZip release.
Ready-to-Run Binaries
NOTE: If you find a broken link, please tell us about it. Thanks!
Ready-to-run binary versions of Zip 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; please grab the sources and
compile your own!
- AIX
- IBM AIX 3.2.5 binaries (compatible with AIX 3.x through 5L) and AIX 4.3
binaries (compatible with AIX 4.3 and all AIX 5L versions) can be found
at:
- Amiga
- AmigaDOS binaries can be found at most Aminet mirrors and at the
Info-ZIP mirror sites:
- AOS/VS
- Coming soon? [currently in beta, sort of]
- Atari
- Atari TOS/MiNT binaries can be found at:
- BeOS
- BeOS binaries (for x86 or PowerPC systems) can be found at:
- CLIX
- Intergraph CLIX binaries can be found at:
- Convex
- ConvexOS binaries can be found at:
- Digital Unix (OSF/1) / Ultrix
- Digital Unix binaries for Alpha AXP and Ultrix binaries for MIPS can
be found at:
- FreeBSD
- FreeBSD binaries for x86-32 and x86-64 can be found at:
- HP/UX / MPE/iX
- Hewlett-Packard HP-UX (PA-RISC) and MPE/iX (HP 3000) binaries can be
found at:
Thanks to Richard Lloyd for providing the HP-UX binaries and to
Jens von Bulow for providing the MPE/iX binaries!
- Human68K (X68000)
- Human68K (X68000 hardware) binaries can be found at:
- Linux
- Linux binaries for Intel x86 hardware can be found at:
Note that the Zip sources should compile trivially on any Linux platform.
- Macintosh
- A fully up-to-date graphical Mac OS port (MacZip, both Zip and
UnZip functions) can be found at:
In addition, a command-line version for Mac OS X only (from Apple's
Developer Tools) is available courtesy of Roger Jolly.
- MS-DOS / PC-DOS / DR-DOS
- DOS binaries can be found at:
- MVS / OS/390 OpenEdition
- Binaries for both classic MVS (a.k.a. OS/390 Base) and OS/390 OpenEdition
can be found at:
Note that we no longer have any mainframe
folks among the core developers, so if you have problems or questions,
try the mailing list(s), not the bug form. We cannot help you. This
port is officially unsupported.
- NetBSD
- NetBSD binaries for many platforms can be found at:
- Novell Netware
- We may have official executables someday, but in the meantime,
beta executables (may be buggy and/or hard to install) are
available here.
Also see the related HrZip and HrUnZip
NLMs, which may (or may not) include more features.
- OS/2
OS/2 binaries can be found at:
- QDOS / SMSQ
- SMS/QDOS binaries can be found at:
- QNX
- QNX binaries can be found at:
- RISC OS
- RISC OS binaries (e.g., for Acorn Archimedes) can
be found at:
- SCO Unix
- SCO Unix binaries can be found at:
- SGI Irix
- SGI Irix binaries (compatible with Irix 4.x through 6.x) can be found at:
Also see http://freeware.sgi.com/ for
SGI-packaged versions (possibly slightly out of date).
- Solaris / SunOS
- Sun binaries (either Solaris 2.x or SunOS 4.1.x, on either SPARC or
Intel x86) can be found at:
- Tandem NSK
- Tandem NSK D30 binaries (should also run OK on D20 and D40) can be
found at:
Thanks to Dave Smith for doing the port and providing the binaries!
(Also see his Info-ZIP for
Tandem web page.)
- VM/CMS
- VM/CMS binaries can be found at:
Thanks to Greg Hartwig for some final code tweaks and for providing the
binaries!
Note that we no longer have any mainframe
folks among the core developers, so if you have problems or questions,
try the mailing list(s), not the bug form. We cannot help you. This
port is officially unsupported.
- VMS
- VMS binaries for VAX and Alpha/AXP processors can be found at:
- Windows 3.x
- A graphical Windows 3.x port (WiZ 4.01, with both
Zip and UnZip functions) and a 16-bit Windows DLL can be found at:
- Windows 9x / ME / NT / 2000 / XP / etc.
- Windows NT/2k (mainly for IA32/x86, but also IA64, x86-64/EM64T, Alpha
AXP, MIPS and PowerPC) and Windows 95/98/ME/XP binaries -- including
both graphical (WiZ) and command-line flavors,
plus a 32-bit Windows DLL -- can be found at:
See also CInfoZip and CGZipLibrary in the Related Links section for VB and MFC
wrappers to the DLLs.
Source Code
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 Netherlands site and works only with Zip 1.1. Version 2.9 works with
Zip 2.3 and will be incorporated into the main Zip 3.0 source archive, as is
already the case with UnZip 5.51 and later. (Note also that the HP/UX compiler
breaks Zip's encryption if optimization is turned on--or did so several years
ago, at any rate; to work around this, compile the encryption code with
optimization disabled, or else use GNU C.)
Other Stuff
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 some BBSes and
commercial online services, is available in:
- the Info-ZIP "WHERE" file (ASCII text)
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.
Last updated 8 September 2005. Web page maintained by Greg Roelofs.
Please direct Info-ZIP queries (availability, ports, bugs, etc.) to
Zip-Bug .