UPX Pack Executable



UPX (The Ultimate Packer for Executables) is a free (open source) packer for executable programs. UPX packed applications take up far less space on disk, in exchange for slightly higher memory use on startup. UPX can also pack Win32 DLLS.


For more information on UPX, see http://upx.sourceforge.net/


For more specific technical information on UPX options, see the 'upx.doc' file that comes with UPX.





Binary File to Pack


UPX can pack executable files, Win32 DLLs and screensavers.


If you do not specify an output file, the compressed executable will be written over the original file. Note that you cannot compressed an already-compressed executable.





Specify the level of output from the UPX utility.





Compression Level


Compression levels range from 1 (fastest) to 9 (slower, better) and then "best" (maximum compression.)



Compression Method


UPX currently supports two compression algorithms, NRV2B and NRV2D. UPX's creators recommend trying both and seeing which gives better results for your application.



Level of memory use


Specify the amount of memory which UPX will use for packing the executable.


Higher numbers will use more memory to provide faster results and (slightly) better compression. Setting the value to 999999 will use as much available memory as required for the best results.



Compress the export section


Equivalent of (--compress-exports=0/1)


If checked, the export section of the Win32/PE executable will be compressed. This gives a good saving in size, but does not work with all applications. See the UPX documentation for more details.



Compress resources / Compress icons


Equivalent of (--compress-resources=0/1 and --compress-icons=0/1/2)


UPX can be set to compress application resources, including icons. See the UPX documentation for more details.



Strip Relocation Records


Equivalent of (--strip-relocs=0/1)


If checked, UPX will strip the relocation records of executables. See the UPX documentation for more details.



Force compression even with unknown header fields


Equivalent of (--force)


If this option is checked, it forces UPX to compress the executable even if it finds unknown data in the executable header fields. This may render your application unusable. See the UPX documentation for more details.