UPX is an advanced executable file compressor. UPX will typically reduce the file size of programs and DLLs by around 50%-70%, thus reducing disk space, network load times, download times and other distribution and storage costs.
Programs and libraries compressed by UPX are completely self-contained and run exactly as before, with no runtime or memory penalty for most of the supported formats.
UPX supports a number of different executable formats, including Windows 95/98/ME/NT/2000/XP/CE programs and DLLs, DOS programs, and LINUX EXECUTABLES AND KERNELS.
Source code
https://github.com/upx/upx