UPX (the Ultimate Packer for eXecutables) is a very comprehensive executable file compression software that supports executable files on almost all platforms, including dos/exe, dos/com, dos/sys, djgpp2/coff, watcom/le, win32/pe, rtm32/pe, tmt/adam, atari/tos, linux/i386, etc. With an excellent compression ratio, you can also compare uncompressed files with those that are compressed.
Changes in UPX 3.96 (January 23, 2020):
Changes in UPX 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 dyed 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, notlylyly better diagnosis of malformed input