PAKLEO
PAKLEO is a compressed archive utility for DOS, and associated .PLL format. It was developed by Leonardus Leonardi and ThunderSoft.
The compression utility is PAKLEO, and the decompression utility is UNPAKLEO. The format is possibly named LEOLZW (see also LZW).
Contents |
Discussion
Version 1.06 has a filename matching bug significant enough to mention. By way of example, if you try to archive a file named "ABC.XYZ", it will also archive files named "AB.XYZ" and "A.XYZ", if they exist.
Format details
The format is an incompatible variant of LHA, most similar to LHA's "header level 0".
CRC algorithm
PAKLEO uses a different CRC algorithm than LHA. It seems to be a variant of the common CRC-32/ISO-HDLC algorithm. The differences are that the initial value is 0 (instead of 0xffffffff), and the bits are not inverted at the end.
Compression methods
Method "-ll0-
" is uncompressed.
Method "-ll1-
" appears to be a fairly simple implementation of LZW. Bit order is msb-first. The code size starts at 9 bits, can be increased up to at least 14 bits, and is not auto-incremented. There are three special codes: 256 = stop; 257 = increment code size; 258 = clear.
Self-extracting archives
Included in the distribution is PLL2EXE, a utility that converts a PLL file to a self-extracting archive in EXE form.
Identification
Version 1.05/1.06 seems to require that a PLL file start with a 37-byte signature: ASCII "LEOLZW - (c) Leonardus Leonardi 1993
", followed by byte value 0x1a
. ASCII "-ll
" should appear at offset 39.
A self-extracting PAKLEO archive apparently contains an embedded PLL file in the "overlay" segment (refer to MS-DOS EXE#Special file positions). For v1.05, that's probably always at offset 16381.