If you look at old DOS and Windows software distribution disks, you may see a lot of files whose names have the last character replaced by a "_" character, or sometimes a "$" character. For example: mplayer.ex_ mplayer.hl_ mplayer.re_ msacm.dl_ msacm.dr_ msadpcm.ac_ mscomstf.dl_ ... Many such files belong to a family of compressed file formats … Continue reading Survey of EXPAND/DECOMP utilities
This post is part of a series about PKLITE format. For a list of all the posts, see the first post. In a previous post, I noted that some PKLITE-compressed executable files are more difficult to deal with, because most of the decompressor is obfuscated. I named the obfuscation format "scrambled". In this post, I'll … Continue reading Notes on PKLITE format, Supplement 1: Descrambling
ARJ is a compressed archiver utility and format, with features similar to ZIP. It seems at first to have five compression methods, with ID numbers 0 through 4. Method 0 is for no compression, so it's easily dealt with. Methods 1 through 3 are really all the same. They record how hard the compressor tried … Continue reading ARJ compression method 4
This post is about RAR, a file compression and archiving file format in the same category as ZIP. It's known for its association with the WinRAR software, but there are also command-line and text-mode versions of the software that are just named RAR. RAR supports two kinds of comments: A main "archive comment", for the … Continue reading Survey of RAR comment formats
There are a lot of old DOS-centric file formats, especially file archiving and compression formats, which store timestamps of files. Most of them use the standard MS-DOS timestamp format for such things. This format is usually interpreted as two 16-bit integers: one for the date, and one for the time of day. I'm not sure, … Continue reading Which comes first in DOS timestamps, the date or the time?
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
This post will explain the important differences between compressed EXE files made by the v1.00beta version of PKLITE, and those made by release versions. It is a continuation of Part 5 -- please read that first. For an introduction to PKLITE, and a list of the other posts in this series, see Part 1. History … Continue reading Notes on PKLITE format, Part 6
In this post, I'll suggest some more algorithms and strategies that could be used as part of a PKLITE-compressed EXE decompression utility. For an introduction to PKLITE, and a list of the other posts in this series, see Part 1. This post uses some of the EXE jargon defined in my post on DOS EXE … Continue reading Notes on PKLITE format, Part 5
I'm not asking how to implement LZSS. I'm asking how to distinguish things-that-are-LZSS from things-that-are-not-LZSS. It's generally understood that LZSS is a kind of data compression. It's supposedly a derivative of LZ77. But you may struggle to find out anything definitive or verifiable about LZSS. The name LZSS is more than likely derived from Lempel–Ziv–Storer–Szymanski, … Continue reading What is LZSS compression?
The LHarc family of software (including LHA, etc.) is an old compression and archiving utility, originally for DOS computers. I've found the LHarc version history to be confusing in a number of ways. In this post, I'll try to explain what's what, to the best of my knowledge. LHarc is comparable to its contemporaries PKZIP … Continue reading Survey of LHarc and LHA versions and names