Year after year, the amount of data being stored and exchanged around the world increases at an exponential rate. Costs for data storage and transmission continue to grow, whether organizations maintain their files on premise or in the cloud. An efficient, flexible solution for data compression is essential for managing costs and resource demands.
Having introduced the ZIP file format nearly three decades ago, PKZIP continues to set the worldwide standard for data compression and file management.
Unmatched performance
With PKZIP, organizations can compress files by up to 95%, reducing storage costs and greatly improving file transmission times. PKZIP can handle even the largest compression tasks, with capabilities to include more than 2 billion files in a single archive and compress files over 9 exabytes in size. PKWARE's lossless compression technology ensures that all data (including file metadata) is retained when a file is zipped.
Flexibility and administrative control
PKZIP is compatible with all major enterprise computing platforms and supports multiple archive formats, making it easy to exchange data across the organization efficiently and effectively. Users can compress files in several archive formats, including ZIP, TAR, BZ2, and many others.
Realtek* ALC Audio Driver for Windows 8* for Desktop Boards. Intel® HD Graphics Driver for 6 Series Chipset-Based Desktop Boards. Intel desktop board 21 b6 e1 e2 driver. This download record provides the Realtek audio driver version 6201* for Intel® Desktop Boards. Drivers, Windows 7, 32-bit* Windows 7, 64-bit* Windows Vista.
Enterprise customers can use PKZIP's policy manager to standardize compression activities according to organizational policies and best practices, helping maximize efficiency, system performance, and resource savings.
What do you need to know about free software?
Similar help and support threads | ||||
Thread | Forum | |||
Executing command line command anywhere ? I want to create a setup whereas a command line command can be run from any directory/folder, without having to be in the directory/folder whereas the command line command resides ? | General Discussion | |||
Command Line - Help Hi Guy's and Girls, Just first off I've never been too good with CMD and only an Apprentice in my company I work for. Now something I've wanted to do for awhile was to make the following but I don't necassirealy I know how to do this in one batch file: I would need a Batch file that is.. | General Discussion | |||
What Error is This? Microsoft Maleware Protection Command Line Utility Guys, sometime i went to Action Center Check the Maintenance , and i found this , 'Microsoft Maleware Protection Command Line Utility' at the view all problem reports, here's the Image, http://i49.tinypic.com/2afy92e.jpg http://i46.tinypic.com/vral8n.jpg what's this ? it's mean my.. | System Security | |||
Command Line Utility Change Sound Device Hi! I am looking for a method for CLI-only changing of the default audio device. (Control Panel-> Hardware and Sound -> Manage Audio Devices) I have already tried various options such as AutoIT, AutoHotKey and while I was able to get it working, this was not the optimal solution. Does.. | Sound & Audio | |||
How to run a command line utility? Hi, I am trying to run a command line prompt utility from Microsoft on windows 7. Sure I am doing something wrong, after I click the downloaded .exe file the command prompt pops up briefly then disappears. Can someone explain the basics of running a command line utility on win7? Thanks! .. | General Discussion |
Top 4 Download periodically updates software information of PKZIP 64-bit 14.20.0015 full version from the publisher, but some information may be slightly out-of-date.
Using warez version, crack, warez passwords, patches, serial numbers, registration codes, key generator, pirate key, keymaker or keygen for PKZIP 64-bit 14.20.0015 license key is illegal and prevent future development of PKZIP 64-bit 14.20.0015. Download links are directly from our mirrors or publisher's website, PKZIP 64-bit 14.20.0015 torrent files or shared files from free file sharing and free upload services, including PKZIP 64-bit 14.20.0015 Rapidshare, MegaUpload, HellShare, HotFile, FileServe, YouSendIt, SendSpace, DepositFiles, Letitbit, MailBigFile, DropSend, MediaMax, LeapFile, zUpload, MyOtherDrive, DivShare or MediaFire, are not allowed!
Your computer will be at risk getting infected with spyware, adware, viruses, worms, trojan horses, dialers, etc while you are searching and browsing these illegal sites which distribute a so called keygen, key generator, pirate key, serial number, warez full version or crack for PKZIP 64-bit 14.20.0015. These infections might corrupt your computer installation or breach your privacy. PKZIP 64-bit 14.20.0015 keygen or key generator might contain a trojan horse opening a backdoor on your computer. Hackers can use this backdoor to take control of your computer, copy data from your computer or to use your computer to distribute viruses and spam to other people.
Jump to navigationJump to searchOriginal author(s) | Phil Katz |
---|---|
Developer(s) | PKWARE Inc |
Type | archiving and data compression tool |
Website | http://www.pkware.com/ |
PKZIP is a file archivingcomputer program, notable for introducing the popular ZIP file format. PKZIP was first introduced for MS-DOS on the IBM-PC compatible platform in 1989. Since then versions have been released for a number of other architectures and operating systems. PKZIP was originally written by Phil Katz and marketed by his company PKWARE, Inc, with both of them bearing his initials: 'PK'.
- 1History
- 1.1Version history
- 8External links
History[edit]
By the 1970s, file archiving programs were distributed as standard utilities with operating systems. They include the Unix utilities ar, shar, and tar. These utilities were designed to gather a number of separate files into a single archive file for easier copying and distribution. These archives could optionally be passed through a stream compressor utility, such as compress and others.
Other archivers also appeared during the 1980s, including ARC by System Enhancement Associates, Inc. (SEA), Rahul Dhesi's ZOO, Dean W. Cooper's DWC, LHarc by Haruhiko Okomura and Haruyasu Yoshizaki and ARJ which stands for 'Archived by Robert Jung'.
The development of PKZIP was first announced in the file SOFTDEV.DOC from within the PKPAK 3.61 package, stating it would develop a new and yet unnamed compression program. The announcement had been made following the lawsuit between SEA and PKWARE, Inc. Although SEA won the suit, it lost the compression war, as the user base migrated to PKZIP as the compressor of choice. Led by BBSsysops who refused to accept or offer files compressed as .ARC files, users began recompressing any old archives that were currently stored in .ARC format into .ZIP files.
The first version was released in 1989, as a DOS command-line tool, distributed under shareware model with a US$25 registration fee (US$47 with manual).
Version history[edit]
PKZIP[edit]
- PKZIP 0.8 (released on January 1, 1989) initial version
- PKZIP 0.9 (released on February 10, 1989) supported reducing algorithm (from SCRNCH by Graeme McRae)[1] with four compression settings and shrinking. In addition to PKZIP and PKUNZIP, it also included ZIP2EXE, which required an external self-extracting executable header created by MAKESFX from the PKZIP executable package.
- PKZIP 0.92 (released on March 6, 1989): In addition to bug fixes, PKZIP included an option to automatically choose the best compression method for each file. New tools included with PKZIP include PKZipFix.
- PKZIP 1.01 (released on July 21, 1989) added Implode compression, while reduced files can only be extracted from ZIP archive. Imploding was chosen based on the characteristics of the file being compressed.[2] New utility included Thomas Atkinson's REZIP conversion utility (part of ZIP-KIT). PKZIP's default compression behavior was changed from fastest (Shrink) to best (Implode). Supported platforms include OS/2, DOS.
- PKZIP 1.02 (released on October 1, 1989) includes new utility BIOSFIX.COM, which preserved the entire 80386 register set during any mode switches via INT 15H. OS/2 version added ZIP2EXE and 2 self-extracting archive headers.
- PKZIP 1.10 (released on March 15, 1990): New features included authenticity verification, 'mini' PKSFX self-extracting module, integrating self-extracting module into ZIP2EXE, ability to save & restore volume labels. Imploding was up to 5X faster and compression ratio was improved over 1.02. EAX register was always saved on 80386 or above CPU. Removed tools included BIOSFIX, REZIP, MAKESFX.
- PKZIP 1.93a (released in October 1991): An alpha version that introduced a new compression method which Katz called 'deflating'. It was supposed to be quickly followed by a final PKZIP 2 release, but there were numerous delays.
- PKZIP 2.04g (released in January 1993): By the time the release was ready, fake 2.x releases were circulating, some of them malware, so an untainted version number was chosen instead of 2.0. This new version dispensed with the miscellaneous compression methods of PKZIP 1.x and replaced them with DEFLATE (although several levels of deflation were provided by the program). The resulting file format has since become ubiquitous on Microsoft Windows and on the Internet – almost all files with the .ZIP (or .zip) extension are in PKZIP 2.x format, and utilities to read and write these files are available on all common platforms. PKZIP 2.x also supported spanning archives to multiple disk, which simply split the files into multiple pieces, and using volume label on each drive to differentiate each other. A new Authenticity Verification (AV) signature format was used. Registered version included PKUNZJR, PK Safe ANSI, PKCFG utilities.
- PKZIP 2.06 was released in 1994. It was a version of PKZIP 2.04g licensed to IBM.[3]
- PKZIP 2.50 (released on April 15, 1998) was the first version released for Windows 3.1, 95, NT platforms. DOS version of PKZIP 2.50 was released on 1999-03-01, as its final MS-DOS product. PKZIP 2.50 supported long file names on all builds, and Deflate64 extraction. DCL Implode extraction was supported on non-DOS ports. A new command-line product was introduced in Windows 95, OS/2, UNIX platforms, called 'PKZIP Command Line' (later expanded to 'PKZIP Server'), which featured new command line syntax.
- PKZIP 2.6 was the last version to support Windows 3.1 and Windows NT for the Alpha and PowerPC platforms.
- PKZIP 2.70 added email MAPI (i.e. Send To) support. Registered version included creation of configurable self-extracted archives, added Authenticity Verification (AV) Information. Distribution Licensed versions included enhanced self-extractors. Professional distribution licensed version could create self-extracting patch files, and includes self-extractors for several new platforms.
- PKZIP 4.0 was an updated version of PKZIP 2.7. Version 3 was skipped as a result of PKZIP 3.0 Trojan.[4] It supported Deflate64 and DCL Implode compression, and the use of X.509 v3 certificate-based authentication.,[5] creation of Span or Split large .ZIP archives. Old PKZIP command line conversion tools were introduced.
- On August 21, 2001, PKWARE announced the availability of PKZIP 4.5.[6] PKZIP 4.5 included ZIP64 archives support, which allowed more than 65535 files per ZIP archives, and storing files larger than 4 gigabytes into .ZIP archive. A version called PKZIP Suite 4.5 also included PKZIP Command Line 4.5, PKZIP Explorer 1.5, PKZIP Attachments 1.1, and PKZIP Plug-In 1.0.
- PKZIP 5.0 was announced in 2002,[7] which introduced Strong Encryption Specification (SES) for the Professional version of the product, which initially included DES, 3DES, RC2, RC4 encryption formats, and the use of using X.509 v3 certificate-based encryption.
- PKZIP 6.0 (released in 2003) added support for bzip2 (based on Burrows-Wheeler transform) compression, with Professional Edition supporting 256-bit AES.[8]
- PKZIP 7.0 changed SES to use non-OAEP key wrapping for compatibility with smart cards and USB tokens. Support of creating AV authenticity verification archives was dropped. PKZIP could now create archives of the following types: ZIP, bzip2, GZIP, tar, UUEncoded, XXEncoded.
- PKZIP 8.0 was released on April 27, 2004.[9] In addition, PKWARE renamed its PKZip Professional to SecureZIP.[10] Creation of ZIP archives with encrypted headers was available.
- PKZIP 9.0 was the first version to unofficially support Windows Vista (as administrator).[11] Creation of RC2, DES-encrypted ZIP archives are dropped.
- PKZIP 10 Enterprise Edition and SecureZIP 10 were released on i5/OS. It offered the ability to create ZIP64 archives for the target platform.[12] Desktop PKZIP version was no longer developed beyond version 9.
SecureZIP[edit]
- On April 24, 2007, PKWARE announced the release of SecureZIP Standard Version 11 as freeware, available on www.securezip.com.[13] SecureZIP comes with SecureZIP Standard (SecureZIP for Windows Desktop), SecureZIP Enterprise, SecureZIP Command Line Interface, SecureZIP for Server, SecureZIP for Server with Directory Integration Module. At this point, only PKZIP for server remained in development. It added UTF-8 file name support, secure exchange of emails and attachments directly from Outlook or Office applications.
- SecureZIP 11.2 added SHA-2 hashing (SHA-256, SHA-384, SHA-512 supported), FIPS-140 security mode.[14]
- SecureZIP 12 was released in February 2008.[15]
- SecureZIP 12.1 was released on June 3, 2008.[16] Freeware SecureZIP includes a free digital certificate and inclusion in the SecureZIP Global Directory. The certificate was supplied by Comodo.[17] Registration key was changed so keys from versions 8 or earlier no longer work.
- SecureZIP 12.2 introduced SecureZIP Express, while SecureZIP Standard became shareware. SecureZIP Express did not include the Microsoft Office integration, but the registration cost was reduced to US$19.95. Registration key was changed so previous keys no longer work.
- SecureZIP 12.3 added support of PPMd, LZMA compressions. Desktop version added Federal Desktop Core Configuration compatibility, 64-bit OS support, ability to rename a ZIP attachment when sending email, improved support for Windows Vista dialogs. Enterprise version added expanded support for setting policy for 64-bit systems.
- SecureZIP 12.4 (released on December 14, 2009) added support for Windows 7, option to switch to 'Office fluent'-style ribbon GUI, 64-bit edition for use with 64-bit versions of Windows Vista and Windows 7.
- SecureZIP 12.5 (released on May 12, 2010) added integration with Microsoft Office 2010, custom alternative extensions for mailed .ZIP archives, extracting WavPack files within ZIP archives, extracting files from archives created on IBM z/OS using hardware compression tools, changes in FIPS Mode to support NIST algorithm changes affective end of 2010.[18]
- SecureZIP 14 (released in October 2011) added support to create and extract OpenPGP files, support for digital time stamping of signed archives, support for processors with AES-NI instruction for faster AES encryption, ability to extract 7-Zip files and CD/DVD Data Image files, new Auto Select View, ability to preserve Zone Identifier information in downloaded files, support to add and extract NTFS alternate streams, added file search logic.
- SecureZIP and PKZIP 15 for z/OS (released 2013-11-13) added features to expand offloading capabilities for z/OS and mainframe hardware, as well as compression capabilities based on a partnership with IBM.
.ZIP file format[edit]
To help ensure the interoperability of the ZIP format, Phil Katz published the original .ZIP File Format Specification in the APPNOTE.TXT documentation file. PKWARE continued to maintain this document and periodically published updates. Originally only bundled with registered versions of PKZIP, it was later available on the PKWARE site.
The specification has its own version number, which does not necessarily correspond to the PKZIP version numbers, especially with PKZIP 6 or later. At various times, PKWARE adds preliminary features that allows PKZIP products to extract archives using advanced features, but PKZIP products that create such archives won't be available until the next major release.
Compatibility[edit]
Although popular at the time, ZIP archives using PKZIP 1.0 compression methods are now rare, and many modern unzip tools are unable to handle 'shrinking' and 'reducing', although 'imploding' is usually supported.
Patents[edit]
Shrinking uses dynamic LZW, on which Unisys held patents. A patent for the Reduce Algorithm had also been filed on June 19, 1984, long before PKZIP was produced.[19]
Other products[edit]
PKWARE also used its PKZIP standards on following products:
- SecureZIP (including SecureZIP PartnerLink)
- PKZIP Explorer
See also[edit]
References[edit]
- ^PKZIP 0.90 review (released on February 21, 1989)
- ^How to Become LZW Free
- ^'comp.compression Frequently Asked Questions (part 1/3)Section - [3] What is the latest PKZIP version?'. faqs.org.
- ^'Malicious Code 101 Definitions and Background'. securitywebsites.com. Archived from the original on March 22, 2010.
- ^'A new look for an old friend: PKZip Suite 4.5'. TechRepublic.
- ^PKWARE Improves Efficiency and Security of Internet and Enterprise Network File Distribution
- ^PKWARE Announces Security-Enabled PKZIP 5.0
- ^'PKZIP Professional Edition 6.0 with Secure Desktop: Secure and compact'. ZDNet.
- ^Bruce Stewart (June 21, 2004). 'PKWare PKZip for Windows 8.0 review - CNET'. CNET. CBS Interactive.
- ^PKWARE Releases New Version of PKZIP for WindowsArchived October 15, 2007, at the Wayback Machine
- ^PKWARE Responses to Vista Readiness
- ^SecureZIP for i5/OS - FAQs
- ^PKWARE Announces Free-For-Life Simplified Personal Data Security Software
- ^'PKWARE SecureZIP for Windows Desktop - v11'. xlsoft.com.
- ^'New version of SecureZip - Security - DSLReports Forums'. DSL Reports.
- ^New SecureZIP for Windows Desktop Brings Public Key Cryptography to Every Type of User
- ^'SecureZIP Standard Edition for Windows Desktop 12.1'. PCMAG.
- ^Matt Little. 'Product Updates'. pkware.com.
- ^'comp.compression Frequently Asked Questions (part 1/3)Section - [8] What about patents on data compression algorithms?'. faqs.org.
External links[edit]
Official[edit]
- Official website, PKWARE
Other[edit]
- CONTROVERSY: LAWSUITS: SEA vs. PKWARE
Filename extensions | .zip , .zipx (newer compression algorithms) |
---|---|
Internet media type | application/zip [1] |
Uniform Type Identifier (UTI) | com.pkware.zip-archive |
Magic number |
|
Developed by | Phil Katz, PKWARE, Inc. |
Initial release | 1989; 30 years ago |
Latest release | |
Type of format | Data compression |
Extended to | JAR(EAR, RAR (Java), WAR) Office Open XML (Microsoft) Open Packaging Conventions OpenDocument (ODF) XPI (Mozilla extensions) |
Standard | APPNOTE from PKWARE ISO/IEC 21320-1:2015 (a subset of ZIP file format 6.3.3) |
Open format? | Yes |
ZIP is an archive file format that supports lossless data compression. A ZIP file may contain one or more files or directories that may have been compressed. The ZIP file format permits a number of compression algorithms, though DEFLATE is the most common. This format was originally created in 1989 and released to the public domain on February 14, 1989 by Phil Katz, and was first implemented in PKWARE, Inc.'s PKZIP utility,[2] as a replacement for the previous ARC compression format by Thom Henderson. The ZIP format was then quickly supported by many software utilities other than PKZIP. Microsoft has included built-in ZIP support (under the name 'compressed folders') in versions of Microsoft Windows since 1998. Apple has included built-in ZIP support in Mac OS X 10.3 (via BOMArchiveHelper, now Archive Utility) and later. Most free operating systems have built in support for ZIP in similar manners to Windows and Mac OS X.
ZIP files generally use the file extensions.zip or .ZIP and the MIME media type application/zip
.[1] ZIP is used as a base file format by many programs, usually under a different name. When navigating a file system via a user interface, graphical icons representing ZIP files often appear as a document or other object prominently featuring a zipper.
- 1History
- 1.5File headers
- 1.11Proprietary extensions
History[edit]
The .ZIP file format was created by Phil Katz of PKWARE. He created the format after PKWARE had a lawsuit filed against them by Systems Enhancement Associates (SEA) claiming that his archiving products, named PKARC, were derivatives of SEA's ARC archiving system.[3] The name 'zip' (meaning 'move at high speed') was suggested by Katz's friend, Robert Mahoney.[citation needed]They wanted to imply that their product would be faster than ARC and other compression formats of the time.[citation needed]The earliest known version of .ZIP File Format Specification was first published as part of PKZIP 0.9 package under the file APPNOTE.TXT in 1989.[citation needed] By distributing the zip file format within APPNOTE.TXT, compatibility with the zip file format proliferated widely on the public Internet during the 1990s.[4].
![Pkzip Dos 64 Bit Free Download Pkzip Dos 64 Bit Free Download](https://www.fullprogramlarindir.com/wp-content/uploads/2015/03/maxresdefault1.jpg)
The .ZIP file format was released into the public domain in 1989.[5][6][7][8][9]
Version history[edit]
The .ZIP File Format Specification has its own version number, which does not necessarily correspond to the version numbers for the PKZIP tool, especially with PKZIP 6 or later. At various times, PKWARE has added preliminary features that allow PKZIP products to extract archives using advanced features, but PKZIP products that create such archives are not made available until the next major release. Other companies or organizations support the PKWARE specifications at their own pace.
The .ZIP file format specification is formally named 'APPNOTE - .ZIP File Format Specification' and it is published on the PKWARE.com website since the late 1990s.[10] Several versions of the specification were not published. Specifications of some features such as BZIP2 compression, strong encryption specification and others were published by PKWARE a few years after their creation. The URL of the online specification was changed several times on the PKWARE website.
A summary of key advances in various versions of the PKWARE specification:
- 2.0: (1993)[1] File entries can be compressed with DEFLATE and use traditional PKWARE encryption.
- 2.1: (1996) Deflate64 compression
- 4.5: (2001)[11] Documented 64-bit zip format.
- 4.6: (2001) BZIP2 compression (not published online until the publication of APPNOTE 5.2)
- 5.0: (2002) DES, Triple DES, RC2, RC4 supported for encryption (not published online until the publication of APPNOTE 5.2)
- 5.2: (2003)[12][13] AES encryption support (defined in APPNOTE 5.1 that was not published online), corrected version of RC2-64 supported for encryption.
- 6.1: (2004)[14] Documented certificate storage.
- 6.2.0: (2004)[15] Documented Central Directory Encryption.
- 6.3.0: (2006)[16] Documented Unicode (UTF-8) filename storage. Expanded list of supported hash, compression (LZMA, PPMd+), encryption algorithms.
- 6.3.1: (2007)[17] Corrected standard hash values for SHA-256/384/512.
- 6.3.2: (2007)[18] Documented compression method 97 (WavPack).
- 6.3.3: (2012)[19] Document formatting changes to facilitate referencing the PKWARE Application Note from other standards using methods such as the JTC 1 Referencing Explanatory Report (RER) as directed by JTC 1/SC 34 N 1621.
- 6.3.4: (2014)[20] Updates the PKWARE, Inc. office address.
- 6.3.5: (2018)[21] Documented compression methods 16, 96 and 99, DOS timestamp epoch and precision, added extra fields for keys and decryption, as well as typos and clarifications.
WinZip, starting with version 12.1, uses the extension .zipx for ZIP files that use compression methods newer than DEFLATE; specifically, methods BZip, LZMA, PPMd, Jpeg and Wavpack. The last 2 are applied to appropriate file types when 'Best method' compression is selected.[22][23]
Standardization[edit]
In April 2010, ISO/IEC JTC 1 initiated a ballot to determine whether a project should be initiated to create an ISO/IEC International Standard format compatible with ZIP.[24] The proposed project, entitled Document Packaging, envisaged a ZIP-compatible 'minimal compressed archive format' suitable for use with a number of existing standards including OpenDocument, Office Open XML and EPUB.
In 2015, ISO/IEC 21320-1 'Document Container File — Part 1: Core' was published which states that 'Document container files are conforming Zip files'.[25]
ISO/IEC 21320-1:2015 requires the following main restrictions of the ZIP file format:
- Files in ZIP archives may only be stored uncompressed, or using the 'deflate' compression (i.e. compression method may contain the value '0' - stored or '8' - deflated).
- The encryption features are prohibited.
- The digital signature features are prohibited.
- The 'patched data' features are prohibited.
- Archives may not span multiple volumes or be segmented.
Design[edit]
.ZIP files are archives that store multiple files. ZIP allows contained files to be compressed using many different methods, as well as simply storing a file without compressing it. Each file is stored separately, allowing different files in the same archive to be compressed using different methods. Because the files in a ZIP archive are compressed individually it is possible to extract them, or add new ones, without applying compression or decompression to the entire archive. This contrasts with the format of compressed tar files, for which such random-access processing is not easily possible.
A directory is placed at the end of a ZIP file. This identifies what files are in the ZIP and identifies where in the ZIP that file is located. This allows ZIP readers to load the list of files without reading the entire ZIP archive. ZIP archives can also include extra data that is not related to the ZIP archive. This allows for a ZIP archive to be made into a self-extracting archive (application that decompresses its contained data), by prepending the program code to a ZIP archive and marking the file as executable. Storing the catalog at the end also makes possible hiding a zipped file by appending it to an innocuous file, such as a GIF image file.
The .ZIP format uses a 32-bit CRC algorithm and includes two copies of the directory structure of the archive to provide greater protection against data loss.
Structure[edit]
A ZIP file is correctly identified by the presence of an end of central directory record which is located at the end of the archive structure in order to allow the easy appending of new files. If the end of central directory record indicates a non-empty archive, the name of each file or directory within the archive should be specified in a central directory entry, along with other metadata about the entry, and an offset into the ZIP file, pointing to the actual entry data. This allows a file listing of the archive to be performed relatively quickly, as the entire archive does not have to be read to see the list of files. The entries within the ZIP file also include this information, for redundancy, in a local file header. Because ZIP files may be appended to, only files specified in the central directory at the end of the file are valid. Scanning a ZIP file for local file headers is invalid (except in the case of corrupted archives), as the central directory may declare that some files have been deleted and other files have been updated.
For example, we may start with a ZIP file that contains files A, B and C. File B is then deleted and C updated. This may be achieved by just appending a new file C to the end of the original ZIP file and adding a new central directory that only lists file A and the new file C. When ZIP was first designed, transferring files by floppy disk was common, yet writing to disks was very time consuming. If you had a large zip file, possibly spanning multiple disks, and only needed to update a few files, rather than reading and re-writing all the files, it would be substantially faster to just read the old central directory, append the new files then append an updated central directory.
The order of the file entries in the central directory need not coincide with the order of file entries in the archive.
Each entry stored in a ZIP archive is introduced by a local file header with information about the file such as the comment, file size and file name, followed by optional 'extra' data fields, and then the possibly compressed, possibly encrypted file data. The 'Extra' data fields are the key to the extensibility of the ZIP format. 'Extra' fields are exploited to support the ZIP64 format, WinZip-compatible AES encryption, file attributes, and higher-resolution NTFS or Unix file timestamps. Other extensions are possible via the 'Extra' field. ZIP tools are required by the specification to ignore Extra fields they do not recognize.
The ZIP format uses specific 4-byte 'signatures' to denote the various structures in the file. Each file entry is marked by a specific signature. The end of central directory record is indicated with its specific signature, and each entry in the central directory starts with the 4-byte central file header signature.
There is no BOF or EOF marker in the ZIP specification. Conventionally the first thing in a ZIP file is a ZIP entry, which can be identified easily by its local file header signature. However, this is not necessarily the case, as this not required by the ZIP specification - most notably, a self-extracting archive will begin with an executable file header.
Tools that correctly read ZIP archives must scan for the end of central directory record signature, and then, as appropriate, the other, indicated, central directory records. They must not scan for entries from the top of the ZIP file, because (as previously mentioned in this section) only the central directory specifies where a file chunk starts and that it has not been deleted. Scanning could lead to false positives, as the format does not forbid other data to be between chunks, nor file data streams from containing such signatures. However, tools that attempt to recover data from damaged ZIP archives will most likely scan the archive for local file header signatures; this is made more difficult by the fact that the compressed size of a file chunk may be stored after the file chunk, making sequential processing difficult.
Most of the signatures end with the short integer 0x4b50, which is stored in little-endian ordering. Viewed as an ASCII string this reads 'PK', the initials of the inventor Phil Katz. Thus, when a ZIP file is viewed in a text editor the first two bytes of the file are usually 'PK'. (DOS, OS/2 and Windows self-extracting ZIPs have an EXE before the ZIP so start with 'MZ'; self-extracting ZIPs for other operating systems may similarly be preceded by executable code for extracting the archive's content on that platform.)
The .ZIP specification also supports spreading archives across multiple filesystem files. Originally intended for storage of large ZIP files across multiple floppy disks, this feature is now used for sending ZIP archives in parts over email, or over other transports or removable media.
The FAT filesystem of DOS has a timestamp resolution of only two seconds; ZIP file records mimic this. As a result, the built-in timestamp resolution of files in a ZIP archive is only two seconds, though extra fields can be used to store more precise timestamps. The ZIP format has no notion of time zone, so timestamps are only meaningful if it is known what time zone they were created in.
In September 2007, PKWARE released a revision of the ZIP specification providing for the storage of file names using UTF-8, finally adding Unicode compatibility to ZIP.[26]
File headers[edit]
All multi-byte values in the header are stored in little-endian byte order. All length fields count the length in bytes.
Local file header[edit]
Offset | Bytes | Description[26] |
---|---|---|
0 | 4 | Local file header signature = 0x04034b50 (read as a little-endian number) |
4 | 2 | Version needed to extract (minimum) |
6 | 2 | General purpose bit flag |
8 | 2 | Compression method |
10 | 2 | File last modification time |
12 | 2 | File last modification date |
14 | 4 | CRC-32 |
18 | 4 | Compressed size |
22 | 4 | Uncompressed size |
26 | 2 | File name length (n) |
28 | 2 | Extra field length (m) |
30 | n | File name |
30+n | m | Extra field |
The extra field contains a variety of optional data such as OS-specific attributes. It is divided into chunks, each with a 16-bit ID code and a 16-bit length.
This is immediately followed by the compressed data.
Data descriptor[edit]
If the bit at offset 3 (0x08) of the general-purpose flags field is set, then the CRC-32 and file sizes are not known when the header is written. The fields in the local header are filled with zero, and the CRC-32 and size are appended in a 12-byte structure (optionally preceded by a 4-byte signature) immediately after the compressed data:
Offset | Bytes | Description[26] |
---|---|---|
0 | 0/4 | Optional data descriptor signature = 0x08074b50 |
0/4 | 4 | CRC-32 |
4/8 | 4 | Compressed size |
8/12 | 4 | Uncompressed size |
Central directory file header[edit]
The central directory entry is an expanded form of the local header:
Offset | Bytes | Description[26] |
---|---|---|
0 | 4 | Central directory file header signature = 0x02014b50 |
4 | 2 | Version made by |
6 | 2 | Version needed to extract (minimum) |
8 | 2 | General purpose bit flag |
10 | 2 | Compression method |
12 | 2 | File last modification time |
14 | 2 | File last modification date |
16 | 4 | CRC-32 |
20 | 4 | Compressed size |
24 | 4 | Uncompressed size |
28 | 2 | File name length (n) |
30 | 2 | Extra field length (m) |
32 | 2 | File comment length (k) |
34 | 2 | Disk number where file starts |
36 | 2 | Internal file attributes |
38 | 4 | External file attributes |
42 | 4 | Relative offset of local file header. This is the number of bytes between the start of the first disk on which the file occurs, and the start of the local file header. This allows software reading the central directory to locate the position of the file inside the ZIP file. |
46 | n | File name |
46+n | m | Extra field |
46+n+m | k | File comment |
End of central directory record (EOCD)[edit]
After all the central directory entries comes the end of central directory (EOCD) record, which marks the end of the ZIP file:
64-bit Download Windows 7
Offset | Bytes | Description[26] |
---|---|---|
0 | 4 | End of central directory signature = 0x06054b50 |
4 | 2 | Number of this disk |
6 | 2 | Disk where central directory starts |
8 | 2 | Number of central directory records on this disk |
10 | 2 | Total number of central directory records |
12 | 4 | Size of central directory (bytes) |
16 | 4 | Offset of start of central directory, relative to start of archive |
20 | 2 | Comment length (n) |
22 | n | Comment |
This ordering allows a ZIP file to be created in one pass, but the central directory is also placed at the end of the file in order to facilitate easy removal of files from multiple-part (e.g. 'multiple floppy-disk') archives, as previously discussed.
Compression methods[edit]
The .ZIP File Format Specification documents the following compression methods: Store (no compression), Shrink, Reduce (levels 1-4), Implode, Deflate, Deflate64, bzip2, LZMA (EFS), WavPack, and PPMd[27]. The most commonly used compression method is DEFLATE, which is described in IETF RFC 1951.
Compression methods mentioned, but not documented in detail in the specification include: PKWARE Data Compression Library (DCL) Implode, IBM TERSE, and IBM LZ77 z Architecture (PFS). A 'Tokenize' method was reserved for a third party, but support was never added.[citation needed]
Encryption[edit]
ZIP supports a simple password-based symmetric encryption system, which is documented in the ZIP specification, and known to be seriously flawed. In particular, it is vulnerable to known-plaintext attacks, which are in some cases made worse by poor implementations of random-number generators.[4]
New features including new compression and encryption (e.g. AES) methods have been documented in the ZIP File Format Specification since version 5.2. A WinZip-developed AES-based standard is used also by 7-Zip and Xceed, but some vendors use other formats.[28] PKWARE SecureZIP also supports RC2, RC4, DES, Triple DES encryption methods, Digital Certificate-based encryption and authentication (X.509), and archive header encryption.[29]
File nameencryption is introduced in .ZIP File Format Specification 6.2, which encrypts metadata stored in Central Directory portion of an archive, but Local Header sections remain unencrypted. A compliant archiver can falsify the Local Header data when using Central Directory Encryption. As of version 6.2 of the specification, the Compression Method and Compressed Size fields within Local Header are not yet masked.
ZIP64[edit]
The original .ZIP format had a 4 GiB (232 bytes) limit on various things (uncompressed size of a file, compressed size of a file, and total size of the archive), as well as a limit of 65,535 (216) entries in a ZIP archive. In version 4.5 of the specification (which is not the same as v4.5 of any particular tool), PKWARE introduced the 'ZIP64' format extensions to get around these limitations, increasing the limits to 16 EiB (264 bytes). In essence, it uses a 'normal' central directory entry for a file, followed by an optional 'zip64' directory entry, which has the larger fields.[30]
The File Explorer in Windows XP does not support ZIP64, but the Explorer in Windows Vista and later do.[citation needed] Likewise, some extension libraries support ZIP64, such as DotNetZip, QuaZIP[31] and IO::Compress::Zip in Perl. Python's built-in zipfile supports it since 2.5 and defaults to it since 3.4.[32] OpenJDK's built-in java.util.zip supports ZIP64 from version Java 7.[33]Android Java API support ZIP64 since Android 6.0.[34] Mac OS Sierra's Archive Utility notably does not support ZIP64, and can create corrupt archives when ZIP64 would be required.[35] However, the ditto command shipped with Mac OS will unzip ZIP64 files.[36]. More recent versions of Mac OS ship with the zip and unzip command line tools which do support Zip64: to verify run zip -v and look for 'ZIP64_SUPPORT'.
Combination with other file formats[edit]
The .ZIP file format allows for a comment containing up to 65,535 (216−1) bytes of data to occur at the end of the file after the central directory.[26] Also, because the central directory specifies the offset of each file in the archive with respect to the start, it is possible for the first file entry to start at an offset other than zero, although some tools, for example gzip, will not process archive files that do not start with a file entry at offset zero.
This allows arbitrary data to occur in the file both before and after the ZIP archive data, and for the archive to still be read by a ZIP application. A side-effect of this is that it is possible to author a file that is both a working ZIP archive and another format, provided that the other format tolerates arbitrary data at its end, beginning, or middle. Self-extracting archives (SFX), of the form supported by WinZip, take advantage of this, in that they are executable (.exe) files that conform to the PKZIP AppNote.txt specification, and can be read by compliant zip tools or libraries.
This property of the .ZIP format, and of the JAR format which is a variant of ZIP, can be exploited to hide rogue content (such as harmful Java classes) inside a seemingly harmless file, such as a GIF image uploaded to the web. This so-called GIFAR exploit has been demonstrated as an effective attack against web applications such as Facebook.[37]
Limits[edit]
The minimum size of a .ZIP file is 22 bytes. Such empty zip file contains only an End of Central Directory Record (EOCD):[0x50,0x4B,0x05,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
The maximum size for both the archive file and the individual files inside it is 4,294,967,295 bytes (232−1 bytes, or 4 GiB minus 1 byte) for standard ZIP. For ZIP64, the maximum size is 18,446,744,073,709,551,615 bytes (264−1 bytes, or 16 EiB minus 1 byte).[38]
Proprietary extensions[edit]
Extra field[edit]
.ZIP file format includes an extra field facility within file headers, which can be used to store extra data not defined by existing ZIP specifications, and which allow compliant archivers that do not recognize the fields to safely skip them. Header IDs 0–31 are reserved for use by PKWARE. The remaining IDs can be used by third-party vendors for proprietary usage.
Strong encryption controversy[edit]
When WinZip 9.0 public beta was released in 2003, WinZip introduced its own AES-256 encryption, using a different file format, along with the documentation for the new specification.[39] The encryption standards themselves were not proprietary, but PKWARE had not updated APPNOTE.TXT to include Strong Encryption Specification (SES) since 2001, which had been used by PKZIP versions 5.0 and 6.0. WinZip technical consultant Kevin Kearney and StuffIt product manager Mathew Covington accused PKWARE of withholding SES, but PKZIP chief technology officer Jim Peterson claimed that certificate-based encryption was still incomplete.
In another controversial move, PKWare applied for a patent on 16 July 2003 describing a method for combining ZIP and strong encryption to create a secure file.[40]
In the end, PKWARE and WinZip agreed to support each other's products. On 21 January 2004, PKWARE announced the support of WinZip-based AES compression format.[41] In a later version of WinZip beta, it was able to support SES-based ZIP files.[42] PKWARE eventually released version 5.2 of the .ZIP File Format Specification to the public, which documented SES. The Free Software project 7-Zip also supports AES in ZIP files (as does its POSIXportp7zip).
When using AES encryption under WinZip, the compression method is always set to 99, with the actual compression method stored in an AES extra data field.[43] In contrast, Strong Encryption Specification stores the compression method in the basic file header segment of Local Header and Central Directory, unless Central Directory Encryption is used to mask/encrypt metadata.
Implementation[edit]
There are numerous .ZIP tools available, and numerous .ZIP libraries for various programming environments; licenses used include proprietary and free software. WinZip, WinRAR, Info-ZIP, 7-Zip, PeaZip and B1 Free Archiver are well-known .ZIP tools, available on various platforms. Some of those tools have library or programmatic interfaces.
Some development libraries licensed under open source agreement are libzip and Info-ZIP. For Java: Java Platform, Standard Edition contains the package 'java.util.zip' to handle standard .ZIP files; the Zip64File library specifically supports large files (larger than 4 GB) and treats .ZIP files using random access; and the Apache Ant tool contains a more complete implementation released under the Apache Software License.
The Info-ZIP implementations of the .ZIP format adds support for Unix filesystem features, such as user and group IDs, file permissions, and support for symbolic links. The Apache Ant implementation is aware of these to the extent that it can create files with predefined Unix permissions. The Info-ZIP implementations also know how to use the error correction capabilities built into the .ZIP compression format. Some programs do not, and will fail on a file that has errors.
The Info-ZIP Windows tools also support NTFSfilesystem permissions, and will make an attempt to translate from NTFS permissions to Unix permissions or vice versa when extracting files. This can result in potentially unintended combinations, e.g. .exe files being created on NTFS volumes with executable permission denied.
Versions of Microsoft Windows have included support for .ZIP compression in Explorer since the Microsoft Plus! pack was released for Windows 98. Microsoft calls this feature 'Compressed Folders'.[citation needed] Not all .ZIP features are supported by the Windows Compressed Folders capability. For example, Unicode entry encoding is not supported until Windows 7, while split and spanned archives are not readable or writable by the Compressed Folders feature, nor is AES Encryption supported.[44]
Microsoft Office started using the zip archive format in 2006 for their Office Open XML .docx, .xlsx, .pptx, etc. files, which became the default file format with Microsoft Office 2007.
Legacy[edit]
There are numerous other standards and formats using 'zip' as part of their name. For example, zip is distinct from gzip, and the latter is defined in an IETFRFC (RFC 1952). Both zip and gzip primarily use the DEFLATE algorithm for compression. Likewise, the ZLIB format (IETF RFC 1950) also uses the DEFLATE compression algorithm, but specifies different headers for error and consistency checking. Other common, similarly named formats and programs with different native formats include 7-Zip, bzip2, and rzip.
See also[edit]
References[edit]
- ^ abcRegistration of a new MIME Content-Type/Subtype - application/zip, IANA, 20 July 1993, retrieved 5 January 2012
- ^'Phillip Katz, Computer Software Pioneer, 37'. The New York Times'. 1 May 2000. Retrieved 14 June 2009.
- ^Murray, Matt; Tannenbaum, Jeffrey A. (15 August 1997). 'The Rise and Fall of a Software Star; Phil Katz Loved Code -- and Liquor'. The Wall Street Journal (online ed.). Archived from the original on 20 October 2011. Updated 2000-06-19.
- ^ abStay, Michael. ''ZIP Attacks with Reduced Known Plaintext''(PDF). Math.ucr.edu. Archived from the original(PDF) on 28 October 2017. Retrieved 9 September 2017.
- ^Brian Livingston (8 September 2003), PKZip Must Open Up, retrieved 5 January 2012,
The ZIP file format is given freely into the public domain and can be claimed neither legally nor morally by any individual, entity or company
- ^Where Did Zip Files Come From Anyway?, Infinity Design Concepts, Inc., retrieved 5 January 2012
- ^Press Release, 1989, retrieved 5 January 2012
- ^Our Founder - Phil Katz, PKWARE, archived from the original on 1 October 2010, retrieved 5 January 2012
- ^Gareth Horton; Rob Weir; Alex Brown (2 November 2010), sc34-wg1, retrieved 5 January 2012
- ^.ZIP Application Note, retrieved 20 July 2012
- ^File: APPNOTE.TXT - .ZIP File Format Specification Version: 4.5 Revised: 11/01/2001, 3 December 2001, archived from the original on 3 December 2001, retrieved 21 April 2012
- ^APPNOTE.TXT - .ZIP File Format Specification, Version: 5.2 - Notification of Change, 16 July 2003, retrieved 5 January 2012
- ^File: APPNOTE.TXT - .ZIP File Format Specification Version: 5.2 - Notification of Change – Revised: 06/02/2003, 2 July 2003, archived from the original on 2 July 2003, retrieved 21 April 2012
- ^File: APPNOTE - .ZIP File Format Specification Version: 6.1.0 - Notification of Change – Revised: 01/20/2004, 19 August 2004, archived from the original on 19 August 2004, retrieved 21 April 2012
- ^APPNOTE.TXT - .ZIP File Format Specification, Version: 6.2.0 - Notification of Change, 26 April 2004, retrieved 5 January 2012
- ^APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.0, 29 September 2006, retrieved 5 January 2012
- ^APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.1, 11 April 2007, retrieved 25 June 2018
- ^APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.2, 28 September 2007, retrieved 25 June 2018
- ^APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.3, 1 September 2012, retrieved 25 June 2018
- ^APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.4, 1 October 2014, retrieved 25 June 2018
- ^APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.5, 20 December 2018, retrieved 3 January 2019
- ^'Additional Compression Methods Specification'. WinZip. Mansfield, CT: WinZip Computing, S.L. 19 May 2009. Retrieved 24 May 2009.
- ^'What is a Zipx File?'. Winzip: Knowledgebase. Mansfield, CT: WinZip Computing, S.L. 13 August 2010. Retrieved 17 August 2010.
- ^'Archived copy'(PDF). Archived from the original(PDF) on 12 May 2014. Retrieved 10 May 2014.CS1 maint: Archived copy as title (link)
- ^'ISO/IEC 21320-1:2015 Document Container File — Part 1: Core'. ITTF. 2015.
- ^ abcdef'File : APPNOTE.TXT - .ZIP File Format Specification : Version: 6.3.4'(TXT). Pkware.com. Retrieved 9 September 2017.
- ^Adler, Mark. 'How are zlib, gzip and zip related? What do they have in common and how are they different?'. Retrieved 27 November 2018.
- ^'AES Encryption Information: Encryption Specification AE-1 and AE-2'. Winzip.com. Retrieved 9 September 2017.
- ^'APPNOTE - PKZIP/SecureZIP - PKWARE Support Site'. Pkware.com. Retrieved 9 September 2017.
- ^'File : APPNOTE.TXT - .ZIP File Format Specification : Version: 6.3.4'(TXT). Pkware.cachefly.net. Retrieved 9 September 2017.
- ^'QuaZIP changes'. 22 January 2014. Retrieved 25 January 2014.
- ^'Python enhancement: Use allowZip64=True by default (3.4)'. Retrieved 6 May 2014.
- ^Shen, Xueming (17 April 2009). 'ZIP64, The Format for > 4G Zipfile, Is Now Supported'. Xueming Shen's Blog. Sun Microsystems. Retrieved 27 September 2010.
- ^'Sign in - Google Accounts'. code.google.com. Retrieved 9 September 2017.
- ^'Error: invalid central directory file header signature when unzipping big files, zipped by mac os · Issue #69 · thejoshwolfe/yauzl'. GitHub.
- ^'Extract large zip file (50 GB) on Mac OS X'. Retrieved 17 December 2018.
- ^McMillan, Robert. 'A photo that can steal your online credentials'. Infoworld.com. Retrieved 9 September 2017.
- ^'ZipArchive: Zip64 Format: Crossing the Limits of File Sizes and Number of Files and Segments'. Artpol-software.com. Retrieved 9 September 2017.
- ^'WinZip – AES Encryption Information'. Winzip.com. Retrieved 9 September 2017.
- ^'Archived copy'. Archived from the original on 13 May 2008. Retrieved 16 June 2008.CS1 maint: Archived copy as title (link)
- ^'Software makers patch Zip tiff'. News.com. Retrieved 9 September 2017.
- ^John Leyden. 'Zip file encryption compromise thrashed out'. Theregister.co.uk. Retrieved 9 September 2017.
- ^'AES Encryption Information: Encryption Specification AE-1 and AE-2'. Winzip.com. Retrieved 9 September 2017.
- ^'Why is Windows Compressed Folders (Zip folders) support stuck at the turn of the century?'.
External links[edit]
- .ZIP Application Note—landing page for PKWARE's current and historical .ZIP file
Format Specifications:
- Structure of PKZip file—graphical tables