| jnicolle.com |
11/15/2005 - New packers (JDPack, NSPack, UPack) can be found here. I haven't tested them.
12/29/2004 - Here's a new PE compression test page and a new packer MEW.
05/08/2004 - Updated PECompact 2.08 (supports third-party compression codecs now) and UPX 1.24.
11/10/2002 - Added ExeBundle
09/07/2002 - Added Thinstall, PEBundle and Fusion into the new 'EXE bundlers' section.
07/10/2002 - Updated ASPack 2.12 and UPX 1.22.
Here's some Windows 9x/NT Win32 executable compressor utilities. They compress EXE/DLL files in a special way so that they are still executable.
I tested the utilities by compressing this file.exe (421KB). I wanted to find out which utility was best for me. My personal requirements are (1) a good compression ratio, (2) a low price (or better, free software), and (3) a nag-free trial.
Here's a summary table of my findings.
| Compressor | File size after compression (1)(2) | GUI (3) | Command line | Shell extension (4) | Nag-free trial (5) | Price (6) | Note |
| ASPack 2.12 | 164KB | Yes | Yes | Yes | Yes | $29/$49/$179 | Fast compression. |
| CExe 1.0a | 222KB | No | Yes | No | Yes | Free! | The compressor works only under NT. Source code available. |
| MEW 11 SE 1.2 | 166KB | Yes | Yes | No | Yes | Free! | Use special LZMA E8/E9 compression flag to get extra compression |
| NeoLite 2.0 | 212KB | Yes | Yes | Yes | No | $25/$125/$330 | Trial with nag screen at run-time. |
| PECompact 2.08 (standard compression) |
169KB | Yes | Yes | Yes | Yes | $0/$30/$100 | - |
| PECompact 2.08 (LZMA compression) |
153KB (best!) | Yes | Yes | Yes | Yes | $0/$30/$100 | Supports third-party compression codecs, watermarks, PE trim... |
| Petite 2.2 | 188KB | Yes | Yes | Yes | Yes | $15/$45/$220 | Very fast default compression. |
| PKLite32 1.1 | 232KB | Yes | Yes | Yes | No | $46/$146 | - |
| Shrinker 3.4 | 247KB | Yes | Yes | No | No | $199 | - |
| UPX 1.24 | 163KB | No | Yes | No | Yes | Free! | Multi platform. Source code available. GUI frontend available here. |
| WWPack32 1.20 | 204KB | Yes | No | No | No | $20/$50/$80 | - |
(1) I use the default compression setting. You can usually get extra compression by
changing the settings, but then the compression can get a lot slower.
(2) As a comparison, WinZip
compresses the file down to 211KB, but you loose the ability to execute the file without
un-zipping first.
(3) GUI stands for 'graphical user interface', i.e. windowed interface instead of a prompt (or command-line) interface.
(4) 'Shell-extension' means that you can right-click on a file and say 'compress'.
(5) All the trial versions are fully functional, but some feature annoying nag-screens.
(6) See the compressors home page for details.
After running the compressors, I was still able to ZIP the files and get additional compression. The combined compression is better than what you can get by zipping directly the uncompressed EXE.
A note of caution: always keep backup copies of the files you compress. All utilities have an option to make backups for you. Delete the backups only once you have exercised the compressed files.
Also, compressing your EXEs can be bad, here's why.
This test suite focuses on features that are important for me. You may have different needs.
Also, to be more accurate, I would have to test more EXEs, compatibility stuff, additional features... but you can find here a
more complete benchmark.
Of course, the best is to try these utilities and decide by yourself!
There is new breeds of applications that, in addition of compressing an EXE, can also bundle together DLLs and data files, so that these files are not visible to the end-user (they are never written to disk).
More EXE packers here.