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

Will the real PKZ110.EXE please stand up?

I've been researching the version history of PKZIP, the once-popular compression software that gave us the still-popular ZIP file format. There are two important MS-DOS versions of it: v1.10, released in March 1990, which was the latest official version for more than 2.5 years, until v2.04c(?) was released in December 1992.v2.04g, released February 1993, which … Continue reading Will the real PKZ110.EXE please stand up?

Survey of PackBits-like RLE compression schemes

This post is a survey of some run-length encoding (RLE) data compression formats, most of which are used for bitmapped graphics. One such format is PackBits. It's sort of the granddaddy of them, or the canonical example of such a format. Sometimes, formats similar to it are said to be "PackBits-like", though the term doesn't … Continue reading Survey of PackBits-like RLE compression schemes

Analyzing some Windows Write files

Write is the word processing program that came with Microsoft Windows 3.x (and earlier versions of Windows, but it's 3.x that I'm concerned with here). Many thousands of free and shareware programs were written for Windows 3.x, and a lot of them include some documentation in Write's WRI file format. Objectively, most of them should … Continue reading Analyzing some Windows Write files

Detecting MacBinary format

Classic Mac OS (the main Macintosh operating system from 1984-2001) had an interesting way of storing files. Each file potentially consists of two separate byte streams, known as the data fork and resource fork. Additionally, some important information was stored in the file's directory entry, using features of the Mac's native MFS and HFS filesystems. … Continue reading Detecting MacBinary format

Examining the SHA-1 collision files

SHA-1 is a cryptographic hash function. You give it a computer file, and it produces a 160-bit hash that is completely determined by the input file, but not in any obvious way. In early 2017, a group of researchers, using advanced mathematics and 6500 CPU-years of computer searching, found the first ever SHA-1 collision: two … Continue reading Examining the SHA-1 collision files