UPX Message Boards
Announcements
Discussion
Applications
Data Compression
LZO
lzop
NRV
UCL
UPX
Links
Homepage
Projects
Compression Links
Email me
Markus F.X.J. Oberhumer
  |  | the Ultimate Packer for eXecutables Version 1.20 23 May 2001 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Markus F.X.J. Oberhumer & László Molnár [News] [Abstract] [Download] [Beta versions] [Examples] [Overview] [Formats] [Disclaimer] [Copyright] ### News http://upx.sourceforge.net/ now is the new canonical UPX home. Please update your bookmarks and do not use the old http://upx.tsx.org any longer. UPX 1.20 has been released - featuring a native port to atari/tos. See the file NEWS for more info. Visit the UPX Message Board for discussions about problems, features, GUI frontends, and more. We'd like to hear from you if you are a happy author that uses UPX to compress your programs! Please announce your files on the new UPX Application Board. The UCL compression library has been released. UCL is a re-implementation of some especially efficient NRV compression algorithms. This is the first step of the UPX source code release as UCL contains all of UPX's stub decompressors. UPX is rated number one in the well-known Archive Comparison Test . ### Abstract UPX is copyrighted software distributed under the terms of the GNU General Public License, with special exceptions granting the free usage for commercial programs as stated in the UPX License Agreement. UPX 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. While you may use UPX freely for both non-commercial and commercial executables (for details see the license), we would highly appreciate if you credit UPX and ourselves in the documentation, possibly including a reference to the UPX home page. Thanks. UPX aims to be Commercial Quality Freeware. ### Download
  File | Description | Size
  --- | --- | ---
  upx120w.zip | Win32 console version | 118 kB
  upx120d.zip | 32-bit DOS version | 174 kB
  upx120a.zip | Atari version | 185 kB
  upx-1.20-linux.tar.gz | precompiled Linux version | 273 kB
  upx-1.20-src.tar.gz | source code (you also need UCL) | 200 kB
  All versions are functionally equivalent, i.e. each version can handle all executable formats. Windows users should prefer the Win32 version because of better long filename support. Nice GUI frontends for Windows 95/98/ME/NT/2000 are under development. Stay tuned. Just in case, here is an archive of old versions. ### Unstable beta versions All versions 1.1x and 1.9x are unstable beta releases - use them only for testing, and never distribute a program that is packed with them! There will be hidden bugs. The current stable release is 1.20, and the next stable release will be called version 2.00. The main news in the unstable versions are support for bootable Linux kernels ("vmlinuz/386") and direct Linux ELF-to-memory decompression ("linux/elf386"). There's no reason to download the unstable versions unless you want to try the new formats.
  File | Description | Size
  --- | --- | ---
  upx-1.11-linux.tar.gz | precompiled Linux version | 313 kB
  upx111w.zip | Win32 console version | ---
  upx111d.zip | 32-bit DOS version | ---
  sourceforge.net | CVS source code (you also need UCL) | n/a
  ### Examples Let's start with some examples to give you an idea about the capabilities of UPX:
  Application | Format | Executable | Original | Compressed | Ratio
  --- | --- | --- | --- | --- | ---
  Netscape 4.06 | win32/pe | netscape.exe | 2,934,336 | 1,124,352 | 0.383
  Descent 2 | watcom/le | descent2.exe | 1,448,873 | 652,832 | 0.451
  MAME 0.36 | djgpp2/coff | mame.exe | 8,214,016 | 1,810,056 | 0.220
  OneOhOne | dos/exe | 101.exe | 438,144 | 179,566 | 0.410
  Emacs 20.2 | linux/386 | emacs-20.2 | 2,772,657 | 925,543 | 0.334
  g++ 2.8.1 | atari/tos | cc1plus.ttp | 1,595,049 | 655,508 | 0.411
  Total | 17,403,075 | 5,347,857 | 0.307
  ### Overview UPX is a versatile executable packer with the following features: excellent compression ratio: typically compresses better than WinZip/zip/gzip, use UPX to decrease the size of your distribution ! very fast decompression: more than 10 MB/sec even on my old Pentium 133 no memory overhead for your compressed executables 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: atari/tos djgpp2/coff dos/com dos/exe dos/sys linux/386 rtm32/pe tmt/adam watcom/le (supporting DOS4G, PMODE/W, DOS32a and CauseWay) win32/pe 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 distibuted with full source code under the GNU General Public License, and may be used freely even with commercial programs. You probably understand now why we call UPX the "Ultimate Packer for eXecutables". UPX is based on experience with our previous packers DJP and lzop and uses the NRV compression library. ### Supported executable formats Here is a detailed list of all supported executable formats:
  UPX | Pack | Unpack | Description | Link
  --- | --- | --- | --- | ---
  atari/tos | X | X | Atari TOS/MiNT executable | FreeMiNT portal
  djgpp2/coff | X | X | DOS 32-bit COFF | djgpp homepage
  dos/com | X | X | DOS 16-bit .com file |
  dos/exe | X | X | DOS 16-bit executable |
  dos/sys | X | X | DOS 16-bit .sys file |
  linux/386 | X | X | Linux AOUT/ELF/script | Linux
  rtm32/pe | X | X | Windows 95/98/ME/NT/2000 executable or DLL |
  tmt/adam | X | X | DOS 32-bit executable | TMT Pascal
  watcom/le | X | X | DOS 32-bit linear executable | Watcom C/C++
  win32/pe | X | X | Windows 95/98/ME/NT/2000 executable or DLL |
  ### Disclaimer UPX comes with ABSOLUTELY NO WARRANTY; for details see the UPX License Agreement. Having said that, we think that UPX is quite stable now. Indeed we have compressed lots of files without any problems. Also, the current version has undergone several months of beta testing - actually it's almost 3 years since our first public beta. This is the first production quality release, and we plan that future releases will be backward compatible with this version. Please report all problems or suggestions to the authors. Thanks. ### False virus alerts Some very old anti-virus scanners or monitors may warn about an unknown virus in UPX compressed files. The files are not infected ! Please update your anti-virus software and database to the latest version if you are encountering these false alerts. ### Copyright
      Copyright (C) 1996-2001 Markus Franz Xaver Johannes Oberhumer
      Copyright (C) 1996-2001 Laszlo Molnar
      All Rights Reserved.

      This program may be used freely, and you are welcome to
      redistribute 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.
Share and enjoy, Markus & László

This page has been accessed |  | times since 23 Jan 2000.

The term UPX is a shorthand for the Ultimate Packer for eXecutables and holds no connection with potential owners of registered trademarks or other rights.