From 312fc060235049712829d75f45a81a47022a5130 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 19 Jun 2013 08:10:38 +0000 Subject: [PATCH] Cambio de ASPack a compresor UPX git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@73 93f398dd-4eb6-7a46-baf6-13f46f578da2 --- Build/Installer.fbpInf | 4 +- Build/Installer.fbz6 | Bin 12496 -> 13543 bytes Tools/UPX/BUGS | 51 ++ Tools/UPX/COPYING | 339 +++++++++++++ Tools/UPX/LICENSE | 138 ++++++ Tools/UPX/NEWS | 478 ++++++++++++++++++ Tools/UPX/README | 142 ++++++ Tools/UPX/README.1ST | 23 + Tools/UPX/THANKS | 61 +++ Tools/UPX/TODO | 114 +++++ Tools/UPX/upx.1 | 1036 ++++++++++++++++++++++++++++++++++++++++ Tools/UPX/upx.doc | 843 ++++++++++++++++++++++++++++++++ Tools/UPX/upx.exe | Bin 0 -> 295936 bytes Tools/UPX/upx.html | 894 ++++++++++++++++++++++++++++++++++ 14 files changed, 4121 insertions(+), 2 deletions(-) create mode 100644 Tools/UPX/BUGS create mode 100644 Tools/UPX/COPYING create mode 100644 Tools/UPX/LICENSE create mode 100644 Tools/UPX/NEWS create mode 100644 Tools/UPX/README create mode 100644 Tools/UPX/README.1ST create mode 100644 Tools/UPX/THANKS create mode 100644 Tools/UPX/TODO create mode 100644 Tools/UPX/upx.1 create mode 100644 Tools/UPX/upx.doc create mode 100644 Tools/UPX/upx.exe create mode 100644 Tools/UPX/upx.html diff --git a/Build/Installer.fbpInf b/Build/Installer.fbpInf index 7b7175e..4e2b4a8 100644 --- a/Build/Installer.fbpInf +++ b/Build/Installer.fbpInf @@ -14,8 +14,8 @@ - 00:00:00 - 30/12/1899 + 00:03:00 + 09/12/2011 16:25:00 True diff --git a/Build/Installer.fbz6 b/Build/Installer.fbz6 index 73233139af60352eac418b38e64ba961152c5431..11e775ccd74da04ce048f46913490244c4f9364f 100644 GIT binary patch literal 13543 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 literal 12496 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 + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/Tools/UPX/LICENSE b/Tools/UPX/LICENSE new file mode 100644 index 0000000..444ded8 --- /dev/null +++ b/Tools/UPX/LICENSE @@ -0,0 +1,138 @@ +-----BEGIN PGP SIGNED MESSAGE----- + + + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar + http://wildsau.idv.uni-linz.ac.at/mfx/upx.html + http://www.nexus.hu/upx + http://upx.tsx.org + + +PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN +TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION. + + +ABSTRACT +======== + + UPX and UCL are copyrighted software distributed under the terms + of the GNU General Public License (hereinafter the "GPL"). + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + As a special exception we grant the free usage of UPX for all + executables, including commercial programs. + See below for details and restrictions. + + +COPYRIGHT +========= + + UPX and UCL are copyrighted software. All rights remain with the authors. + + UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + UPX is Copyright (C) 1996-2000 Laszlo Molnar + + UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + + +GNU GENERAL PUBLIC LICENSE +========================== + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + UPX and UCL are distributed in the hope that they will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + + +SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES +============================================ + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special + permission to freely use and distribute all UPX compressed programs + (including commercial ones), subject to the following restrictions: + + 1. You must compress your program with a completely unmodified UPX + version; either with our precompiled version, or (at your option) + with a self compiled version of the unmodified UPX sources as + distributed by us. + 2. This also implies that the UPX stub must be completely unmodfied, i.e. + the stub imbedded in your compressed program must be byte-identical + to the stub that is produced by the official unmodified UPX version. + 3. The decompressor and any other code from the stub must exclusively get + used by the unmodified UPX stub for decompressing your program at + program startup. No portion of the stub may get read, copied, + called or otherwise get used or accessed by your program. + + +ANNOTATIONS +=========== + + - You can use a modified UPX version or modified UPX stub only for + programs that are compatible with the GNU General Public License. + + - We grant you special permission to freely use and distribute all UPX + compressed programs. But any modification of the UPX stub (such as, + but not limited to, removing our copyright string or making your + program non-decompressible) will immediately revoke your right to + use and distribute a UPX compressed program. + + - UPX is not a software protection tool; by requiring that you use + the unmodified UPX version for your proprietary programs we + make sure that any user can decompress your program. This protects + both you and your users as nobody can hide malicious code - + any program that cannot be decompressed is highly suspicious + by definition. + + - You can integrate all or part of UPX and UCL into projects that + are compatible with the GNU GPL, but obviously you cannot grant + any special exceptions beyond the GPL for our code in your project. + + - We want to actively support manufacturers of virus scanners and + similar security software. Please contact us if you would like to + incorporate parts of UPX or UCL into such a product. + + + +Markus F.X.J. Oberhumer Laszlo Molnar +markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu + +Linz, Austria, 25 Feb 2000 + + + +-----BEGIN PGP SIGNATURE----- +Version: 2.6.3ia +Charset: noconv + +iQCVAwUBOLaLS210fyLu8beJAQFYVAP/ShzENWKLTvedLCjZbDcwaBEHfUVcrGMI +wE7frMkbWT2zmkdv9hW90WmjMhOBu7yhUplvN8BKOtLiolEnZmLCYu8AGCwr5wBf +dfLoClxnzfTtgQv5axF1awp4RwCUH3hf4cDrOVqmAsWXKPHtm4hx96jF6L4oHhjx +OO03+ojZdO8= +=CS52 +-----END PGP SIGNATURE----- diff --git a/Tools/UPX/NEWS b/Tools/UPX/NEWS new file mode 100644 index 0000000..a25da71 --- /dev/null +++ b/Tools/UPX/NEWS @@ -0,0 +1,478 @@ +================================================================== +User visible changes for UPX +================================================================== + +Changes in 3.09 (18 Feb 2013): + * New option --preserve-build-id for GNU ELF. + * Allow for code signing and LC_UUID on Mac OS X executables. + * Allow non-contiguous LC_SEGMENTs and 0==.vmsize for Mach-O. + * Allow zero-filled final page in PackUnix::canUnpack(). + * bug fixes + +Changes in 3.08 (12 Dec 2011): + * Fix allocation in runtime stub for darwin.macho-entry (i386 and amd64). + * Compress shared library on ELF i386 only [ld.so threatens even this case]. + * Attempt to support ELF on QNX 6.3.0 for armel (experimental). + * Better diagnostic when ELF -fPIC is needed. + * PT_NOTE improvements for *BSD. + * Preserve more ELF .e_flags on ARM. + * Minor code improvements for ELF stubs. + * Defend against another flavor of corrupt PE header. + * bug fixes + +Changes in 3.07 (08 Sep 2010): + * win32/pe: fixed relocation handling for files with *no* TLS callbacks + [severe bug introduced in 3.06] + +Changes in 3.06 (04 Sep 2010): + * win32/pe: TLS callback support contributed by Stefan Widmann. Thanks! + * bug fixes + +Changes in 3.05 (27 Apr 2010): + * i386-linux and amd64-linux support shared libraries (DT_INIT must + exist, all info needed by runtime loader must be first in .text, etc.) + * Linux /proc/self/exe now is preserved by default, by leaving behind + one page. New compress-time option --unmap-all-pages is available. + * Withdraw support for shared libraries on Darwin (Apple Mac OS X) + because upx does not understand enough about .dylib. + * bug fixes + +Changes in 3.04 (27 Sep 2009): + * new format Mach/AMD64 supports 64-bit programs on Apple Macintosh. + * new formats Dylib/i386 and Dylib/ppc32 support shared libraries + [such as browser plugins] on Darwin (Apple Macintosh). An existing + -init function (LC_ROUTINES command) is required. + * new format vmlinuz/armel for Debian NSLU2 (etc.) linux kernel + * bvmlinuz boot protocol 2.08 for 386 Linux kernel + * Extended ABI version 4 for armel-eabi ARM Linux ELF + * bug fixes + +Changes in 3.03 (27 Apr 2008): + * implement cache flushing for PowerPC (esp. model 440) + * fix cache flushing on MIPS (>3 MiB compressed, or with holes) + * fix MIPS big-endian + * bug fixes + +Changes in 3.02 (16 Dec 2007): + * fix unmapping on arm-linux.elf + * fix error checking in mmap for i386-linux.elf [triggered by -fPIE] + * bug fixes + +Changes in 3.01 (31 Jul 2007): + * new options --no-mode, --no-owner and --no-time to disable preservation + of mode (file permissions), file ownership and timestamps. + * dos/exe: fixed an incorrect error message caused by a bug in + relocation handling + * new format linux/mipsel supports ELF on [32-bit] R3000 + * fix argv[0] on PowerPC with --lzma + * bug fixes + +Changes in 3.00 (27 Apr 2007): + * watcom/le & tmt/adam: fixed a problem when using certain filters + +Changes in 2.93 beta (08 Mar 2007): + * new formats Mach/i386 and Mach/fat support Mac OS X i686 and + Universal binaries [i686 and PowerPC only] + * dos/exe: LZMA is now also supported for 16-bit dos/exe. Please note that + you have to explicitly use '--lzma' even for '--ultra-brute' here + because runtime decompression is about 30 times slower than NRV - + which is really noticeable on old machines. + * dos/exe: fixed a rarely occuring bug in relocation handling + * win32/pe & arm/pe: better icon compression handling + +Changes in 2.92 beta (23 Jan 2007): + * new option '--ultra-brute' which tries even more variants + * slightly improved compression ratio for some files when + using '--brute' or '--ultra-brute' + * bug fixes + +Changes in 2.91 beta (29 Nov 2006): + * assorted bug fixes + * arm/pe: fix "missing" icon & version info resource problem for wince 5 + * win32/pe & arm/pe: added option --compress-icons=3 to compress all icons + +Changes in 2.90 beta (08 Oct 2006): + * LZMA algorithm support for most of the 32-bit and 64-bit file formats; + use new option '--lzma' to enable + * new format: BSD/elf386 supporting FreeBSD, NetBSD and OpenBSD + via auto-detection of PT_NOTE or EI_OSABI + * arm/pe: all the NRV compression methods are now supported + (only NRV2D is missing in thumb mode) + * linux/elf386, linux/ElfAMD: remember /proc/self/exe in environment + * major source code changes: the runtime decompression stubs are now + built from internal ELF objects + +================================================================== + +Changes in 2.03 (07 Nov 2006): + * bvmlinuz/386: fix for kernels not at 0x100000; also allow x86_64 + * linux/elf386: work around Linux kernel bug (0-length .bss needs PF_W) + +Changes in 2.02 (13 Aug 2006): + * linux/386: work around Linux kernel bug (".bss" requires PF_W) + * linux/ppc32, mach/ppc32: compressed programs now work on a 405 CPU + * vmlinuz/386: fixed zlib uncompression problem on DOS + +Changes in 2.01 (06 Jun 2006): + * arm/pe: better DLL support + * dos/exe: device driver support added + * linux/386: Fix --force-execve for PaX, grSecurity, and strict SELinux. + /tmp must support execve(); therefore /tmp cannot be mounted 'noexec'. + * win32/pe & arm/pe: added new option '--keep-resource=' for + excluding selected resources from compression + +Changes in 2.00 (27 Apr 2006): + * linux/386: the stub now prints an error message if some strict + SELinux mode does prevent runtime decompression and execution + (for a fully SELinux-compatible but otherwise inferior compression + format you can use the '--force-execve' option) + * linux/386: worked around a problem where certain Linux kernels + clobber the %ebx register during a syscall + * win32/pe: disable filters for files with broken PE headers + +Changes in 1.96 beta (13 Apr 2006): + * arm/pe: added filter support + * win32/pe: removed an unnecessary check so that Delphi 2006 and + Digital Mars C++ programs finally are supported + +Changes in 1.95 beta (09 Apr 2006): + * arm/pe: added DLL support + * arm/pe: added thumb mode stub support + * arm/pe: added unpacking support + * win32/pe: really worked around R6002 runtime errors + +Changes in 1.94 beta (11 Mar 2006): + * new format: added support for arm/pe (ARM executables running on WinCE) + * new format: added support for linux elf/amd64 + * new format: added support for linux elf/ppc32 + * new format: added support for mach/ppc32 (Apple Mac OS X) + * win32/pe: hopefully working "load config" support + * win32/pe: R6002 runtime errors worked around + * win32/pe: the stub now clears the dirty stack + +Changes in 1.93 beta (07 Feb 2005): + * vmlinuz/386: fixes to support more kernels + +Changes in 1.92 beta (20 Jul 2004): + * win32/pe: added option '--strip-loadconf' to strip the SEH load + config section [NOTE: this option is obsolete since UPX 1.94] + * win32/pe: try to detect .NET (win32/net) files [not yet supported by UPX] + * vmlinux/386: new format that directly supports building Linux kernels + * source code: now compiles cleanly under Win64 + +Changes in 1.91 beta (30 Jun 2004): + * djgpp2/coff: added support for recent binutils versions + * linux/elf386, linux/sh386: lots of improvements + * vmlinuz/386: added support for recent kernels + * watcom/le: don't crash on files without relocations + * win32/pe: stricter checks of some PE values + * option '--brute' now implies '--crp-ms=999999'. + * source code: much improved portability using ACC, the + Automatic Compiler Configuration + * source code: compile fixes for strict ISO C++ compilers + * source code: compile fixes for Win64 + * re-synced with upx 1.25 branch + +Changes in 1.90 beta (11 Nov 2002): + * implemented several new options for finer compression control: + '--all-methods', '--all-filters' and '--brute' + * ps1/exe: new format - UPX now supports PlayStation One programs + * linux/386: added the option '--force-execve' + * vmlinuz/386: better kernel detection and sanity checks + * re-synced with upx 1.24 branch + * documentation updates + +Changes in 1.11 beta (20 Dec 2000): + * vmlinuz/386: new format - UPX now supports bootable linux kernels + * linux/elf386: added the new ELF direct-to-memory executable format - no + more temp files are needed for decompression! + * linux/sh386: added the new shell direct-to-memory executable format - no + more temp files are needed for decompression! + * reduced overall memory requirements during packing + * quite a number of internal source code rearrangements + +================================================================== + +Changes in 1.25 (29 Jun 2004) + * INFO: http://upx.sourceforge.net is the permanent UPX home page + * watcom/le: don't crash on files without relocations + * win32/pe: stricter checks of some PE values + * source code: much improved portability using ACC, the + Automatic Compiler Configuration + * source code: compile fixes for strict ISO C++ compilers + * source code: compile fixes for Win64 + +Changes in 1.24 (07 Nov 2002) + * djgpp2/coff: stricter check of the COFF header to work around a + problem with certain binutils versions + +Changes in 1.23 (05 Sep 2002) + * atari/tos: fixed an unpacking problem where a buffer was too + small (introduced in 1.22) + * linux/386: don't give up too early if a single block turns out + to be incompressible + * documentation: added some quick tips how to achieve the best + compression ratio for the final release of your application + * fixed a rare situation where the exit code was not set correctly + +Changes in 1.22 (27 Jun 2002) + * atari/tos: the stub now flushes the CPU cache to avoid + problems on 68030+ machines + * source code: additional compiler support for Borland C++, + Digital Mars C++ and Watcom C++ + +Changes in 1.21 (01 Jun 2002) + * New option '--crp-ms=' for slightly better compression at the cost + of higher memory requirements during compression. + Try 'upx --best --crp-ms=100000'. See the docs for more info. + * source code: portability fixes + * source code: compile fixes for g++ 3.0 and g++ 3.1 + +Changes in 1.20 (23 May 2001) + * slightly faster compression + * work around a gcc problem in the latest djgpp2 distribution + * watcom/le: fixed detection of already compressed files + * win32/pe: do not compress RT_MANIFEST resource types + * win32/pe: improved the error message for empty resource sections + * [NOTE: the jump from 1.08 to 1.20 is to avoid confusion with + our unstable development releases 1.1x and 1.9x] + +Changes in 1.08 (30 Apr 2001) + * new native port to atari/tos + * win32/pe: shortened the identstring + * source code: portability fixes - UPX now builds cleanly under m68k CPUs + +Changes in 1.07 (20 Feb 2001) + * win32/pe: corrected the TLS callback check + * win32/pe: really fixed that rare bug in relocation handling + * win32/pe: experimental support for SizeOfHeaders > 0x1000 + * win32/pe: check for superfluous data between sections + * win32/pe: compressing screensavers (.scr) should finally work + +Changes in 1.06 (27 Jan 2001) + * win32/pe: the check for TLS callbacks introduced in 1.05 + was too strict - disabled for now + * dos/com: decreased the decompressor stack size a little bit + +Changes in 1.05 (24 Jan 2001) + * win32/pe: refuse to compress programs with TLS callbacks + * win32/pe: stub changes to avoid slowdowns with some virus monitors + * win32/pe: reverted the relocation handling changes in 1.04 + * linux/386: dont try to compress Linux kernel images (have a look + at the unstable UPX 1.1x beta versions for that) + +Changes in 1.04 (19 Dec 2000) + * dos/exe: fixed an internal error when using '--no-reloc' + * win32/pe: fixed a rare bug in the relocation handling code + * some tunings for the default compression level + +Changes in 1.03 (30 Nov 2000) + * linked with a new version of the NRV compression library: + - improved compression ratio a little bit + - overall significantly faster compression + - much faster when using high compression levels like '-9' or '--best' + - much faster with large files + * atari/tos: added support for FreeMiNT + * the 32-bit DOS version now uses the new CWSDSTUB extender + +Changes in 1.02 (13 Sep 2000) + * watcom/le: fixed a problem with the Causeway extender + * win32/pe: don't automatically strip relocs if they seem needed + * support multiple backup generations when using '-k' + * updated the console screen driver + +Changes in 1.01 (09 Apr 2000) + * win32/pe: fixed an uncompression problem in DLLs with empty + fixup sections + * win32/pe: fixed another rare uncompression problem - a field in the + PE header was set incorrectly + +Changes in 1.00 (26 Mar 2000) + * documentation updates + * watcom/le: do not duplicate the non-resident name table + * win32/pe: fixed an import handling problem: sometimes too much data + could be deleted from a file -> the uncompressed file would not work + anymore + +Changes in 0.99.3 (07 Mar 2000) + * win32/pe: fixed a rare problem in the stub string handling part + +Changes in 0.99.2 (02 Mar 2000) + * dos/exe: fixed a typo causing an internal error (introduced in 0.99.1) + +Changes in 0.99.1 (29 Feb 2000) + * win32/pe: fixed some object alignments which were causing + problems when loading compressed DLLs under Windows NT/2000 + +Changes in 0.99 (25 Feb 2000) + * FULL SOURCE CODE RELEASED UNDER THE TERMS OF THE GNU GPL + * win32/pe: changed default to '--strip-relocs=1' + * dos/com and dos/sys: fixed a bad decompressor problem + * linux/386: the counter for the progress indicator was off by one + +Changes in 0.94 (06 Dec 1999) + * win32/pe: the stub now calls ExitProcess in case of import errors + * under DOS and Windows, the environment variable UPX now accepts + a '#' as replacement for '=' because of a COMMAND.COM limitation + +Changes in 0.93 (22 Nov 1999) + * win32/pe: fixed --strip-relocs problem with uncompression + * win32/pe: fixed a bug which could produce a broken decompressor stub + * linux/386: yet another FreeBSD compatibility fix + +Changes in 0.92 (14 Nov 1999) + * win32/pe: really fixed that one line (see below) + +Changes in 0.91 (13 Nov 1999) + * win32/pe: an important one-line fix for the newly introduced problems + * dos/com and dos/sys: fixed an internal error + * dos/exe: correctly restore cs when uncompressing + +Changes in 0.90 (10 Nov 1999) + * all formats: '--overlay=copy' now is the default overlay mode + * improved compression ratio for most files + * win32/pe: uncompression is finally supported + * win32/pe: never compress REGISTRY resources + * win32/pe: headersize was not set in PE header + * win32/pe: resource handling is rewritten + * win32/pe: the last :-) TLS problem is fixed + * win32/pe: somewhat less memory is required during compression + * linux/386: fixed compression of scripts which was broken since 0.71 + * linux/386: more FreeBSD compatibility issues + * changed option: '-i' now prints some more details during compression + (not finished yet) + +Changes in 0.84 (04 Oct 1999) + * dos/exe: fixed a rare problem where the decompressor could crash + * some other minor fixes + +Changes in 0.83 (17 Sep 1999) + * dos/exe: fixed minimal memory requirement problem for some files + * win32/pe: fixed a bug which caused a crash in some compressed files + * linux/386: various improvements in the stub; also, for the sake + of FreeBSD users, the stub is now branded as Linux/ELF + +Changes in 0.82 (16 Aug 1999) + * dos/exe: fixed a decompressor bug which could cause crash on some files + * linux/386: section headers are now stripped from the stub so that + 'strip' won't ruin a compressed file any longer + * wc/le: support for stack not in the last object disabled again + * win32/pe: removed some unneeded data + +Changes in 0.81 (04 Aug 1999) + * win32/pe: fixed an important bug in import handling + * dos/com: fixed an internal error that could happen with very small files + +Changes in 0.80 (03 Aug 1999) + * you can set some default options in the environment var 'UPX' + * dos/com: the decompressor stub now checks for enough free memory + * dos/exe: decompressor rewritten, some bugs are fixed + * dos/exe: new option '--no-reloc': no relocation data is put into + the DOS header + * tmt/adam: added support for more stubs, detect already packed files + * tmt/adam: new option '--copy-overlay' + * wc/le: reduced memory requirement during uncompression + * wc/le: support files which do not contain their stack in the last object + * wc/le: fixed a bug which could cause a crash, improved relocation + handling + * wc/le: new option '--copy-overlay' + * win32/pe: '--compress-icons=2' is now the default + * win32/pe: even better TLS support + * win32/pe: versioninfo works on NT + * win32/pe: import by ordinal from kernel32.dll works + * win32/pe: other import improvements: importing a nonexistent DLL + results in a usual Windows message, importing a nonexistent function + results in program exit (instead of crash ;-) + * win32/pe: new option: '--compress-resources=0' + * win32/pe: reduced memory requirement during uncompression, some + files might even require LESS memory when they're compressed + * win32/pe: TYPELIBs should work now + * win32/pe: improved relocation handling, 16-bit relocations should work + * win32/pe: new option '--strip-relocs' (only if you know what you are doing) + * win32/pe: new option '--copy-overlay' + * important internal changes: now the stubs are built at runtime + +Changes in 0.72 (12 May 1999) + * tmt/adam: fixed a serious problem in the decompressor stub; all + compressed tmt files should be recompressed + * win32/pe: fixed the 'shared sections not supported' warning: + read-only shared sections are fine + * win32/pe: never compress TYPELIB resources + * win32/pe: compressed files are hopefully less suspicious to heuristic + virus scanners now + * linux/386: minor decompressor stub updates, nicer progress bar + +Changes in 0.71 (19 Apr 1999) + * dos/exe: added option '--no-overlay' + * linux/386: various improvements in the stub, most notably the + overhead for an extra cleanup process has been removed + * win32/pe: added support for export forwarders + * win32/pe: added support for DLLs without entry point or imports + * win32/pe: yet another .bss fix + * win32/pe: new option '--compress-icons=2': compress all icons + which are not in the first icon directory + * win32/pe: rearranged stub to avoid false alerts from some virus scanners + +Changes in 0.70 (30 Mar 1999) + * added support for linux/386 executables + * improved compression ratio quite a bit + * added new compression level '--best' to squeeze out even some more bytes + * win32/pe: TLS support is much better now + * win32/pe: --compress-icons=0 should now work as well + * the usual minor fixes for win32/pe + +Changes in 0.62 (16 Mar 1999) + * win32/pe: --compress-icons and --compress-exports are on now by default + * win32/pe: --compress-icons should really work now + * win32/pe: fixed a problem with embedded .bss sections + +Changes in 0.61 (08 Mar 1999) + * atari/tos: fixed a problem where the bss segment could become too small + +Changes in 0.60 (06 Mar 1999) + * win32/pe: fixed file corruption when the size of the export data is invalid + * win32/pe: fixed a problem with empty resource data + * win32/pe: compressed file alignment set to minimum value + * win32/pe: made all compressed sections writable + * fixed some other win32/pe bugs + * fixed an address optimization problem for some not Watcom LE files + * fixed a bug which could make UPX hang when an exe header contained + an illegal value + * added some compression flags for the win32/pe format + * added support for Atari ST/TT executables (atari/tos) + * improved compression ratio + * improved compression speed + +Changes in 0.51 (14 Jan 1999) + * fixed a small bug in the PE header that would prevent some compressed + win32/pe executables from running under Windows NT and WINE + +Changes in 0.50 (03 Jan 1999) + * added support for PE format executables (win32/pe & rtm32/pe) + * added support for TMT executables (tmt/adam) + * fixed a dos/sys bug that affected OpenDOS + +Changes in 0.40 (05 Oct 1998) + * improved compression ratio + * fixed a small but fatal bug in dos/sys introduced in 0.30 + * fixed a rare bug in dos/exe + * worked around a bug in djgpp's strip 2.8 + * djgpp/coff: Allegro packfile support should work now + * added dos/exeh compression method (works on 386+) + +Changes in 0.30 (27 Jul 1998) + * fixed a serious bug in the 32-bit compressors - please don't use + djgpp/coff and watcom/le compressed files from previous versions, + some of them are possibly damaged ! + * the 16-bit uncompressors are a little bit shorter & faster + * fixed progress indicator for VESA and SVGA text modes + +Changes in 0.20 (05 Jul 1998) + * second public beta release + * too many changes to list here + +Changes in 0.05 (26 May 1998) + * first public beta release + + +# vim:set syntax=off tw=0 ts=4 sw=4 et: -*- coding: utf-8 -*- diff --git a/Tools/UPX/README b/Tools/UPX/README new file mode 100644 index 0000000..63ccb5d --- /dev/null +++ b/Tools/UPX/README @@ -0,0 +1,142 @@ + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2013 Markus Oberhumer, Laszlo Molnar & John Reiser + http://upx.sourceforge.net + + + +WELCOME +======= + +Welcome to UPX ! + +Please don't forget to read the file LICENSE - UPX is distributed +under the GNU General Public License (GPL) with special exceptions +allowing the distribution of all compressed executables, including +commercial programs. + + +INTRODUCTION +============ + +UPX is an advanced executable file compressor. UPX will typically +reduce the file size of programs and DLLs by around 50%-70%, thus +reducing disk space, network load times, download times and +other distribution and storage costs. + +Programs and libraries compressed by UPX are completely self-contained +and run exactly as before, with no runtime or memory penalty for most +of the supported formats. + +UPX supports a number of different executable formats, including +Windows 95/98/ME/NT/2000/XP/CE programs and DLLs, DOS programs, +and Linux executables and kernels. + +UPX is free software distributed under the term of the GNU General +Public License. Full source code is available. + +UPX may be distributed and used freely, even with commercial applications. +See the UPX License Agreement for details. + +UPX is rated number one in the well known Archive Comparison Test. Visit +http://compression.ca/ . + +UPX aims to be Commercial Quality Freeware. + + +SHORT DOCUMENTATION +=================== + +'upx program.exe' will compress a program or DLL. For best compression +results try 'upx --brute program.exe'. + +Please see the file UPX.DOC for the full documentation. The files +NEWS and BUGS also contain various tidbits of information. + + +DISCLAIMER +========== + +UPX comes with ABSOLUTELY NO WARRANTY; for details see the file LICENSE. + +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 8 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. + + +THE FUTURE +========== + + - We'd really love to support handheld systems like the PalmPilot because + compression makes a lot of sense here. And - because of the atari/tos + format - we already have a working decompressor in 68000 assembly. + Unfortunately we know next to nothing about the operating system + architecture of such handhelds, so we need some information from + an expert. Please contact us if you think you can help. + + - The Linux approach could probably get ported to a lot of other Unix + variants, at least for other i386 architectures it shouldn't be too + much work. If someone sends me a fresh hard disk and an official + FreeBSD/OpenBSD/NetBSD/Solaris/BeOS... CD I might take a look at it ;-) + + - We will *NOT* add any sort of protection and/or encryption. + This only gives people a false feeling of security because + by definition all protectors/compressors can be broken. + And don't trust any advertisement of authors of other executable + compressors about this topic - just do a websearch on "unpackers"... + + - Fix all remaining bugs - keep your reports coming ;-) + + - See the file PROJECTS in the source code distribution if you want + to contribute. + + +COPYRIGHT +========= + +Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer +Copyright (C) 1996-2013 Laszlo Molnar +Copyright (C) 2000-2013 John F. Reiser + +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. + +You should have received a copy of the UPX License Agreement along +with this program; see the file LICENSE. If not, visit the UPX home page. + + +Share and enjoy, +Markus & Laszlo + + + Markus F.X.J. Oberhumer Laszlo Molnar + + + + +[ 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. ] + +[ Feel free to contact us if you have commercial compression requirements + or interesting job offers. ] + diff --git a/Tools/UPX/README.1ST b/Tools/UPX/README.1ST new file mode 100644 index 0000000..51ad081 --- /dev/null +++ b/Tools/UPX/README.1ST @@ -0,0 +1,23 @@ + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2013 Markus Oberhumer, Laszlo Molnar & John Reiser + http://upx.sourceforge.net + + +MAJOR NEWS IN UPX 3 +=================== + +The main news since UPX 2 are: + + * new format: added support for linux elf/arm + + * better compression using the LZMA algorithm (option '--lzma') + diff --git a/Tools/UPX/THANKS b/Tools/UPX/THANKS new file mode 100644 index 0000000..159429b --- /dev/null +++ b/Tools/UPX/THANKS @@ -0,0 +1,61 @@ + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2013 Markus Oberhumer, Laszlo Molnar & John Reiser + http://upx.sourceforge.net + + +.___.. . + | |_ _.._ ;_/ __ + | [ )(_][ )| \_) +-------------------- + +UPX would not be what it is today without the invaluable help of +everybody who was kind enough to spend time testing it, using it +in applications and reporting bugs. + +The following people made especially gracious contributions of their +time and energy in helping to track down bugs, add new features, and +generally assist in the UPX maintainership process: + +Adam Ierymenko + for severals ideas for the Linux version +Andi Kleen and Jamie Lokier + for the /proc/self/fd/X and other Linux suggestions +Andreas Muegge + for the Win32 GUI +Atli Mar Gudmundsson + for several comments on the win32/pe stub +Charles W. Sandmann + for the idea with the stubless decompressor in djgpp2/coff +Ice + for debugging the PE headersize problem down +Joergen Ibsen and d'b + for the relocation & address optimization ideas +John S. Fine + for the new version of the dos/exe decompressor +Lukundoo + for beta testing +Michael Devore + for initial dos/exe device driver support +Oleg V. Volkov + for various FreeBSD specific informations +The Owl & G-RoM + for the --compress-icons fix +Ralph Roth + for reporting several bugs +Salvador Eduardo Tropea + for beta testing +Stefan Widmann + for the win32/pe TLS callback support +The WINE project (http://www.winehq.com/) + for lots of useful information found in their PE loader sources +Natascha + diff --git a/Tools/UPX/TODO b/Tools/UPX/TODO new file mode 100644 index 0000000..210d9a1 --- /dev/null +++ b/Tools/UPX/TODO @@ -0,0 +1,114 @@ +UPX TODO list. Last updated 2006-12-08. + + +IMPORTANT PROBLEMS THAT SHOULD BE FIXED SOON: + +- [None] + + +OTHER: + +- docs: convert docs from upx.pod to use AsciiDoc + +- check all to make sure they are not invalid + +- throwNotCompressible() is not a real error, so make the output nicer + (info: bla bla). Also ui.cpp (total_*). + + +----------------------------------------------------------------------- + + +IMPROVED COMPRESSION RATIO +========================== + +- experiment with new filters + +- implement filters for dos/exe + +- filters: could we exploit a f->firstcall info field ? + +- for small programs (e.g. < 64k), try an additional algorithm + to see if it gives better compression + + +ALL FORMATS +=========== + +- more thoroughly test the exe-header in canPack() + and throw exceptions when encountering bad values. + +- implement `--cpu=486' option to use bswap on the 32-bit formats + (if cpu >= 486) + + +FORMAT DJGPP2/COFF +================== + +- handle overlays + +- fix default file extension handling when the --coff option is set + + +FORMAT DOS/EXE +============== + +- implement filters + +- add a check so that we don't pack djgpp1 binaries + + +FORMAT LINUX/386 +================ + +- don't mmap() the temporary output file - this seems to improve + file io speed + + +FORMAT TMT/ADAM +=============== + +- the decompressors are already aligned, no need for an + extra alignment + + +FORMAT WATCOM/LE +================ + +- handle files without relocations + +- the decompressors are already aligned, no need for an + extra alignment + +- fix default file extension handling when the --le option is set + +- handle holes in the file + + +FORMAT WIN16/NE +=============== + +- implement readFileHeader() to correctly identify a win16/ne + executable, so that the call for contribution will get thrown + + +FORMAT WIN32/PE +=============== + +- fix the section alignment with the Intel compiler + +- decrease runtime memory overhead + +3 - difficult) don't compress the BSS section and other holes. + +4 - medium - ml) fix when objectalign < 0x1000 + +4 - easy - ml) put the original offset of moved resources somewhere into + the res.dir. (if it's safe to do) + +4 - ??? - ml) fix FIXMEs + +5 - medium - ml) try to put the preprocessed imports & relocs back to their + original section if possible. this could save some virtual memory + address space. + diff --git a/Tools/UPX/upx.1 b/Tools/UPX/upx.1 new file mode 100644 index 0000000..1fd249e --- /dev/null +++ b/Tools/UPX/upx.1 @@ -0,0 +1,1036 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "UPX 1" +.TH UPX 1 "2013-02-18" "upx 3.09" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +upx \- compress or expand executable files +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBupx\fR [\ \fIcommand\fR\ ] [\ \fIoptions\fR\ ] \fIfilename\fR... +.SH "ABSTRACT" +.IX Header "ABSTRACT" +.Vb 3 +\& The Ultimate Packer for eXecutables +\& Copyright (c) 1996\-2013 Markus Oberhumer, Laszlo Molnar & John Reiser +\& http://upx.sourceforge.net +.Ve +.PP +\&\fB\s-1UPX\s0\fR is a portable, extendable, high-performance executable packer for +several different executable formats. It achieves an excellent compression +ratio and offers \fI*very*\fR fast decompression. Your executables suffer +no memory overhead or other drawbacks for most of the formats supported, +because of in-place decompression. +.PP +While you may use \fB\s-1UPX\s0\fR freely for both non-commercial and commercial +executables (for details see the file \s-1LICENSE\s0), we would highly +appreciate if you credit \fB\s-1UPX\s0\fR and ourselves in the documentation, +possibly including a reference to the \fB\s-1UPX\s0\fR home page. Thanks. +.PP +[ Using \fB\s-1UPX\s0\fR in non-OpenSource applications without proper credits +is considered not politically correct ;\-) ] +.SH "DISCLAIMER" +.IX Header "DISCLAIMER" +\&\fB\s-1UPX\s0\fR comes with \s-1ABSOLUTELY\s0 \s-1NO\s0 \s-1WARRANTY\s0; for details see the file \s-1LICENSE\s0. +.PP +This is the first production quality release, and we plan that future 1.xx +releases will be backward compatible with this version. +.PP +Please report all problems or suggestions to the authors. Thanks. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fB\s-1UPX\s0\fR is a versatile executable packer with the following features: +.PP +.Vb 2 +\& \- excellent compression ratio: compresses better than zip/gzip, +\& use UPX to decrease the size of your distribution ! +\& +\& \- very fast decompression: about 10 MiB/sec on an ancient Pentium 133, +\& about 200 MiB/sec on an Athlon XP 2000+. +\& +\& \- no memory overhead for your compressed executables for most of the +\& supported formats +\& +\& \- 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 +\& * bvmlinuz/386 [bootable Linux kernel] +\& * djgpp2/coff +\& * dos/com +\& * dos/exe +\& * dos/sys +\& * linux/386 +\& * linux/elf386 +\& * linux/sh386 +\& * ps1/exe +\& * rtm32/pe +\& * tmt/adam +\& * vmlinuz/386 [bootable Linux kernel] +\& * vmlinux/386 +\& * watcom/le (supporting DOS4G, PMODE/W, DOS32a and CauseWay) +\& * win32/pe (exe and dll) +\& * arm/pe (exe and dll) +\& * linux/elfamd64 +\& * linux/elfppc32 +\& * mach/elfppc32 +\& +\& \- portable: UPX is written in portable endian\-neutral C++ +\& +\& \- extendable: because of the class layout it\*(Aqs very easy to support +\& new executable formats or add new compression algorithms +\& +\& \- free: UPX can be distributed and used freely. And from version 0.99 +\& the full source code of UPX is released under the GNU General Public +\& License (GPL) ! +.Ve +.PP +You probably understand now why we call \fB\s-1UPX\s0\fR the "\fIultimate\fR" +executable packer. +.SH "COMMANDS" +.IX Header "COMMANDS" +.SS "Compress" +.IX Subsection "Compress" +This is the default operation, eg. \fBupx yourfile.exe\fR will compress the file +specified on the command line. +.SS "Decompress" +.IX Subsection "Decompress" +All \fB\s-1UPX\s0\fR supported file formats can be unpacked using the \fB\-d\fR switch, eg. +\&\fBupx \-d yourfile.exe\fR will uncompress the file you've just compressed. +.SS "Test" +.IX Subsection "Test" +The \fB\-t\fR command tests the integrity of the compressed and uncompressed +data, eg. \fBupx \-t yourfile.exe\fR check whether your file can be safely +decompressed. Note, that this command doesn't check the whole file, only +the part that will be uncompressed during program execution. This means +that you should not use this command instead of a virus checker. +.SS "List" +.IX Subsection "List" +The \fB\-l\fR command prints out some information about the compressed files +specified on the command line as parameters, eg \fBupx \-l yourfile.exe\fR +shows the compressed / uncompressed size and the compression ratio of +\&\fIyourfile.exe\fR. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fB\-q\fR: be quiet, suppress warnings +.PP +\&\fB\-q \-q\fR (or \fB\-qq\fR): be very quiet, suppress errors +.PP +\&\fB\-q \-q \-q\fR (or \fB\-qqq\fR): produce no output at all +.PP +\&\fB\-\-help\fR: prints the help +.PP +\&\fB\-\-version\fR: print the version of \fB\s-1UPX\s0\fR +.PP +\&\fB\-\-exact\fR: when compressing, require to be able to get a byte-identical file +after decompression with option \fB\-d\fR. [\s-1NOTE:\s0 this is work in progress and is +not supported for all formats yet. If you do care, as a workaround you can +compress and then decompress your program a first time \- any further +compress-decompress steps should then yield byte-identical results +as compared to the first decompressed version.] +.PP +[ ...to be written... \- type `\fBupx \-\-help\fR' for now ] +.SH "COMPRESSION LEVELS & TUNING" +.IX Header "COMPRESSION LEVELS & TUNING" +\&\fB\s-1UPX\s0\fR offers ten different compression levels from \fB\-1\fR to \fB\-9\fR, +and \fB\-\-best\fR. The default compression level is \fB\-8\fR for files +smaller than 512 KiB, and \fB\-7\fR otherwise. +.IP "\(bu" 4 +Compression levels 1, 2 and 3 are pretty fast. +.IP "\(bu" 4 +Compression levels 4, 5 and 6 achieve a good time/ratio performance. +.IP "\(bu" 4 +Compression levels 7, 8 and 9 favor compression ratio over speed. +.IP "\(bu" 4 +Compression level \fB\-\-best\fR may take a long time. +.PP +Note that compression level \fB\-\-best\fR can be somewhat slow for large +files, but you definitely should use it when releasing a final version +of your program. +.PP +Quick info for achieving the best compression ratio: +.IP "\(bu" 4 +Try \fBupx \-\-brute myfile.exe\fR or even \fBupx \-\-ultra\-brute myfile.exe\fR. +.IP "\(bu" 4 +Try if \fB\-\-overlay=strip\fR works. +.IP "\(bu" 4 +For win32/pe programs there's \fB\-\-strip\-relocs=0\fR. See notes below. +.SH "OVERLAY HANDLING OPTIONS" +.IX Header "OVERLAY HANDLING OPTIONS" +Info: An \*(L"overlay\*(R" means auxiliary data attached after the logical end of +an executable, and it often contains application specific data +(this is a common practice to avoid an extra data file, though +it would be better to use resource sections). +.PP +\&\fB\s-1UPX\s0\fR handles overlays like many other executable packers do: it simply +copies the overlay after the compressed image. This works with some +files, but doesn't work with others, depending on how an application +actually accesses this overlayed data. +.PP +.Vb 1 +\& \-\-overlay=copy Copy any extra data attached to the file. [DEFAULT] +\& +\& \-\-overlay=strip Strip any overlay from the program instead of +\& copying it. Be warned, this may make the compressed +\& program crash or otherwise unusable. +\& +\& \-\-overlay=skip Refuse to compress any program which has an overlay. +.Ve +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +The environment variable \fB\s-1UPX\s0\fR can hold a set of default +options for \fB\s-1UPX\s0\fR. These options are interpreted first and +can be overwritten by explicit command line parameters. +For example: +.PP +.Vb 3 +\& for DOS/Windows: set UPX=\-9 \-\-compress\-icons#0 +\& for sh/ksh/zsh: UPX="\-9 \-\-compress\-icons=0"; export UPX +\& for csh/tcsh: setenv UPX "\-9 \-\-compress\-icons=0" +.Ve +.PP +Under DOS/Windows you must use '#' instead of '=' when setting the +environment variable because of a \s-1COMMAND\s0.COM limitation. +.PP +Not all of the options are valid in the environment variable \- +\&\fB\s-1UPX\s0\fR will tell you. +.PP +You can explicitly use the \fB\-\-no\-env\fR option to ignore the +environment variable. +.SH "NOTES FOR THE SUPPORTED EXECUTABLE FORMATS" +.IX Header "NOTES FOR THE SUPPORTED EXECUTABLE FORMATS" +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1ATARI/TOS\s0" +.IX Subsection "NOTES FOR ATARI/TOS" +This is the executable format used by the Atari \s-1ST/TT\s0, a Motorola 68000 +based personal computer which was popular in the late '80s. Support +of this format is only because of nostalgic feelings of one of +the authors and serves no practical purpose :\-). +See http://www.freemint.de for more info. +.PP +Packed programs will be byte-identical to the original after uncompression. +All debug information will be stripped, though. +.PP +Extra options available for this executable format: +.PP +.Vb 4 +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1BVMLINUZ/I386\s0" +.IX Subsection "NOTES FOR BVMLINUZ/I386" +Same as vmlinuz/i386. +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1DOS/COM\s0" +.IX Subsection "NOTES FOR DOS/COM" +Obviously \fB\s-1UPX\s0\fR won't work with executables that want to read data from +themselves (like some commandline utilities that ship with Win95/98/ME). +.PP +Compressed programs only work on a 286+. +.PP +Packed programs will be byte-identical to the original after uncompression. +.PP +Maximum uncompressed size: ~65100 bytes. +.PP +Extra options available for this executable format: +.PP +.Vb 1 +\& \-\-8086 Create an executable that works on any 8086 CPU. +\& +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1DOS/EXE\s0" +.IX Subsection "NOTES FOR DOS/EXE" +dos/exe stands for all \*(L"normal\*(R" 16\-bit \s-1DOS\s0 executables. +.PP +Obviously \fB\s-1UPX\s0\fR won't work with executables that want to read data from +themselves (like some command line utilities that ship with Win95/98/ME). +.PP +Compressed programs only work on a 286+. +.PP +Extra options available for this executable format: +.PP +.Vb 1 +\& \-\-8086 Create an executable that works on any 8086 CPU. +\& +\& \-\-no\-reloc Use no relocation records in the exe header. +\& +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1DOS/SYS\s0" +.IX Subsection "NOTES FOR DOS/SYS" +Compressed programs only work on a 286+. +.PP +Packed programs will be byte-identical to the original after uncompression. +.PP +Maximum uncompressed size: ~65350 bytes. +.PP +Extra options available for this executable format: +.PP +.Vb 1 +\& \-\-8086 Create an executable that works on any 8086 CPU. +\& +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1DJGPP2/COFF\s0" +.IX Subsection "NOTES FOR DJGPP2/COFF" +First of all, it is recommended to use \fB\s-1UPX\s0\fR *instead* of \fBstrip\fR. strip has +the very bad habit of replacing your stub with its own (outdated) version. +Additionally \fB\s-1UPX\s0\fR corrects a bug/feature in strip v2.8.x: it +will fix the 4 KiB alignment of the stub. +.PP +\&\fB\s-1UPX\s0\fR includes the full functionality of stubify. This means it will +automatically stubify your \s-1COFF\s0 files. Use the option \fB\-\-coff\fR to +disable this functionality (see below). +.PP +\&\fB\s-1UPX\s0\fR automatically handles Allegro packfiles. +.PP +The \s-1DLM\s0 format (a rather exotic shared library extension) is not supported. +.PP +Packed programs will be byte-identical to the original after uncompression. +All debug information and trailing garbage will be stripped, though. +.PP +Extra options available for this executable format: +.PP +.Vb 2 +\& \-\-coff Produce COFF output instead of EXE. By default +\& UPX keeps your current stub. +\& +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1LINUX\s0 [general]" +.IX Subsection "NOTES FOR LINUX [general]" +Introduction +.PP +.Vb 4 +\& Linux/386 support in UPX consists of 3 different executable formats, +\& one optimized for ELF executables ("linux/elf386"), one optimized +\& for shell scripts ("linux/sh386"), and one generic format +\& ("linux/386"). +\& +\& We will start with a general discussion first, but please +\& also read the relevant docs for each of the individual formats. +\& +\& Also, there is special support for bootable kernels \- see the +\& description of the vmlinuz/386 format. +.Ve +.PP +General user's overview +.PP +.Vb 7 +\& Running a compressed executable program trades less space on a +\& \`\`permanent\*(Aq\*(Aq storage medium (such as a hard disk, floppy disk, +\& CD\-ROM, flash memory, EPROM, etc.) for more space in one or more +\& \`\`temporary\*(Aq\*(Aq storage media (such as RAM, swap space, /tmp, etc.). +\& Running a compressed executable also requires some additional CPU +\& cycles to generate the compressed executable in the first place, +\& and to decompress it at each invocation. +\& +\& How much space is traded? It depends on the executable, but many +\& programs save 30% to 50% of permanent disk space. How much CPU +\& overhead is there? Again, it depends on the executable, but +\& decompression speed generally is at least many megabytes per second, +\& and frequently is limited by the speed of the underlying disk +\& or network I/O. +\& +\& Depending on the statistics of usage and access, and the relative +\& speeds of CPU, RAM, swap space, /tmp, and file system storage, then +\& invoking and running a compressed executable can be faster than +\& directly running the corresponding uncompressed program. +\& The operating system might perform fewer expensive I/O operations +\& to invoke the compressed program. Paging to or from swap space +\& or /tmp might be faster than paging from the general file system. +\& \`\`Medium\-sized\*(Aq\*(Aq programs which access about 1/3 to 1/2 of their +\& stored program bytes can do particularly well with compression. +\& Small programs tend not to benefit as much because the absolute +\& savings is less. Big programs tend not to benefit proportionally +\& because each invocation may use only a small fraction of the program, +\& yet UPX decompresses the entire program before invoking it. +\& But in environments where disk or flash memory storage is limited, +\& then compression may win anyway. +\& +\& Currently, executables compressed by UPX do not share RAM at runtime +\& in the way that executables mapped from a file system do. As a +\& result, if the same program is run simultaneously by more than one +\& process, then using the compressed version will require more RAM and/or +\& swap space. So, shell programs (bash, csh, etc.) and \`\`make\*(Aq\*(Aq +\& might not be good candidates for compression. +\& +\& UPX recognizes three executable formats for Linux: Linux/elf386, +\& Linux/sh386, and Linux/386. Linux/386 is the most generic format; +\& it accommodates any file that can be executed. At runtime, the UPX +\& decompression stub re\-creates in /tmp a copy of the original file, +\& and then the copy is (re\-)executed with the same arguments. +\& ELF binary executables prefer the Linux/elf386 format by default, +\& because UPX decompresses them directly into RAM, uses only one +\& exec, does not use space in /tmp, and does not use /proc. +\& Shell scripts where the underlying shell accepts a \`\`\-c\*(Aq\*(Aq argument +\& can use the Linux/sh386 format. UPX decompresses the shell script +\& into low memory, then maps the shell and passes the entire text of the +\& script as an argument with a leading \`\`\-c\*(Aq\*(Aq. +.Ve +.PP +General benefits: +.PP +.Vb 4 +\& \- UPX can compress all executables, be it AOUT, ELF, libc4, libc5, +\& libc6, Shell/Perl/Python/... scripts, standalone Java .class +\& binaries, or whatever... +\& All scripts and programs will work just as before. +\& +\& \- Compressed programs are completely self\-contained. No need for +\& any external program. +\& +\& \- UPX keeps your original program untouched. This means that +\& after decompression you will have a byte\-identical version, +\& and you can use UPX as a file compressor just like gzip. +\& [ Note that UPX maintains a checksum of the file internally, +\& so it is indeed a reliable alternative. ] +\& +\& \- As the stub only uses syscalls and isn\*(Aqt linked against libc it +\& should run under any Linux configuration that can run ELF +\& binaries. +\& +\& \- For the same reason compressed executables should run under +\& FreeBSD and other systems which can run Linux binaries. +\& [ Please send feedback on this topic ] +.Ve +.PP +General drawbacks: +.PP +.Vb 4 +\& \- It is not advisable to compress programs which usually have many +\& instances running (like \`sh\*(Aq or \`make\*(Aq) because the common segments of +\& compressed programs won\*(Aqt be shared any longer between different +\& processes. +\& +\& \- \`ldd\*(Aq and \`size\*(Aq won\*(Aqt show anything useful because all they +\& see is the statically linked stub. Since version 0.82 the section +\& headers are stripped from the UPX stub and \`size\*(Aq doesn\*(Aqt even +\& recognize the file format. The file patches/patch\-elfcode.h has a +\& patch to fix this bug in \`size\*(Aq and other programs which use GNU BFD. +.Ve +.PP +General notes: +.PP +.Vb 2 +\& \- As UPX leaves your original program untouched it is advantageous +\& to strip it before compression. +\& +\& \- If you compress a script you will lose platform independence \- +\& this could be a problem if you are using NFS mounted disks. +\& +\& \- Compression of suid, guid and sticky\-bit programs is rejected +\& because of possible security implications. +\& +\& \- For the same reason there is no sense in making any compressed +\& program suid. +\& +\& \- Obviously UPX won\*(Aqt work with executables that want to read data +\& from themselves. E.g., this might be a problem for Perl scripts +\& which access their _\|_DATA_\|_ lines. +\& +\& \- In case of internal errors the stub will abort with exitcode 127. +\& Typical reasons for this to happen are that the program has somehow +\& been modified after compression. +\& Running \`strace \-o strace.log compressed_file\*(Aq will tell you more. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1LINUX/ELF386\s0" +.IX Subsection "NOTES FOR LINUX/ELF386" +Please read the general Linux description first. +.PP +The linux/elf386 format decompresses directly into \s-1RAM\s0, +uses only one exec, does not use space in /tmp, +and does not use /proc. +.PP +Linux/elf386 is automatically selected for Linux \s-1ELF\s0 executables. +.PP +Packed programs will be byte-identical to the original after uncompression. +.PP +How it works: +.PP +.Vb 9 +\& For ELF executables, UPX decompresses directly to memory, simulating +\& the mapping that the operating system kernel uses during exec(), +\& including the PT_INTERP program interpreter (if any). +\& The brk() is set by a special PT_LOAD segment in the compressed +\& executable itself. UPX then wipes the stack clean except for +\& arguments, environment variables, and Elf_auxv entries (this is +\& required by bugs in the startup code of /lib/ld\-linux.so as of +\& May 2000), and transfers control to the program interpreter or +\& the e_entry address of the original executable. +\& +\& The UPX stub is about 1700 bytes long, partly written in assembler +\& and only uses kernel syscalls. It is not linked against any libc. +.Ve +.PP +Specific drawbacks: +.PP +.Vb 9 +\& \- For linux/elf386 and linux/sh386 formats, you will be relying on +\& RAM and swap space to hold all of the decompressed program during +\& the lifetime of the process. If you already use most of your swap +\& space, then you may run out. A system that is "out of memory" +\& can become fragile. Many programs do not react gracefully when +\& malloc() returns 0. With newer Linux kernels, the kernel +\& may decide to kill some processes to regain memory, and you +\& may not like the kernel\*(Aqs choice of which to kill. Running +\& /usr/bin/top is one way to check on the usage of swap space. +.Ve +.PP +Extra options available for this executable format: +.PP +.Vb 1 +\& (none) +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1LINUX/SH386\s0" +.IX Subsection "NOTES FOR LINUX/SH386" +Please read the general Linux description first. +.PP +Shell scripts where the underling shell accepts a ``\-c'' argument +can use the Linux/sh386 format. \fB\s-1UPX\s0\fR decompresses the shell script +into low memory, then maps the shell and passes the entire text of the +script as an argument with a leading ``\-c''. +It does not use space in /tmp, and does not use /proc. +.PP +Linux/sh386 is automatically selected for shell scripts that +use a known shell. +.PP +Packed programs will be byte-identical to the original after uncompression. +.PP +How it works: +.PP +.Vb 8 +\& For shell script executables (files beginning with "#!/" or "#! /") +\& where the shell is known to accept "\-c ", UPX decompresses +\& the file into low memory, then maps the shell (and its PT_INTERP), +\& and passes control to the shell with the entire decompressed file +\& as the argument after "\-c". Known shells are sh, ash, bash, bsh, csh, +\& ksh, tcsh, pdksh. Restriction: UPX cannot use this method +\& for shell scripts which use the one optional string argument after +\& the shell name in the script (example: "#! /bin/sh option3\en".) +\& +\& The UPX stub is about 1700 bytes long, partly written in assembler +\& and only uses kernel syscalls. It is not linked against any libc. +.Ve +.PP +Specific drawbacks: +.PP +.Vb 9 +\& \- For linux/elf386 and linux/sh386 formats, you will be relying on +\& RAM and swap space to hold all of the decompressed program during +\& the lifetime of the process. If you already use most of your swap +\& space, then you may run out. A system that is "out of memory" +\& can become fragile. Many programs do not react gracefully when +\& malloc() returns 0. With newer Linux kernels, the kernel +\& may decide to kill some processes to regain memory, and you +\& may not like the kernel\*(Aqs choice of which to kill. Running +\& /usr/bin/top is one way to check on the usage of swap space. +.Ve +.PP +Extra options available for this executable format: +.PP +.Vb 1 +\& (none) +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1LINUX/386\s0" +.IX Subsection "NOTES FOR LINUX/386" +Please read the general Linux description first. +.PP +The generic linux/386 format decompresses to /tmp and needs +/proc file system support. It starts the decompressed program +via the \fIexecve()\fR syscall. +.PP +Linux/386 is only selected if the specialized linux/elf386 +and linux/sh386 won't recognize a file. +.PP +Packed programs will be byte-identical to the original after uncompression. +.PP +How it works: +.PP +.Vb 7 +\& For files which are not ELF and not a script for a known "\-c" shell, +\& UPX uses kernel execve(), which first requires decompressing to a +\& temporary file in the file system. Interestingly \- +\& because of the good memory management of the Linux kernel \- this +\& often does not introduce a noticeable delay, and in fact there +\& will be no disk access at all if you have enough free memory as +\& the entire process takes places within the file system buffers. +\& +\& A compressed executable consists of the UPX stub and an overlay +\& which contains the original program in a compressed form. +\& +\& The UPX stub is a statically linked ELF executable and does +\& the following at program startup: +\& +\& 1) decompress the overlay to a temporary location in /tmp +\& 2) open the temporary file for reading +\& 3) try to delete the temporary file and start (execve) +\& the uncompressed program in /tmp using /proc//fd/X as +\& attained by step 2) +\& 4) if that fails, fork off a subprocess to clean up and +\& start the program in /tmp in the meantime +\& +\& The UPX stub is about 1700 bytes long, partly written in assembler +\& and only uses kernel syscalls. It is not linked against any libc. +.Ve +.PP +Specific drawbacks: +.PP +.Vb 4 +\& \- You need additional free disk space for the uncompressed program +\& in your /tmp directory. This program is deleted immediately after +\& decompression, but you still need it for the full execution time +\& of the program. +\& +\& \- You must have /proc file system support as the stub wants to open +\& /proc//exe and needs /proc//fd/X. This also means that you +\& cannot compress programs that are used during the boot sequence +\& before /proc is mounted. +\& +\& \- Utilities like \`top\*(Aq will display numerical values in the process +\& name field. This is because Linux computes the process name from +\& the first argument of the last execve syscall (which is typically +\& something like /proc//fd/3). +\& +\& \- Because of temporary decompression to disk the decompression speed +\& is not as fast as with the other executable formats. Still, I can see +\& no noticeable delay when starting programs like my ~3 MiB emacs (which +\& is less than 1 MiB when compressed :\-). +.Ve +.PP +Extra options available for this executable format: +.PP +.Vb 3 +\& \-\-force\-execve Force the use of the generic linux/386 "execve" +\& format, i.e. do not try the linux/elf386 and +\& linux/sh386 formats. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1PS1/EXE\s0" +.IX Subsection "NOTES FOR PS1/EXE" +This is the executable format used by the Sony PlayStation (PSone), +a Mips R3000 based gaming console which is popular since the late '90s. +Support of this format is very similar to the Atari one, because of +nostalgic feelings of one of the authors. +.PP +Packed programs will be byte-identical to the original after uncompression, +until further notice. +.PP +Maximum uncompressed size: ~1.89 / ~7.60 MiB. +.PP +Notes: +.PP +.Vb 6 +\& \- UPX creates as default a suitable executable for CD\-Mastering +\& and console transfer. For a CD\-Master main executable you could also try +\& the special option "\-\-boot\-only" as described below. +\& It has been reported that upx packed executables are fully compatible with +\& the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in +\& Sony PlayStation (PSone) emulation mode. +\& +\& \- Normally the packed files use the same memory areas like the uncompressed +\& versions, so they will not override other memory areas while unpacking. +\& If this isn\*(Aqt possible UPX will abort showing a \*(Aqpacked data overlap\*(Aq +\& error. With the "\-\-force" option UPX will relocate the loading address +\& for the packed file, but this isn\*(Aqt a real problem if it is a single or +\& the main executable. +.Ve +.PP +Extra options available for this executable format: +.PP +.Vb 4 +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-8\-bit Uses 8 bit size compression [default: 32 bit] +\& +\& \-\-8mib\-ram PSone has 8 MiB ram available [default: 2 MiB] +\& +\& \-\-boot\-only This format is for main exes and CD\-Mastering only ! +\& It may slightly improve the compression ratio, +\& decompression routines are faster than default ones. +\& But it cannot be used for console transfer ! +\& +\& \-\-no\-align This option disables CD mode 2 data sector format +\& alignment. May slightly improves the compression ratio, +\& but the compressed executable will not boot from a CD. +\& Use it for console transfer only ! +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1RTM32/PE\s0 and \s-1ARM/PE\s0" +.IX Subsection "NOTES FOR RTM32/PE and ARM/PE" +Same as win32/pe. +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1TMT/ADAM\s0" +.IX Subsection "NOTES FOR TMT/ADAM" +This format is used by the \s-1TMT\s0 Pascal compiler \- see http://www.tmt.com/ . +.PP +Extra options available for this executable format: +.PP +.Vb 4 +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1VMLINUZ/386\s0" +.IX Subsection "NOTES FOR VMLINUZ/386" +The vmlinuz/386 and bvmlinuz/386 formats take a gzip-compressed +bootable Linux kernel image (\*(L"vmlinuz\*(R", \*(L"zImage\*(R", \*(L"bzImage\*(R"), +gzip-decompress it and re-compress it with the \fB\s-1UPX\s0\fR compression method. +.PP +vmlinuz/386 is completely unrelated to the other Linux executable +formats, and it does not share any of their drawbacks. +.PP +Notes: +.PP +.Vb 3 +\& \- Be sure that "vmlinuz/386" or "bvmlinuz/386" is displayed +\& during compression \- otherwise a wrong executable format +\& may have been used, and the kernel won\*(Aqt boot. +.Ve +.PP +Benefits: +.PP +.Vb 4 +\& \- Better compression (but note that the kernel was already compressed, +\& so the improvement is not as large as with other formats). +\& Still, the bytes saved may be essential for special needs like +\& boot disks. +\& +\& For example, this is what I get for my 2.2.16 kernel: +\& 1589708 vmlinux +\& 641073 bzImage [original] +\& 560755 bzImage.upx [compressed by "upx \-9"] +\& +\& \- Much faster decompression at kernel boot time (but kernel +\& decompression speed is not really an issue these days). +.Ve +.PP +Drawbacks: +.PP +.Vb 1 +\& (none) +.Ve +.PP +Extra options available for this executable format: +.PP +.Vb 4 +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1WATCOM/LE\s0" +.IX Subsection "NOTES FOR WATCOM/LE" +\&\fB\s-1UPX\s0\fR has been successfully tested with the following extenders: + \s-1DOS4G\s0, \s-1DOS4GW\s0, \s-1PMODE/W\s0, DOS32a, CauseWay. + The \s-1WDOS/X\s0 extender is partly supported (for details + see the file bugs \s-1BUGS\s0). +.PP +DLLs and the \s-1LX\s0 format are not supported. +.PP +Extra options available for this executable format: +.PP +.Vb 2 +\& \-\-le Produce an unbound LE output instead of +\& keeping the current stub. +.Ve +.SS "\s-1NOTES\s0 \s-1FOR\s0 \s-1WIN32/PE\s0" +.IX Subsection "NOTES FOR WIN32/PE" +The \s-1PE\s0 support in \fB\s-1UPX\s0\fR is quite stable now, but probably there are +still some incompatibilities with some files. +.PP +Because of the way \fB\s-1UPX\s0\fR (and other packers for this format) works, you +can see increased memory usage of your compressed files because the whole +program is loaded into memory at startup. +If you start several instances of huge compressed programs you're +wasting memory because the common segments of the program won't +get shared across the instances. +On the other hand if you're compressing only smaller programs, or +running only one instance of larger programs, then this penalty is +smaller, but it's still there. +.PP +If you're running executables from network, then compressed programs +will load faster, and require less bandwidth during execution. +.PP +DLLs are supported. But \s-1UPX\s0 compressed DLLs can not share common data and +code when they got used by multiple applications. So compressing msvcrt.dll +is a waste of memory, but compressing the dll plugins of a particular +application may be a better idea. +.PP +Screensavers are supported, with the restriction that the filename +must end with \*(L".scr\*(R" (as screensavers are handled slightly different +than normal exe files). +.PP +\&\s-1UPX\s0 compressed \s-1PE\s0 files have some minor memory overhead (usually in the +10 \- 30 KiB range) which can be seen by specifying the \*(L"\-i\*(R" command +line switch during compression. +.PP +Extra options available for this executable format: +.PP +.Vb 9 +\& \-\-compress\-exports=0 Don\*(Aqt compress the export section. +\& Use this if you plan to run the compressed +\& program under Wine. +\& \-\-compress\-exports=1 Compress the export section. [DEFAULT] +\& Compression of the export section can improve the +\& compression ratio quite a bit but may not work +\& with all programs (like winword.exe). +\& UPX never compresses the export section of a DLL +\& regardless of this option. +\& +\& \-\-compress\-icons=0 Don\*(Aqt compress any icons. +\& \-\-compress\-icons=1 Compress all but the first icon. +\& \-\-compress\-icons=2 Compress all icons which are not in the +\& first icon directory. [DEFAULT] +\& \-\-compress\-icons=3 Compress all icons. +\& +\& \-\-compress\-resources=0 Don\*(Aqt compress any resources at all. +\& +\& \-\-keep\-resource=list Don\*(Aqt compress resources specified by the list. +\& The members of the list are separated by commas. +\& A list member has the following format: I. +\& I is the type of the resource. Standard types +\& must be specified as decimal numbers, user types can be +\& specified by decimal IDs or strings. I is the +\& identifier of the resource. It can be a decimal number +\& or a string. For example: +\& +\& \-\-keep\-resource=2/MYBITMAP,5,6/12345 +\& +\& UPX won\*(Aqt compress the named bitmap resource "MYBITMAP", +\& it leaves every dialog (5) resource uncompressed, and +\& it won\*(Aqt touch the string table resource with identifier +\& 12345. +\& +\& \-\-force Force compression even when there is an +\& unexpected value in a header field. +\& Use with care. +\& +\& \-\-strip\-relocs=0 Don\*(Aqt strip relocation records. +\& \-\-strip\-relocs=1 Strip relocation records. [DEFAULT] +\& This option only works on executables with base +\& address greater or equal to 0x400000. Usually the +\& compressed files becomes smaller, but some files +\& may become larger. Note that the resulting file will +\& not work under Windows 3.x (Win32s). +\& UPX never strips relocations from a DLL +\& regardless of this option. +\& +\& \-\-all\-methods Compress the program several times, using all +\& available compression methods. This may improve +\& the compression ratio in some cases, but usually +\& the default method gives the best results anyway. +\& +\& \-\-all\-filters Compress the program several times, using all +\& available preprocessing filters. This may improve +\& the compression ratio in some cases, but usually +\& the default filter gives the best results anyway. +.Ve +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +Exit status is normally 0; if an error occurs, exit status +is 1. If a warning occurs, exit status is 2. +.PP +\&\fB\s-1UPX\s0\fR's diagnostics are intended to be self-explanatory. +.SH "BUGS" +.IX Header "BUGS" +Please report all bugs immediately to the authors. +.SH "AUTHORS" +.IX Header "AUTHORS" +.Vb 2 +\& Markus F.X.J. Oberhumer +\& http://www.oberhumer.com +\& +\& Laszlo Molnar +\& +\& John F. Reiser +\& +\& Jens Medoch +.Ve +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (C) 1996\-2013 Markus Franz Xaver Johannes Oberhumer +.PP +Copyright (C) 1996\-2013 Laszlo Molnar +.PP +Copyright (C) 2000\-2013 John F. Reiser +.PP +Copyright (C) 2002\-2013 Jens Medoch +.PP +This program may be used freely, and you are welcome to +redistribute it under certain conditions. +.PP +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the +\&\fB\s-1UPX\s0 License Agreement\fR for more details. +.PP +You should have received a copy of the \s-1UPX\s0 License Agreement along +with this program; see the file \s-1LICENSE\s0. If not, visit the \s-1UPX\s0 home page. diff --git a/Tools/UPX/upx.doc b/Tools/UPX/upx.doc new file mode 100644 index 0000000..cc6f7e2 --- /dev/null +++ b/Tools/UPX/upx.doc @@ -0,0 +1,843 @@ +NAME + upx - compress or expand executable files + +SYNOPSIS + upx [ *command* ] [ *options* ] *filename*... + +ABSTRACT + The Ultimate Packer for eXecutables + Copyright (c) 1996-2013 Markus Oberhumer, Laszlo Molnar & John Reiser + http://upx.sourceforge.net + + UPX is a 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. + + While you may use UPX freely for both non-commercial and commercial + executables (for details see the file LICENSE), we would highly + appreciate if you credit UPX and ourselves in the documentation, + possibly including a reference to the UPX home page. Thanks. + + [ Using UPX in non-OpenSource applications without proper credits is + considered not politically correct ;-) ] + +DISCLAIMER + UPX comes with ABSOLUTELY NO WARRANTY; for details see the file LICENSE. + + This is the first production quality release, and we plan that future + 1.xx releases will be backward compatible with this version. + + Please report all problems or suggestions to the authors. Thanks. + +DESCRIPTION + UPX is a versatile executable packer with the following features: + + - excellent compression ratio: compresses better than zip/gzip, + use UPX to decrease the size of your distribution ! + + - very fast decompression: about 10 MiB/sec on an ancient Pentium 133, + about 200 MiB/sec on an Athlon XP 2000+. + + - no memory overhead for your compressed executables for most of the + supported formats + + - 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 + * bvmlinuz/386 [bootable Linux kernel] + * djgpp2/coff + * dos/com + * dos/exe + * dos/sys + * linux/386 + * linux/elf386 + * linux/sh386 + * ps1/exe + * rtm32/pe + * tmt/adam + * vmlinuz/386 [bootable Linux kernel] + * vmlinux/386 + * watcom/le (supporting DOS4G, PMODE/W, DOS32a and CauseWay) + * win32/pe (exe and dll) + * arm/pe (exe and dll) + * linux/elfamd64 + * linux/elfppc32 + * mach/elfppc32 + + - portable: UPX is written in portable endian-neutral C++ + + - extendable: because of the class layout it's very easy to support + new executable formats or add new compression algorithms + + - free: UPX can be distributed and used freely. And from version 0.99 + the full source code of UPX is released under the GNU General Public + License (GPL) ! + + You probably understand now why we call UPX the "*ultimate*" executable + packer. + +COMMANDS + Compress + This is the default operation, eg. upx yourfile.exe will compress the + file specified on the command line. + + Decompress + All UPX supported file formats can be unpacked using the -d switch, eg. + upx -d yourfile.exe will uncompress the file you've just compressed. + + Test + The -t command tests the integrity of the compressed and uncompressed + data, eg. upx -t yourfile.exe check whether your file can be safely + decompressed. Note, that this command doesn't check the whole file, only + the part that will be uncompressed during program execution. This means + that you should not use this command instead of a virus checker. + + List + The -l command prints out some information about the compressed files + specified on the command line as parameters, eg upx -l yourfile.exe + shows the compressed / uncompressed size and the compression ratio of + *yourfile.exe*. + +OPTIONS + -q: be quiet, suppress warnings + + -q -q (or -qq): be very quiet, suppress errors + + -q -q -q (or -qqq): produce no output at all + + --help: prints the help + + --version: print the version of UPX + + --exact: when compressing, require to be able to get a byte-identical + file after decompression with option -d. [NOTE: this is work in progress + and is not supported for all formats yet. If you do care, as a + workaround you can compress and then decompress your program a first + time - any further compress-decompress steps should then yield + byte-identical results as compared to the first decompressed version.] + + [ ...to be written... - type `upx --help' for now ] + +COMPRESSION LEVELS & TUNING + UPX offers ten different compression levels from -1 to -9, and --best. + The default compression level is -8 for files smaller than 512 KiB, and + -7 otherwise. + + * Compression levels 1, 2 and 3 are pretty fast. + + * Compression levels 4, 5 and 6 achieve a good time/ratio performance. + + * Compression levels 7, 8 and 9 favor compression ratio over speed. + + * Compression level --best may take a long time. + + Note that compression level --best can be somewhat slow for large files, + but you definitely should use it when releasing a final version of your + program. + + Quick info for achieving the best compression ratio: + + * Try upx --brute myfile.exe or even upx --ultra-brute myfile.exe. + + * Try if --overlay=strip works. + + * For win32/pe programs there's --strip-relocs=0. See notes below. + +OVERLAY HANDLING OPTIONS + Info: An "overlay" means auxiliary data attached after the logical end + of an executable, and it often contains application specific data (this + is a common practice to avoid an extra data file, though it would be + better to use resource sections). + + UPX handles overlays like many other executable packers do: it simply + copies the overlay after the compressed image. This works with some + files, but doesn't work with others, depending on how an application + actually accesses this overlayed data. + + --overlay=copy Copy any extra data attached to the file. [DEFAULT] + + --overlay=strip Strip any overlay from the program instead of + copying it. Be warned, this may make the compressed + program crash or otherwise unusable. + + --overlay=skip Refuse to compress any program which has an overlay. + +ENVIRONMENT + The environment variable UPX can hold a set of default options for UPX. + These options are interpreted first and can be overwritten by explicit + command line parameters. For example: + + for DOS/Windows: set UPX=-9 --compress-icons#0 + for sh/ksh/zsh: UPX="-9 --compress-icons=0"; export UPX + for csh/tcsh: setenv UPX "-9 --compress-icons=0" + + Under DOS/Windows you must use '#' instead of '=' when setting the + environment variable because of a COMMAND.COM limitation. + + Not all of the options are valid in the environment variable - UPX will + tell you. + + You can explicitly use the --no-env option to ignore the environment + variable. + +NOTES FOR THE SUPPORTED EXECUTABLE FORMATS + NOTES FOR ATARI/TOS + This is the executable format used by the Atari ST/TT, a Motorola 68000 + based personal computer which was popular in the late '80s. Support of + this format is only because of nostalgic feelings of one of the authors + and serves no practical purpose :-). See http://www.freemint.de for more + info. + + Packed programs will be byte-identical to the original after + uncompression. All debug information will be stripped, though. + + Extra options available for this executable format: + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + NOTES FOR BVMLINUZ/I386 + Same as vmlinuz/i386. + + NOTES FOR DOS/COM + Obviously UPX won't work with executables that want to read data from + themselves (like some commandline utilities that ship with Win95/98/ME). + + Compressed programs only work on a 286+. + + Packed programs will be byte-identical to the original after + uncompression. + + Maximum uncompressed size: ~65100 bytes. + + Extra options available for this executable format: + + --8086 Create an executable that works on any 8086 CPU. + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + + NOTES FOR DOS/EXE + dos/exe stands for all "normal" 16-bit DOS executables. + + Obviously UPX won't work with executables that want to read data from + themselves (like some command line utilities that ship with + Win95/98/ME). + + Compressed programs only work on a 286+. + + Extra options available for this executable format: + + --8086 Create an executable that works on any 8086 CPU. + + --no-reloc Use no relocation records in the exe header. + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + NOTES FOR DOS/SYS + Compressed programs only work on a 286+. + + Packed programs will be byte-identical to the original after + uncompression. + + Maximum uncompressed size: ~65350 bytes. + + Extra options available for this executable format: + + --8086 Create an executable that works on any 8086 CPU. + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + + NOTES FOR DJGPP2/COFF + First of all, it is recommended to use UPX *instead* of strip. strip has + the very bad habit of replacing your stub with its own (outdated) + version. Additionally UPX corrects a bug/feature in strip v2.8.x: it + will fix the 4 KiB alignment of the stub. + + UPX includes the full functionality of stubify. This means it will + automatically stubify your COFF files. Use the option --coff to disable + this functionality (see below). + + UPX automatically handles Allegro packfiles. + + The DLM format (a rather exotic shared library extension) is not + supported. + + Packed programs will be byte-identical to the original after + uncompression. All debug information and trailing garbage will be + stripped, though. + + Extra options available for this executable format: + + --coff Produce COFF output instead of EXE. By default + UPX keeps your current stub. + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + + NOTES FOR LINUX [general] + Introduction + + Linux/386 support in UPX consists of 3 different executable formats, + one optimized for ELF executables ("linux/elf386"), one optimized + for shell scripts ("linux/sh386"), and one generic format + ("linux/386"). + + We will start with a general discussion first, but please + also read the relevant docs for each of the individual formats. + + Also, there is special support for bootable kernels - see the + description of the vmlinuz/386 format. + + General user's overview + + Running a compressed executable program trades less space on a + ``permanent'' storage medium (such as a hard disk, floppy disk, + CD-ROM, flash memory, EPROM, etc.) for more space in one or more + ``temporary'' storage media (such as RAM, swap space, /tmp, etc.). + Running a compressed executable also requires some additional CPU + cycles to generate the compressed executable in the first place, + and to decompress it at each invocation. + + How much space is traded? It depends on the executable, but many + programs save 30% to 50% of permanent disk space. How much CPU + overhead is there? Again, it depends on the executable, but + decompression speed generally is at least many megabytes per second, + and frequently is limited by the speed of the underlying disk + or network I/O. + + Depending on the statistics of usage and access, and the relative + speeds of CPU, RAM, swap space, /tmp, and file system storage, then + invoking and running a compressed executable can be faster than + directly running the corresponding uncompressed program. + The operating system might perform fewer expensive I/O operations + to invoke the compressed program. Paging to or from swap space + or /tmp might be faster than paging from the general file system. + ``Medium-sized'' programs which access about 1/3 to 1/2 of their + stored program bytes can do particularly well with compression. + Small programs tend not to benefit as much because the absolute + savings is less. Big programs tend not to benefit proportionally + because each invocation may use only a small fraction of the program, + yet UPX decompresses the entire program before invoking it. + But in environments where disk or flash memory storage is limited, + then compression may win anyway. + + Currently, executables compressed by UPX do not share RAM at runtime + in the way that executables mapped from a file system do. As a + result, if the same program is run simultaneously by more than one + process, then using the compressed version will require more RAM and/or + swap space. So, shell programs (bash, csh, etc.) and ``make'' + might not be good candidates for compression. + + UPX recognizes three executable formats for Linux: Linux/elf386, + Linux/sh386, and Linux/386. Linux/386 is the most generic format; + it accommodates any file that can be executed. At runtime, the UPX + decompression stub re-creates in /tmp a copy of the original file, + and then the copy is (re-)executed with the same arguments. + ELF binary executables prefer the Linux/elf386 format by default, + because UPX decompresses them directly into RAM, uses only one + exec, does not use space in /tmp, and does not use /proc. + Shell scripts where the underlying shell accepts a ``-c'' argument + can use the Linux/sh386 format. UPX decompresses the shell script + into low memory, then maps the shell and passes the entire text of the + script as an argument with a leading ``-c''. + + General benefits: + + - UPX can compress all executables, be it AOUT, ELF, libc4, libc5, + libc6, Shell/Perl/Python/... scripts, standalone Java .class + binaries, or whatever... + All scripts and programs will work just as before. + + - Compressed programs are completely self-contained. No need for + any external program. + + - UPX keeps your original program untouched. This means that + after decompression you will have a byte-identical version, + and you can use UPX as a file compressor just like gzip. + [ Note that UPX maintains a checksum of the file internally, + so it is indeed a reliable alternative. ] + + - As the stub only uses syscalls and isn't linked against libc it + should run under any Linux configuration that can run ELF + binaries. + + - For the same reason compressed executables should run under + FreeBSD and other systems which can run Linux binaries. + [ Please send feedback on this topic ] + + General drawbacks: + + - It is not advisable to compress programs which usually have many + instances running (like `sh' or `make') because the common segments of + compressed programs won't be shared any longer between different + processes. + + - `ldd' and `size' won't show anything useful because all they + see is the statically linked stub. Since version 0.82 the section + headers are stripped from the UPX stub and `size' doesn't even + recognize the file format. The file patches/patch-elfcode.h has a + patch to fix this bug in `size' and other programs which use GNU BFD. + + General notes: + + - As UPX leaves your original program untouched it is advantageous + to strip it before compression. + + - If you compress a script you will lose platform independence - + this could be a problem if you are using NFS mounted disks. + + - Compression of suid, guid and sticky-bit programs is rejected + because of possible security implications. + + - For the same reason there is no sense in making any compressed + program suid. + + - Obviously UPX won't work with executables that want to read data + from themselves. E.g., this might be a problem for Perl scripts + which access their __DATA__ lines. + + - In case of internal errors the stub will abort with exitcode 127. + Typical reasons for this to happen are that the program has somehow + been modified after compression. + Running `strace -o strace.log compressed_file' will tell you more. + + NOTES FOR LINUX/ELF386 + Please read the general Linux description first. + + The linux/elf386 format decompresses directly into RAM, uses only one + exec, does not use space in /tmp, and does not use /proc. + + Linux/elf386 is automatically selected for Linux ELF executables. + + Packed programs will be byte-identical to the original after + uncompression. + + How it works: + + For ELF executables, UPX decompresses directly to memory, simulating + the mapping that the operating system kernel uses during exec(), + including the PT_INTERP program interpreter (if any). + The brk() is set by a special PT_LOAD segment in the compressed + executable itself. UPX then wipes the stack clean except for + arguments, environment variables, and Elf_auxv entries (this is + required by bugs in the startup code of /lib/ld-linux.so as of + May 2000), and transfers control to the program interpreter or + the e_entry address of the original executable. + + The UPX stub is about 1700 bytes long, partly written in assembler + and only uses kernel syscalls. It is not linked against any libc. + + Specific drawbacks: + + - For linux/elf386 and linux/sh386 formats, you will be relying on + RAM and swap space to hold all of the decompressed program during + the lifetime of the process. If you already use most of your swap + space, then you may run out. A system that is "out of memory" + can become fragile. Many programs do not react gracefully when + malloc() returns 0. With newer Linux kernels, the kernel + may decide to kill some processes to regain memory, and you + may not like the kernel's choice of which to kill. Running + /usr/bin/top is one way to check on the usage of swap space. + + Extra options available for this executable format: + + (none) + + NOTES FOR LINUX/SH386 + Please read the general Linux description first. + + Shell scripts where the underling shell accepts a ``-c'' argument can + use the Linux/sh386 format. UPX decompresses the shell script into low + memory, then maps the shell and passes the entire text of the script as + an argument with a leading ``-c''. It does not use space in /tmp, and + does not use /proc. + + Linux/sh386 is automatically selected for shell scripts that use a known + shell. + + Packed programs will be byte-identical to the original after + uncompression. + + How it works: + + For shell script executables (files beginning with "#!/" or "#! /") + where the shell is known to accept "-c ", UPX decompresses + the file into low memory, then maps the shell (and its PT_INTERP), + and passes control to the shell with the entire decompressed file + as the argument after "-c". Known shells are sh, ash, bash, bsh, csh, + ksh, tcsh, pdksh. Restriction: UPX cannot use this method + for shell scripts which use the one optional string argument after + the shell name in the script (example: "#! /bin/sh option3\n".) + + The UPX stub is about 1700 bytes long, partly written in assembler + and only uses kernel syscalls. It is not linked against any libc. + + Specific drawbacks: + + - For linux/elf386 and linux/sh386 formats, you will be relying on + RAM and swap space to hold all of the decompressed program during + the lifetime of the process. If you already use most of your swap + space, then you may run out. A system that is "out of memory" + can become fragile. Many programs do not react gracefully when + malloc() returns 0. With newer Linux kernels, the kernel + may decide to kill some processes to regain memory, and you + may not like the kernel's choice of which to kill. Running + /usr/bin/top is one way to check on the usage of swap space. + + Extra options available for this executable format: + + (none) + + NOTES FOR LINUX/386 + Please read the general Linux description first. + + The generic linux/386 format decompresses to /tmp and needs /proc file + system support. It starts the decompressed program via the execve() + syscall. + + Linux/386 is only selected if the specialized linux/elf386 and + linux/sh386 won't recognize a file. + + Packed programs will be byte-identical to the original after + uncompression. + + How it works: + + For files which are not ELF and not a script for a known "-c" shell, + UPX uses kernel execve(), which first requires decompressing to a + temporary file in the file system. Interestingly - + because of the good memory management of the Linux kernel - this + often does not introduce a noticeable delay, and in fact there + will be no disk access at all if you have enough free memory as + the entire process takes places within the file system buffers. + + A compressed executable consists of the UPX stub and an overlay + which contains the original program in a compressed form. + + The UPX stub is a statically linked ELF executable and does + the following at program startup: + + 1) decompress the overlay to a temporary location in /tmp + 2) open the temporary file for reading + 3) try to delete the temporary file and start (execve) + the uncompressed program in /tmp using /proc//fd/X as + attained by step 2) + 4) if that fails, fork off a subprocess to clean up and + start the program in /tmp in the meantime + + The UPX stub is about 1700 bytes long, partly written in assembler + and only uses kernel syscalls. It is not linked against any libc. + + Specific drawbacks: + + - You need additional free disk space for the uncompressed program + in your /tmp directory. This program is deleted immediately after + decompression, but you still need it for the full execution time + of the program. + + - You must have /proc file system support as the stub wants to open + /proc//exe and needs /proc//fd/X. This also means that you + cannot compress programs that are used during the boot sequence + before /proc is mounted. + + - Utilities like `top' will display numerical values in the process + name field. This is because Linux computes the process name from + the first argument of the last execve syscall (which is typically + something like /proc//fd/3). + + - Because of temporary decompression to disk the decompression speed + is not as fast as with the other executable formats. Still, I can see + no noticeable delay when starting programs like my ~3 MiB emacs (which + is less than 1 MiB when compressed :-). + + Extra options available for this executable format: + + --force-execve Force the use of the generic linux/386 "execve" + format, i.e. do not try the linux/elf386 and + linux/sh386 formats. + + NOTES FOR PS1/EXE + This is the executable format used by the Sony PlayStation (PSone), a + Mips R3000 based gaming console which is popular since the late '90s. + Support of this format is very similar to the Atari one, because of + nostalgic feelings of one of the authors. + + Packed programs will be byte-identical to the original after + uncompression, until further notice. + + Maximum uncompressed size: ~1.89 / ~7.60 MiB. + + Notes: + + - UPX creates as default a suitable executable for CD-Mastering + and console transfer. For a CD-Master main executable you could also try + the special option "--boot-only" as described below. + It has been reported that upx packed executables are fully compatible with + the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in + Sony PlayStation (PSone) emulation mode. + + - Normally the packed files use the same memory areas like the uncompressed + versions, so they will not override other memory areas while unpacking. + If this isn't possible UPX will abort showing a 'packed data overlap' + error. With the "--force" option UPX will relocate the loading address + for the packed file, but this isn't a real problem if it is a single or + the main executable. + + Extra options available for this executable format: + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --8-bit Uses 8 bit size compression [default: 32 bit] + + --8mib-ram PSone has 8 MiB ram available [default: 2 MiB] + + --boot-only This format is for main exes and CD-Mastering only ! + It may slightly improve the compression ratio, + decompression routines are faster than default ones. + But it cannot be used for console transfer ! + + --no-align This option disables CD mode 2 data sector format + alignment. May slightly improves the compression ratio, + but the compressed executable will not boot from a CD. + Use it for console transfer only ! + + NOTES FOR RTM32/PE and ARM/PE + Same as win32/pe. + + NOTES FOR TMT/ADAM + This format is used by the TMT Pascal compiler - see http://www.tmt.com/ + . + + Extra options available for this executable format: + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + + NOTES FOR VMLINUZ/386 + The vmlinuz/386 and bvmlinuz/386 formats take a gzip-compressed bootable + Linux kernel image ("vmlinuz", "zImage", "bzImage"), gzip-decompress it + and re-compress it with the UPX compression method. + + vmlinuz/386 is completely unrelated to the other Linux executable + formats, and it does not share any of their drawbacks. + + Notes: + + - Be sure that "vmlinuz/386" or "bvmlinuz/386" is displayed + during compression - otherwise a wrong executable format + may have been used, and the kernel won't boot. + + Benefits: + + - Better compression (but note that the kernel was already compressed, + so the improvement is not as large as with other formats). + Still, the bytes saved may be essential for special needs like + boot disks. + + For example, this is what I get for my 2.2.16 kernel: + 1589708 vmlinux + 641073 bzImage [original] + 560755 bzImage.upx [compressed by "upx -9"] + + - Much faster decompression at kernel boot time (but kernel + decompression speed is not really an issue these days). + + Drawbacks: + + (none) + + Extra options available for this executable format: + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + + NOTES FOR WATCOM/LE + UPX has been successfully tested with the following extenders: DOS4G, + DOS4GW, PMODE/W, DOS32a, CauseWay. The WDOS/X extender is partly + supported (for details see the file bugs BUGS). + + DLLs and the LX format are not supported. + + Extra options available for this executable format: + + --le Produce an unbound LE output instead of + keeping the current stub. + + NOTES FOR WIN32/PE + The PE support in UPX is quite stable now, but probably there are still + some incompatibilities with some files. + + Because of the way UPX (and other packers for this format) works, you + can see increased memory usage of your compressed files because the + whole program is loaded into memory at startup. If you start several + instances of huge compressed programs you're wasting memory because the + common segments of the program won't get shared across the instances. On + the other hand if you're compressing only smaller programs, or running + only one instance of larger programs, then this penalty is smaller, but + it's still there. + + If you're running executables from network, then compressed programs + will load faster, and require less bandwidth during execution. + + DLLs are supported. But UPX compressed DLLs can not share common data + and code when they got used by multiple applications. So compressing + msvcrt.dll is a waste of memory, but compressing the dll plugins of a + particular application may be a better idea. + + Screensavers are supported, with the restriction that the filename must + end with ".scr" (as screensavers are handled slightly different than + normal exe files). + + UPX compressed PE files have some minor memory overhead (usually in the + 10 - 30 KiB range) which can be seen by specifying the "-i" command line + switch during compression. + + Extra options available for this executable format: + + --compress-exports=0 Don't compress the export section. + Use this if you plan to run the compressed + program under Wine. + --compress-exports=1 Compress the export section. [DEFAULT] + Compression of the export section can improve the + compression ratio quite a bit but may not work + with all programs (like winword.exe). + UPX never compresses the export section of a DLL + regardless of this option. + + --compress-icons=0 Don't compress any icons. + --compress-icons=1 Compress all but the first icon. + --compress-icons=2 Compress all icons which are not in the + first icon directory. [DEFAULT] + --compress-icons=3 Compress all icons. + + --compress-resources=0 Don't compress any resources at all. + + --keep-resource=list Don't compress resources specified by the list. + The members of the list are separated by commas. + A list member has the following format: I. + I is the type of the resource. Standard types + must be specified as decimal numbers, user types can be + specified by decimal IDs or strings. I is the + identifier of the resource. It can be a decimal number + or a string. For example: + + --keep-resource=2/MYBITMAP,5,6/12345 + + UPX won't compress the named bitmap resource "MYBITMAP", + it leaves every dialog (5) resource uncompressed, and + it won't touch the string table resource with identifier + 12345. + + --force Force compression even when there is an + unexpected value in a header field. + Use with care. + + --strip-relocs=0 Don't strip relocation records. + --strip-relocs=1 Strip relocation records. [DEFAULT] + This option only works on executables with base + address greater or equal to 0x400000. Usually the + compressed files becomes smaller, but some files + may become larger. Note that the resulting file will + not work under Windows 3.x (Win32s). + UPX never strips relocations from a DLL + regardless of this option. + + --all-methods Compress the program several times, using all + available compression methods. This may improve + the compression ratio in some cases, but usually + the default method gives the best results anyway. + + --all-filters Compress the program several times, using all + available preprocessing filters. This may improve + the compression ratio in some cases, but usually + the default filter gives the best results anyway. + +DIAGNOSTICS + Exit status is normally 0; if an error occurs, exit status is 1. If a + warning occurs, exit status is 2. + + UPX's diagnostics are intended to be self-explanatory. + +BUGS + Please report all bugs immediately to the authors. + +AUTHORS + Markus F.X.J. Oberhumer + http://www.oberhumer.com + + Laszlo Molnar + + John F. Reiser + + Jens Medoch + +COPYRIGHT + Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer + + Copyright (C) 1996-2013 Laszlo Molnar + + Copyright (C) 2000-2013 John F. Reiser + + Copyright (C) 2002-2013 Jens Medoch + + 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. + + You should have received a copy of the UPX License Agreement along with + this program; see the file LICENSE. If not, visit the UPX home page. + diff --git a/Tools/UPX/upx.exe b/Tools/UPX/upx.exe new file mode 100644 index 0000000000000000000000000000000000000000..e48db4fbd244ba466fa8d7dbd016ca5a3b71c4ca GIT binary patch literal 295936 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�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
!~7}K??W; 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

l6 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

#patWVD4H5z*ahy@U~HQ0L)1O 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 T*MqMILd + + + +upx - compress or expand executable files + + + + + + + + + + + +

+

+

NAME

+

upx - compress or expand executable files

+

+

+
+

SYNOPSIS

+

upxcommand ] [ options ] filename...

+

+

+
+

ABSTRACT

+
+                    The Ultimate Packer for eXecutables
+   Copyright (c) 1996-2013 Markus Oberhumer, Laszlo Molnar & John Reiser
+                        http://upx.sourceforge.net
+

UPX is a 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.

+

While you may use UPX freely for both non-commercial and commercial +executables (for details see the file LICENSE), we would highly +appreciate if you credit UPX and ourselves in the documentation, +possibly including a reference to the UPX home page. Thanks.

+

[ Using UPX in non-OpenSource applications without proper credits +is considered not politically correct ;-) ]

+

+

+
+

DISCLAIMER

+

UPX comes with ABSOLUTELY NO WARRANTY; for details see the file LICENSE.

+

This is the first production quality release, and we plan that future 1.xx +releases will be backward compatible with this version.

+

Please report all problems or suggestions to the authors. Thanks.

+

+

+
+

DESCRIPTION

+

UPX is a versatile executable packer with the following features:

+
+  - excellent compression ratio: compresses better than zip/gzip,
+      use UPX to decrease the size of your distribution !
+
+  - very fast decompression: about 10 MiB/sec on an ancient Pentium 133,
+      about 200 MiB/sec on an Athlon XP 2000+.
+
+  - no memory overhead for your compressed executables for most of the
+      supported formats
+
+  - 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
+      * bvmlinuz/386    [bootable Linux kernel]
+      * djgpp2/coff
+      * dos/com
+      * dos/exe
+      * dos/sys
+      * linux/386
+      * linux/elf386
+      * linux/sh386
+      * ps1/exe
+      * rtm32/pe
+      * tmt/adam
+      * vmlinuz/386     [bootable Linux kernel]
+      * vmlinux/386
+      * watcom/le (supporting DOS4G, PMODE/W, DOS32a and CauseWay)
+      * win32/pe (exe and dll)
+      * arm/pe (exe and dll)
+      * linux/elfamd64
+      * linux/elfppc32
+      * mach/elfppc32
+
+  - portable: UPX is written in portable endian-neutral C++
+
+  - extendable: because of the class layout it's very easy to support
+      new executable formats or add new compression algorithms
+
+  - free: UPX can be distributed and used freely. And from version 0.99
+      the full source code of UPX is released under the GNU General Public
+      License (GPL) !
+

You probably understand now why we call UPX the "ultimate" +executable packer.

+

+

+
+

COMMANDS

+

+

+

Compress

+

This is the default operation, eg. upx yourfile.exe will compress the file +specified on the command line.

+

+

+

Decompress

+

All UPX supported file formats can be unpacked using the -d switch, eg. +upx -d yourfile.exe will uncompress the file you've just compressed.

+

+

+

Test

+

The -t command tests the integrity of the compressed and uncompressed +data, eg. upx -t yourfile.exe check whether your file can be safely +decompressed. Note, that this command doesn't check the whole file, only +the part that will be uncompressed during program execution. This means +that you should not use this command instead of a virus checker.

+

+

+

List

+

The -l command prints out some information about the compressed files +specified on the command line as parameters, eg upx -l yourfile.exe +shows the compressed / uncompressed size and the compression ratio of +yourfile.exe.

+

+

+
+

OPTIONS

+

-q: be quiet, suppress warnings

+

-q -q (or -qq): be very quiet, suppress errors

+

-q -q -q (or -qqq): produce no output at all

+

--help: prints the help

+

--version: print the version of UPX

+

--exact: when compressing, require to be able to get a byte-identical file +after decompression with option -d. [NOTE: this is work in progress and is +not supported for all formats yet. If you do care, as a workaround you can +compress and then decompress your program a first time - any further +compress-decompress steps should then yield byte-identical results +as compared to the first decompressed version.]

+

[ ...to be written... - type `upx --help' for now ]

+

+

+
+

COMPRESSION LEVELS & TUNING

+

UPX offers ten different compression levels from -1 to -9, +and --best. The default compression level is -8 for files +smaller than 512 KiB, and -7 otherwise.

+
    +
  • +

    Compression levels 1, 2 and 3 are pretty fast.

    +
  • +
  • +

    Compression levels 4, 5 and 6 achieve a good time/ratio performance.

    +
  • +
  • +

    Compression levels 7, 8 and 9 favor compression ratio over speed.

    +
  • +
  • +

    Compression level --best may take a long time.

    +
  • +
+

Note that compression level --best can be somewhat slow for large +files, but you definitely should use it when releasing a final version +of your program.

+

Quick info for achieving the best compression ratio:

+
    +
  • +

    Try upx --brute myfile.exe or even upx --ultra-brute myfile.exe.

    +
  • +
  • +

    Try if --overlay=strip works.

    +
  • +
  • +

    For win32/pe programs there's --strip-relocs=0. See notes below.

    +
  • +
+

+

+
+

OVERLAY HANDLING OPTIONS

+

Info: An "overlay" means auxiliary data attached after the logical end of +an executable, and it often contains application specific data +(this is a common practice to avoid an extra data file, though +it would be better to use resource sections).

+

UPX handles overlays like many other executable packers do: it simply +copies the overlay after the compressed image. This works with some +files, but doesn't work with others, depending on how an application +actually accesses this overlayed data.

+
+  --overlay=copy    Copy any extra data attached to the file. [DEFAULT]
+
+  --overlay=strip   Strip any overlay from the program instead of
+                    copying it. Be warned, this may make the compressed
+                    program crash or otherwise unusable.
+
+  --overlay=skip    Refuse to compress any program which has an overlay.
+

+

+
+

ENVIRONMENT

+

The environment variable UPX can hold a set of default +options for UPX. These options are interpreted first and +can be overwritten by explicit command line parameters. +For example:

+
+    for DOS/Windows:   set UPX=-9 --compress-icons#0
+    for sh/ksh/zsh:    UPX="-9 --compress-icons=0"; export UPX
+    for csh/tcsh:      setenv UPX "-9 --compress-icons=0"
+

Under DOS/Windows you must use '#' instead of '=' when setting the +environment variable because of a COMMAND.COM limitation.

+

Not all of the options are valid in the environment variable - +UPX will tell you.

+

You can explicitly use the --no-env option to ignore the +environment variable.

+

+

+
+

NOTES FOR THE SUPPORTED EXECUTABLE FORMATS

+

+

+

NOTES FOR ATARI/TOS

+

This is the executable format used by the Atari ST/TT, a Motorola 68000 +based personal computer which was popular in the late '80s. Support +of this format is only because of nostalgic feelings of one of +the authors and serves no practical purpose :-). +See http://www.freemint.de for more info.

+

Packed programs will be byte-identical to the original after uncompression. +All debug information will be stripped, though.

+

Extra options available for this executable format:

+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+

+

+

NOTES FOR BVMLINUZ/I386

+

Same as vmlinuz/i386.

+

+

+

NOTES FOR DOS/COM

+

Obviously UPX won't work with executables that want to read data from +themselves (like some commandline utilities that ship with Win95/98/ME).

+

Compressed programs only work on a 286+.

+

Packed programs will be byte-identical to the original after uncompression.

+

Maximum uncompressed size: ~65100 bytes.

+

Extra options available for this executable format:

+
+  --8086              Create an executable that works on any 8086 CPU.
+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+

NOTES FOR DOS/EXE

+

dos/exe stands for all "normal" 16-bit DOS executables.

+

Obviously UPX won't work with executables that want to read data from +themselves (like some command line utilities that ship with Win95/98/ME).

+

Compressed programs only work on a 286+.

+

Extra options available for this executable format:

+
+  --8086              Create an executable that works on any 8086 CPU.
+
+  --no-reloc          Use no relocation records in the exe header.
+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+

+

+

NOTES FOR DOS/SYS

+

Compressed programs only work on a 286+.

+

Packed programs will be byte-identical to the original after uncompression.

+

Maximum uncompressed size: ~65350 bytes.

+

Extra options available for this executable format:

+
+  --8086              Create an executable that works on any 8086 CPU.
+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+

NOTES FOR DJGPP2/COFF

+

First of all, it is recommended to use UPX *instead* of strip. strip has +the very bad habit of replacing your stub with its own (outdated) version. +Additionally UPX corrects a bug/feature in strip v2.8.x: it +will fix the 4 KiB alignment of the stub.

+

UPX includes the full functionality of stubify. This means it will +automatically stubify your COFF files. Use the option --coff to +disable this functionality (see below).

+

UPX automatically handles Allegro packfiles.

+

The DLM format (a rather exotic shared library extension) is not supported.

+

Packed programs will be byte-identical to the original after uncompression. +All debug information and trailing garbage will be stripped, though.

+

Extra options available for this executable format:

+
+  --coff              Produce COFF output instead of EXE. By default
+                      UPX keeps your current stub.
+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+

NOTES FOR LINUX [general]

+

Introduction

+
+  Linux/386 support in UPX consists of 3 different executable formats,
+  one optimized for ELF executables ("linux/elf386"), one optimized
+  for shell scripts ("linux/sh386"), and one generic format
+  ("linux/386").
+
+  We will start with a general discussion first, but please
+  also read the relevant docs for each of the individual formats.
+
+  Also, there is special support for bootable kernels - see the
+  description of the vmlinuz/386 format.
+

General user's overview

+
+  Running a compressed executable program trades less space on a
+  ``permanent'' storage medium (such as a hard disk, floppy disk,
+  CD-ROM, flash memory, EPROM, etc.) for more space in one or more
+  ``temporary'' storage media (such as RAM, swap space, /tmp, etc.).
+  Running a compressed executable also requires some additional CPU
+  cycles to generate the compressed executable in the first place,
+  and to decompress it at each invocation.
+
+  How much space is traded?  It depends on the executable, but many
+  programs save 30% to 50% of permanent disk space.  How much CPU
+  overhead is there?  Again, it depends on the executable, but
+  decompression speed generally is at least many megabytes per second,
+  and frequently is limited by the speed of the underlying disk
+  or network I/O.
+
+  Depending on the statistics of usage and access, and the relative
+  speeds of CPU, RAM, swap space, /tmp, and file system storage, then
+  invoking and running a compressed executable can be faster than
+  directly running the corresponding uncompressed program.
+  The operating system might perform fewer expensive I/O operations
+  to invoke the compressed program.  Paging to or from swap space
+  or /tmp might be faster than paging from the general file system.
+  ``Medium-sized'' programs which access about 1/3 to 1/2 of their
+  stored program bytes can do particularly well with compression.
+  Small programs tend not to benefit as much because the absolute
+  savings is less.  Big programs tend not to benefit proportionally
+  because each invocation may use only a small fraction of the program,
+  yet UPX decompresses the entire program before invoking it.
+  But in environments where disk or flash memory storage is limited,
+  then compression may win anyway.
+
+  Currently, executables compressed by UPX do not share RAM at runtime
+  in the way that executables mapped from a file system do.  As a
+  result, if the same program is run simultaneously by more than one
+  process, then using the compressed version will require more RAM and/or
+  swap space.  So, shell programs (bash, csh, etc.)  and ``make''
+  might not be good candidates for compression.
+
+  UPX recognizes three executable formats for Linux: Linux/elf386,
+  Linux/sh386, and Linux/386.  Linux/386 is the most generic format;
+  it accommodates any file that can be executed.  At runtime, the UPX
+  decompression stub re-creates in /tmp a copy of the original file,
+  and then the copy is (re-)executed with the same arguments.
+  ELF binary executables prefer the Linux/elf386 format by default,
+  because UPX decompresses them directly into RAM, uses only one
+  exec, does not use space in /tmp, and does not use /proc.
+  Shell scripts where the underlying shell accepts a ``-c'' argument
+  can use the Linux/sh386 format.  UPX decompresses the shell script
+  into low memory, then maps the shell and passes the entire text of the
+  script as an argument with a leading ``-c''.
+

General benefits:

+
+  - UPX can compress all executables, be it AOUT, ELF, libc4, libc5,
+    libc6, Shell/Perl/Python/... scripts, standalone Java .class
+    binaries, or whatever...
+    All scripts and programs will work just as before.
+
+  - Compressed programs are completely self-contained. No need for
+    any external program.
+
+  - UPX keeps your original program untouched. This means that
+    after decompression you will have a byte-identical version,
+    and you can use UPX as a file compressor just like gzip.
+    [ Note that UPX maintains a checksum of the file internally,
+      so it is indeed a reliable alternative. ]
+
+  - As the stub only uses syscalls and isn't linked against libc it
+    should run under any Linux configuration that can run ELF
+    binaries.
+
+  - For the same reason compressed executables should run under
+    FreeBSD and other systems which can run Linux binaries.
+    [ Please send feedback on this topic ]
+

General drawbacks:

+
+  - It is not advisable to compress programs which usually have many
+    instances running (like `sh' or `make') because the common segments of
+    compressed programs won't be shared any longer between different
+    processes.
+
+  - `ldd' and `size' won't show anything useful because all they
+    see is the statically linked stub.  Since version 0.82 the section
+    headers are stripped from the UPX stub and `size' doesn't even
+    recognize the file format.  The file patches/patch-elfcode.h has a
+    patch to fix this bug in `size' and other programs which use GNU BFD.
+

General notes:

+
+  - As UPX leaves your original program untouched it is advantageous
+    to strip it before compression.
+
+  - If you compress a script you will lose platform independence -
+    this could be a problem if you are using NFS mounted disks.
+
+  - Compression of suid, guid and sticky-bit programs is rejected
+    because of possible security implications.
+
+  - For the same reason there is no sense in making any compressed
+    program suid.
+
+  - Obviously UPX won't work with executables that want to read data
+    from themselves. E.g., this might be a problem for Perl scripts
+    which access their __DATA__ lines.
+
+  - In case of internal errors the stub will abort with exitcode 127.
+    Typical reasons for this to happen are that the program has somehow
+    been modified after compression.
+    Running `strace -o strace.log compressed_file' will tell you more.
+

+

+

NOTES FOR LINUX/ELF386

+

Please read the general Linux description first.

+

The linux/elf386 format decompresses directly into RAM, +uses only one exec, does not use space in /tmp, +and does not use /proc.

+

Linux/elf386 is automatically selected for Linux ELF executables.

+

Packed programs will be byte-identical to the original after uncompression.

+

How it works:

+
+  For ELF executables, UPX decompresses directly to memory, simulating
+  the mapping that the operating system kernel uses during exec(),
+  including the PT_INTERP program interpreter (if any).
+  The brk() is set by a special PT_LOAD segment in the compressed
+  executable itself.  UPX then wipes the stack clean except for
+  arguments, environment variables, and Elf_auxv entries (this is
+  required by bugs in the startup code of /lib/ld-linux.so as of
+  May 2000), and transfers control to the program interpreter or
+  the e_entry address of the original executable.
+
+  The UPX stub is about 1700 bytes long, partly written in assembler
+  and only uses kernel syscalls. It is not linked against any libc.
+

Specific drawbacks:

+
+  - For linux/elf386 and linux/sh386 formats, you will be relying on
+    RAM and swap space to hold all of the decompressed program during
+    the lifetime of the process.  If you already use most of your swap
+    space, then you may run out.  A system that is "out of memory"
+    can become fragile.  Many programs do not react gracefully when
+    malloc() returns 0.  With newer Linux kernels, the kernel
+    may decide to kill some processes to regain memory, and you
+    may not like the kernel's choice of which to kill.  Running
+    /usr/bin/top is one way to check on the usage of swap space.
+

Extra options available for this executable format:

+
+  (none)
+

+

+

NOTES FOR LINUX/SH386

+

Please read the general Linux description first.

+

Shell scripts where the underling shell accepts a ``-c'' argument +can use the Linux/sh386 format. UPX decompresses the shell script +into low memory, then maps the shell and passes the entire text of the +script as an argument with a leading ``-c''. +It does not use space in /tmp, and does not use /proc.

+

Linux/sh386 is automatically selected for shell scripts that +use a known shell.

+

Packed programs will be byte-identical to the original after uncompression.

+

How it works:

+
+  For shell script executables (files beginning with "#!/" or "#! /")
+  where the shell is known to accept "-c <command>", UPX decompresses
+  the file into low memory, then maps the shell (and its PT_INTERP),
+  and passes control to the shell with the entire decompressed file
+  as the argument after "-c".  Known shells are sh, ash, bash, bsh, csh,
+  ksh, tcsh, pdksh.  Restriction: UPX cannot use this method
+  for shell scripts which use the one optional string argument after
+  the shell name in the script (example: "#! /bin/sh option3\n".)
+
+  The UPX stub is about 1700 bytes long, partly written in assembler
+  and only uses kernel syscalls. It is not linked against any libc.
+

Specific drawbacks:

+
+  - For linux/elf386 and linux/sh386 formats, you will be relying on
+    RAM and swap space to hold all of the decompressed program during
+    the lifetime of the process.  If you already use most of your swap
+    space, then you may run out.  A system that is "out of memory"
+    can become fragile.  Many programs do not react gracefully when
+    malloc() returns 0.  With newer Linux kernels, the kernel
+    may decide to kill some processes to regain memory, and you
+    may not like the kernel's choice of which to kill.  Running
+    /usr/bin/top is one way to check on the usage of swap space.
+

Extra options available for this executable format:

+
+  (none)
+

+

+

NOTES FOR LINUX/386

+

Please read the general Linux description first.

+

The generic linux/386 format decompresses to /tmp and needs +/proc file system support. It starts the decompressed program +via the execve() syscall.

+

Linux/386 is only selected if the specialized linux/elf386 +and linux/sh386 won't recognize a file.

+

Packed programs will be byte-identical to the original after uncompression.

+

How it works:

+
+  For files which are not ELF and not a script for a known "-c" shell,
+  UPX uses kernel execve(), which first requires decompressing to a
+  temporary file in the file system.  Interestingly -
+  because of the good memory management of the Linux kernel - this
+  often does not introduce a noticeable delay, and in fact there
+  will be no disk access at all if you have enough free memory as
+  the entire process takes places within the file system buffers.
+
+  A compressed executable consists of the UPX stub and an overlay
+  which contains the original program in a compressed form.
+
+  The UPX stub is a statically linked ELF executable and does
+  the following at program startup:
+
+    1) decompress the overlay to a temporary location in /tmp
+    2) open the temporary file for reading
+    3) try to delete the temporary file and start (execve)
+       the uncompressed program in /tmp using /proc/<pid>/fd/X as
+       attained by step 2)
+    4) if that fails, fork off a subprocess to clean up and
+       start the program in /tmp in the meantime
+
+  The UPX stub is about 1700 bytes long, partly written in assembler
+  and only uses kernel syscalls. It is not linked against any libc.
+

Specific drawbacks:

+
+  - You need additional free disk space for the uncompressed program
+    in your /tmp directory. This program is deleted immediately after
+    decompression, but you still need it for the full execution time
+    of the program.
+
+  - You must have /proc file system support as the stub wants to open
+    /proc/<pid>/exe and needs /proc/<pid>/fd/X. This also means that you
+    cannot compress programs that are used during the boot sequence
+    before /proc is mounted.
+
+  - Utilities like `top' will display numerical values in the process
+    name field. This is because Linux computes the process name from
+    the first argument of the last execve syscall (which is typically
+    something like /proc/<pid>/fd/3).
+
+  - Because of temporary decompression to disk the decompression speed
+    is not as fast as with the other executable formats. Still, I can see
+    no noticeable delay when starting programs like my ~3 MiB emacs (which
+    is less than 1 MiB when compressed :-).
+

Extra options available for this executable format:

+
+  --force-execve      Force the use of the generic linux/386 "execve"
+                      format, i.e. do not try the linux/elf386 and
+                      linux/sh386 formats.
+

+

+

NOTES FOR PS1/EXE

+

This is the executable format used by the Sony PlayStation (PSone), +a Mips R3000 based gaming console which is popular since the late '90s. +Support of this format is very similar to the Atari one, because of +nostalgic feelings of one of the authors.

+

Packed programs will be byte-identical to the original after uncompression, +until further notice.

+

Maximum uncompressed size: ~1.89 / ~7.60 MiB.

+

Notes:

+
+  - UPX creates as default a suitable executable for CD-Mastering
+    and console transfer. For a CD-Master main executable you could also try
+    the special option "--boot-only" as described below.
+    It has been reported that upx packed executables are fully compatible with
+    the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in
+    Sony PlayStation (PSone) emulation mode.
+
+  - Normally the packed files use the same memory areas like the uncompressed
+    versions, so they will not override other memory areas while unpacking.
+    If this isn't possible UPX will abort showing a 'packed data overlap'
+    error. With the "--force" option UPX will relocate the loading address
+    for the packed file, but this isn't a real problem if it is a single or
+    the main executable.
+

Extra options available for this executable format:

+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --8-bit             Uses 8 bit size compression [default: 32 bit]
+
+  --8mib-ram          PSone has 8 MiB ram available [default: 2 MiB]
+
+  --boot-only         This format is for main exes and CD-Mastering only !
+                      It may slightly improve the compression ratio,
+                      decompression routines are faster than default ones.
+                      But it cannot be used for console transfer !
+
+  --no-align          This option disables CD mode 2 data sector format
+                      alignment. May slightly improves the compression ratio,
+                      but the compressed executable will not boot from a CD.
+                      Use it for console transfer only !
+

+

+

NOTES FOR RTM32/PE and ARM/PE

+

Same as win32/pe.

+

+

+

NOTES FOR TMT/ADAM

+

This format is used by the TMT Pascal compiler - see http://www.tmt.com/ .

+

Extra options available for this executable format:

+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+

NOTES FOR VMLINUZ/386

+

The vmlinuz/386 and bvmlinuz/386 formats take a gzip-compressed +bootable Linux kernel image ("vmlinuz", "zImage", "bzImage"), +gzip-decompress it and re-compress it with the UPX compression method.

+

vmlinuz/386 is completely unrelated to the other Linux executable +formats, and it does not share any of their drawbacks.

+

Notes:

+
+  - Be sure that "vmlinuz/386" or "bvmlinuz/386" is displayed
+  during compression - otherwise a wrong executable format
+  may have been used, and the kernel won't boot.
+

Benefits:

+
+  - Better compression (but note that the kernel was already compressed,
+  so the improvement is not as large as with other formats).
+  Still, the bytes saved may be essential for special needs like
+  boot disks.
+
+     For example, this is what I get for my 2.2.16 kernel:
+        1589708  vmlinux
+         641073  bzImage        [original]
+         560755  bzImage.upx    [compressed by "upx -9"]
+
+  - Much faster decompression at kernel boot time (but kernel
+    decompression speed is not really an issue these days).
+

Drawbacks:

+
+  (none)
+

Extra options available for this executable format:

+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+

NOTES FOR WATCOM/LE

+

UPX has been successfully tested with the following extenders: + DOS4G, DOS4GW, PMODE/W, DOS32a, CauseWay. + The WDOS/X extender is partly supported (for details + see the file bugs BUGS).

+

DLLs and the LX format are not supported.

+

Extra options available for this executable format:

+
+  --le                Produce an unbound LE output instead of
+                      keeping the current stub.
+

+

+

NOTES FOR WIN32/PE

+

The PE support in UPX is quite stable now, but probably there are +still some incompatibilities with some files.

+

Because of the way UPX (and other packers for this format) works, you +can see increased memory usage of your compressed files because the whole +program is loaded into memory at startup. +If you start several instances of huge compressed programs you're +wasting memory because the common segments of the program won't +get shared across the instances. +On the other hand if you're compressing only smaller programs, or +running only one instance of larger programs, then this penalty is +smaller, but it's still there.

+

If you're running executables from network, then compressed programs +will load faster, and require less bandwidth during execution.

+

DLLs are supported. But UPX compressed DLLs can not share common data and +code when they got used by multiple applications. So compressing msvcrt.dll +is a waste of memory, but compressing the dll plugins of a particular +application may be a better idea.

+

Screensavers are supported, with the restriction that the filename +must end with ".scr" (as screensavers are handled slightly different +than normal exe files).

+

UPX compressed PE files have some minor memory overhead (usually in the +10 - 30 KiB range) which can be seen by specifying the "-i" command +line switch during compression.

+

Extra options available for this executable format:

+
+ --compress-exports=0 Don't compress the export section.
+                      Use this if you plan to run the compressed
+                      program under Wine.
+ --compress-exports=1 Compress the export section. [DEFAULT]
+                      Compression of the export section can improve the
+                      compression ratio quite a bit but may not work
+                      with all programs (like winword.exe).
+                      UPX never compresses the export section of a DLL
+                      regardless of this option.
+
+  --compress-icons=0  Don't compress any icons.
+  --compress-icons=1  Compress all but the first icon.
+  --compress-icons=2  Compress all icons which are not in the
+                      first icon directory. [DEFAULT]
+  --compress-icons=3  Compress all icons.
+
+  --compress-resources=0  Don't compress any resources at all.
+
+  --keep-resource=list Don't compress resources specified by the list.
+                      The members of the list are separated by commas.
+                      A list member has the following format: I<type[/name]>.
+                      I<Type> is the type of the resource. Standard types
+                      must be specified as decimal numbers, user types can be
+                      specified by decimal IDs or strings. I<Name> is the
+                      identifier of the resource. It can be a decimal number
+                      or a string. For example:
+
+                      --keep-resource=2/MYBITMAP,5,6/12345
+
+                      UPX won't compress the named bitmap resource "MYBITMAP",
+                      it leaves every dialog (5) resource uncompressed, and
+                      it won't touch the string table resource with identifier
+                      12345.
+
+  --force             Force compression even when there is an
+                      unexpected value in a header field.
+                      Use with care.
+
+  --strip-relocs=0    Don't strip relocation records.
+  --strip-relocs=1    Strip relocation records. [DEFAULT]
+                      This option only works on executables with base
+                      address greater or equal to 0x400000. Usually the
+                      compressed files becomes smaller, but some files
+                      may become larger. Note that the resulting file will
+                      not work under Windows 3.x (Win32s).
+                      UPX never strips relocations from a DLL
+                      regardless of this option.
+
+  --all-methods       Compress the program several times, using all
+                      available compression methods. This may improve
+                      the compression ratio in some cases, but usually
+                      the default method gives the best results anyway.
+
+  --all-filters       Compress the program several times, using all
+                      available preprocessing filters. This may improve
+                      the compression ratio in some cases, but usually
+                      the default filter gives the best results anyway.
+

+

+
+

DIAGNOSTICS

+

Exit status is normally 0; if an error occurs, exit status +is 1. If a warning occurs, exit status is 2.

+

UPX's diagnostics are intended to be self-explanatory.

+

+

+
+

BUGS

+

Please report all bugs immediately to the authors.

+

+

+
+

AUTHORS

+
+ Markus F.X.J. Oberhumer <markus@oberhumer.com>
+ http://www.oberhumer.com
+
+ Laszlo Molnar <ml1050@users.sourceforge.net>
+
+ John F. Reiser <jreiser@BitWagon.com>
+
+ Jens Medoch <jssg@users.sourceforge.net>
+

+

+
+

COPYRIGHT

+

Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer

+

Copyright (C) 1996-2013 Laszlo Molnar

+

Copyright (C) 2000-2013 John F. Reiser

+

Copyright (C) 2002-2013 Jens Medoch

+

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.

+

You should have received a copy of the UPX License Agreement along +with this program; see the file LICENSE. If not, visit the UPX home page.

+ + + +
+

+ + + +