News
12 Dec 2011: UPX 3.08 has been released. It is a minor 3.0x maintenance release to version 3 whose major additions were:
- optional LZMA compression
- support for BSD systems
To know more about this release, see the detailed changelog. Please report all problems and bugs in our bug tracker.
Share and enjoy,
Markus, LГЎszlГі & John
Supported executable formats
Format full name | Format description |
---|---|
amd64-linux.elf
amd64-linux.kernel.vmlinux |
Linux ELF
Linux kernel |
arm-linux.elf
arm-linux.kernel.vmlinux arm-wince.pe |
Linux ELF
Linux kernel Windows CE executable or DLL |
armeb-linux.elf
armeb-linux.kernel.vmlinux |
Linux ELF
Linux kernel |
fat-darwin.macho | Mac OS X executable |
i086-dos16.com
i086-dos16.exe i086-dos16.sys |
DOS 16-bit .com file
DOS 16-bit executable DOS 16-bit .sys file |
i386-bsd.elf.execve
i386-darwin.macho i386-dos32.djgpp2.coff i386-dos32.tmt.adam i386-dos32.watcom.le i386-freebsd.elf i386-linux.elf i386-linux.elf.execve i386-linux.elf.shell i386-linux.kernel.bvmlinuz i386-linux.kernel.vmlinux i386-linux.kernel.vmlinuz i386-netbsd.elf i386-openbsd.elf i386-win32.pe |
BSD generic
Mac OS X executable DOS 32-bit COFF DOS 32-bit executable DOS 32-bit linear executable FreeBSD ELF Linux ELF Linux generic Linux shell script Linux kernel Linux kernel Linux kernel NetBSD ELF OpenBSD ELF Windows 32-bit executable or DLL |
m68k-atari.tos | Atari TOS/MiNT executable |
mips-linux.elf | Linux ELF |
mipsel-linux.elf
mipsel.r3000-ps1 |
Linux ELF
PlayStation 1 executable |
powerpc-darwin.macho
powerpc-linux.elf powerpc-linux.kernel.vmlinux |
Mac OS X executable
Linux ELF Linux kernel |
Overview
UPX 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 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 v2+, with special exceptions granting the free usage for commercial programs as stated in the UPX License Agreement.
You probably understand now why we call UPX the "Ultimate Packer for eXecutables". UPX aims to be commercial quality free software, based on experience with our previous packers (DJP, lzop, and the NRV library).
Download
File | OS/Hardware |
---|---|
upx308w.zip | Win32/i386 |
upx-3.08-i386_linux.tar.bz2 | Linux/i386 |
upx-3.08-amd64_linux.tar.bz2 | Linux/AMD64 |
upx-3.08-armeb_linux.tar.bz2 | Linux/ARM |
upx-3.08-mipsel_linux.tar.bz2 | Linux/MIPS |
upx-3.08-powerpc_linux.tar.bz2 | Linux/PPC |
upx308d.zip | DOS/i386 |
upx308a.zip | Atari TOS-MiNT/m68k |
upx-3.08-src.tar.bz2 | Source code (you will need UCL) |
Just in case, here is the archive of old versions.
Legal terms
Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2011 LГЎszlГі MolnГЎr
Copyright (C) 2000-2011 John F. Reiser
All Rights Reserved. This program may be used freely, and you are welcome to redistribute and/or modify it under certain conditions.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the UPX License Agreement for more details.