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 for most of the formats supported, because of in-place decompression.
UPX is copyrighted software distributed under the terms of the GNU General Public License. And with special exceptions granting the free usage for commercial programs as stated in the UPX License Agreement.
This app uses the NRV compression library for compression services. A compatible but somewhat less efficient OpenSource implementation is available through the UCL compression library.
- 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: 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: Distributed with full source code under the GNU General Public License v2+. With special exceptions granting the free usage for commercial programs as stated in the License Agreement.
Changes in version 4.1.0 (08 Aug 2023)::
- ELF: handle shared libraries with more than 2 PT_LOAD segments
- Bug fixes
Changes in version 4.0.2 (30 Jan 2023)::
- Bug fixes
Changes in version 4.0.0 (28 Oct 2022):
- Switch to semantic versioning
- SECURITY NOTES: emphasize the security context in the docs
- Support easy building from source code with CMake
- Support easy rebuilding the stubs from source with Podman/Docker
- Add integrated doctest C++ testing framework
- Add support for EFI files (PE x86; Kornel Pal)
- bug fixes – see https://github.com/upx/upx/milestone/6
- bug fixes – see https://github.com/upx/upx/milestone/7
Changes in version 3.95 (August 26, 2018):
- Flag — android-shlib to work around bad design in Android
- Flag — force-pie when ET_DYN main program is not marked as DF_1_PIE
- Better compatibility with varying layout of address space on Linux
- Support for 4 PT_LOAD layout in ELF generated by binutils-2.31
- Bug fixes, particularly better diagnosis of malformed input
- Bug fixes
Homepage – https://upx.github.io
Size: 591 KB