Features: - Support for all types of PE files (exe, dll, ocx) - Compression of program code, data, and resources - Section naming support. It is shooting for loose compatibility with the flavor of LZW found in the classic UNIX compress (1), though there are a few variations out there today. NPack v.2.0.100.2008 nPack is a Win32 PE executable file compressor. Compress::LZW is a perl implementation of the Lempel-Ziv-Welch compression algorithm, which should no longer be patented worldwide. As the stream is processed, the dictionary state in both the compressor and decompressor should match. DiPacker v.1.4 diPacker is an advanced executable file compressor for PDA, capable of reducing the file size of programs by as much as 70.
#Lzw decompressor download update
The decompressor does the reverse: given the data from the stream, it can output the decompressed data, and do the same update to the dictionary ready for the next symbol. The compressor outputs data to the stream, and then extends the dictionary to reflect that data. but normally the LZW compressor and decompressor would both start off with the same initial dictionary.
It's been a few years, so I might not remember the exact details. IIRC, it's necessary to know some things about the dictionary like it's size, but it's exact content can be rebuilt.
It's not necessary to store the dictionary produced by the compressor. The trick with LZW is that the decompressor can rebuild the dictionary as it decodes the stream (from the beginning). I also believe I need to find some sort of table in the gif's code that will contain 4096 strings that will be used to decode the data.