UPX (Ultimate Packer for eXecutables) is a free and open source executable packer with a nice set of features distinguishing it from other executable packers. It is exceptionally useful if you need the executables to stay within a certain size limit, which is helpful when you want to store a large number of executables on distribution media like DVDs or CDs, for example.
UPX compresses executable files better than file archivers because it is specifically designed to pack executables. Be mindful though that UPX doesn’t create archives like WinRAR or WinZip, it just creates a compressed version of the executable and combines it with decompression code.
The most remarkable feature of UPX is that it decompresses compressed executables with no memory overhead. That’s because it utilizes in-place decompression. Most typically, executable packers allocate a block of memory to hold the decompressed data when decompressing as long as the executable is running. Even if you need to run an executable multiple times, this isn’t usually noticeable unless your operating system uses a swap file. In this case, because the operating system cannot reuse data blocks already created for previous decompressions, it will allocate new blocks to store decompressed data each time you run the file. However, this shouldn’t be an issue if you use UPX.
UPX compresses executables extremely fast – even on ancient systems running on Pentium 133, for instance, it compresses at 10 MB/sec.
Another advantage of UPX is that it is open source, meaning that it can be reconfigured to support new executable formats or new compression algorithms.
Like other executable packers, UPX makes reverse engineering much more difficult, although it cannot prevent it completely. It just makes the process costlier and thus less likely.
A common issue that UPX shares with other executable packers is that older virus scanners report compressed executables as viruses because of shared features between them. However, if you use a modern antivirus, you probably won’t run into this problem as most of the modern scanners are able to unpack different compression layers to examine the actual executable.
So is UPX necessary for you? If your computer or distribution media have enough storage for your executables, you can perfectly get along without UPX. After all, executable packers have been the most popular when Floppy disks with their extremely limited storage have still been widely used. But if you have strict storage requirements, UPX will surely come in handy.
Last month's downloads
Last week's downloads
|2||Software Ideas Modeler|
|3||Software Ideas Modeler Portable x64|
|6||Iron Speed Designer|
|9||ELENA Integrated Development Environment|
|10||Java Runtime Environment|
|11||Java Runtime Environment 64bit|