Notes on some old self-extracting ZIP archives

The old PKZIP compression software for DOS includes a utility named "ZIP2EXE", which turns a plain ZIP file into a self-extracting executable file in DOS EXE format. Depending on the version of PKZIP/ZIP2EXE, and the options used, there are several different ways in which this EXE file is constructed. I wanted to learn about these … Continue reading Notes on some old self-extracting ZIP archives

Testing some LZ77 compression limits

This post is about data compression algorithms that involve LZ77, or a similar kind of compression. It's mainly about old-school compression algorithms and software. There is some information about LZ77 in my post about LZ77 prehistory. I won't explain it in detail here, but here are some things to know about it. Both the compressor … Continue reading Testing some LZ77 compression limits

Another Implode bug in old PKZIP software

In a previous post, I discussed an old PKZIP bug related to the compression method named "Implode". I'll call that bug the "MML bug", for "Minimum Match Length". [See also a later post: Bug #3.] In this post, I'll discuss another old PKZIP bug related to Implode compression, mainly just to distinguish it from that … Continue reading Another Implode bug in old PKZIP software

Investigating an UnZip decompression bug

One of the old compression methods for ZIP format is named "Shrink". In the process of writing my own Shrink decompressor, I came across a problem with the Info-ZIP UnZip software. It's triggered by a small percentage of Shrink-compressed files. As an example, I'll use the file that you can download here: BLING.WAV. Now, in … Continue reading Investigating an UnZip decompression bug

PKZIP “Implode” compression oddity

When I was researching old versions of PKZIP, I found that modern unzip programs aren't able to unzip the PKZIP v1.01 distribution file. Three of the member files inside the self-extracting ZIP file fail to decompress correctly. /cygdrive/c/dosprogs/ZIPTEST/101 $ unzip ../DIST/PKZ101.EXE exploding: README.DOC warning: 475 bytes required to uncompress to 873 bytes; supposed to require … Continue reading PKZIP “Implode” compression oddity

Survey of ZIP APPNOTE documents

[2019-09-21: I've edited this document to include some new discoveries.] I already wrote an article about the version history of the PKZIP software, so now it's time for one about the version history of the ZIP format. That sounds like it should be easy, but… not so much. I think the format versions are more … Continue reading Survey of ZIP APPNOTE documents

Survey of PKZIP versions for MS-DOS

I wanted to know exactly what versions of the old PKZIP compression software were publicly released for MS-DOS, and some basic characteristics about them, particularly what compression methods they used when compressing files. Sure, Wikipedia has a list, but it wasn't quite what I wanted, and it omitted at least one version I was pretty … Continue reading Survey of PKZIP versions for MS-DOS