好友
阅读权限40
听众
最后登录1970-1-1
|
the Ultimate Packer for eXecutables
Version 3.04
27 Sep 2009
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Markus F.X.J. Oberhumer, László Molnár & John F. Reiser
[News] [Abstract] [Download] [Beta versions] [Examples]
[Overview] [Formats] [Disclaimer] [Copyright]
News
UPX 3.04 has been released. Please report all problems and bugs in our bug tracker.
The main news in version 3 are:
optional LZMA compression
support for BSD systems
Also have a look at the more detailed ChangeLog.
Abstract
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 for most of the formats supported, because of in-place decompression.
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 uses the NRV compression library for compression services. A compatible but somewhat less efficient OpenSource implementation is available through the UCL compression library.
UPX aims to be Commercial Quality Freeware.
Download
File Description
upx304w.zip Win32 console version
upx-3.04-i386_linux.tar.bz2 precompiled i386-linux version
upx-3.04-amd64_linux.tar.bz2 precompiled amd64-linux version
upx-3.04-armeb_linux.tar.bz2 precompiled armeb-linux version
upx-3.04-mipsel_linux.tar.bz2 precompiled mipsel-linux version
upx-3.04-powerpc_linux.tar.bz2 precompiled powerpc-linux version
upx304d.zip 32-bit DOS version
upx304a.zip Atari TOS/MiNT version
upx-3.04-src.tar.bz2 source code
(you also need UCL)
All versions are functionally equivalent, i.e. each version can handle all executable formats.
Just in case, here is an archive of old versions.
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: ~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, 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:
Format full name Pack Unpack Description Links
amd64-linux.elf X X Linux ELF Linux, AMD64
amd64-linux.kernel.vmlinux X X Linux kernel
arm-linux.elf X X Linux ELF Linux, ARM
arm-linux.kernel.vmlinux X X Linux kernel
arm-wince.pe X X Windows CE executable or DLL Windows CE, ARM
armeb-linux.elf X X Linux ELF Linux, ARM
armeb-linux.kernel.vmlinux X X Linux kernel
fat-darwin.macho X X Mac OS X executable
i086-dos16.com X X DOS 16-bit .com file
i086-dos16.exe X X DOS 16-bit executable FreeDOS homepage
i086-dos16.sys X X DOS 16-bit .sys file
i386-bsd.elf.execve X X BSD generic
i386-darwin.macho X X Mac OS X executable Darwin, i386
i386-dos32.djgpp2.coff X X DOS 32-bit COFF djgpp homepage
i386-dos32.tmt.adam X X DOS 32-bit executable TMT Pascal
i386-dos32.watcom.le X X DOS 32-bit linear executable Open Watcom C/C++
i386-freebsd.elf X X FreeBSD ELF FreeBSD
i386-linux.elf X X Linux ELF Linux, i386
i386-linux.elf.execve X X Linux generic
i386-linux.elf.shell X X Linux shell script
i386-linux.kernel.bvmlinuz X - Linux kernel
i386-linux.kernel.vmlinux X X Linux kernel
i386-linux.kernel.vmlinuz X - Linux kernel
i386-netbsd.elf X X NetBSD ELF NetBSD
i386-openbsd.elf X X OpenBSD ELF OpenBSD
i386-win32.pe X X Windows 32-bit executable or DLL
m68k-atari.tos X X Atari TOS/MiNT executable FreeMiNT portal, m68k
mips-linux.elf X X Linux ELF Linux, MIPS
mipsel-linux.elf X X Linux ELF Linux, MIPS
mipsel.r3000-ps1 X X PlayStation 1 PlayStation, MIPS
powerpc-darwin.macho X X Mac OS X executable Darwin, PowerPC
powerpc-linux.elf X X Linux ELF Linux, PowerPC
powerpc-linux.kernel.vmlinux X X Linux kernel
Disclaimer
UPX comes with ABSOLUTELY NO WARRANTY; for details see the UPX License Agreement.
Please report all problems or suggestions to the authors. Thanks.
Copyright
Copyright (C) 1996-2009 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2009 Laszlo Molnar
Copyright (C) 2000-2009 John F. Reiser
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ó & John
很不错,终于更新了。 |
|