I've already written about two PKZIP bugs related to the "Implode" compression method. Now I've come across another one, so I guess I'll investigate it as well. Here are the first two: Bug #1 (MML)Bug #2 (v1.01 literal tree issue) There's an old collection of files called the Pier 1 Shareware CDROM (#1). On it … Continue reading PKZIP Implode bug #3
This post is part of a series about WinHelp file format. Please read the other parts first: Part 1Part 2 With what we learned previously, we can decompress the TOPIC blocks, locate the TOPICLINKs, and stitch each TOPICLINK's fragments together to make each TOPICLINK a contiguous blob of bytes: A defragmented TOPICLINK is composed of … Continue reading Notes on WinHelp format, part 3
This post is part of a series about WinHelp file format. Part 1 - Read this first.Part 3 The internal TOPIC file (named "|TOPIC") is the business part of the HLP file. It contains the text, and other information. To read the TOPIC file, you need to know the TOPIC "block size", which will be … Continue reading Notes on WinHelp format, part 2
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
I wanted to write a program to extract the text from WinHelp .HLP files. HLP format was the standard Microsoft Windows help/documentation file format from around 1990 (the start of the Windows 3.x era), through the early 2000s. There are countless old Windows applications that come with an HLP file, but starting with Vista, Windows … Continue reading Notes on WinHelp format, part 1
Shortly after the development of the JPEG image format around 1991, an organization named the Independent JPEG Group (IJG) released an open source software package to help people use the format. While the software included a few utilities, such as cjpeg and djpeg, the important part of it was its C library. The library became … Continue reading What is the name of libjpeg?
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