UPX (Ultimate Packer for eXecutables) is a free, portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Your executables suffer no memory overhead or other drawbacks because of in-place decompression.
UPX is copyrighted software distributed under the terms of the GNU General Public License, with special exceptions granting the free usage for commercial programs as stated in the UPX License Agreement. UPX uses the NRV compression library for compression services. A compatible but somewhat less efficient OpenSource implementation is available through the UCL compression library. UPX strengths in a nutshell:
• excellent compression ratio: typically compresses better than WinZip/zip/gzip, use UPX to decrease the size of your distribution!
• very fast decompression: ~10 MB/sec on an ancient Pentium 133, ~200 MB/sec on an Athlon XP 2000+.
• no memory overhead for your compressed executables because of in-place decompression.
• safe: you can list, test and unpack your executables. Also, a checksum of both the compressed and uncompressed file is maintained internally.
• universal: UPX can pack a number of executable formats.
• portable: UPX is written in portable endian-neutral C++
• extendable: because of the class layout it’s very easy to add new executable formats or new compression algorithms
• free: UPX is distributed with full source code under the GNU General Public License, and may be used freely even with commercial programs.
Changes in UPX 3.09 (18 Feb 2013):
* New option –preserve-build-id for GNU ELF.
* Allow for code signing and LC_UUID on Mac OS X executables.
* Allow non-contiguous LC_SEGMENTs and 0==.vmsize for Mach-O.
* Allow zero-filled final page in PackUnix::canUnpack().
* bug fixes
Homepage – http://upx.sourceforge.net
Size: 345 KB