the Ultimate Packer for eXecutables is a free, multiplatform, open-source executables packer.
UPX allows the compression of many different executable formats. To perform the compression either the UCL or LZMA algorithems are used. When using UCL the executable can in many cases decompressed in place without additional memory use.
UPX can be used as a first line of obfuscation as the executable must be decompressed before analysis.