Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение > UPX - упаковщик исполняемых модулей


Автор: Monty 29.7.2004, 02:20
UPX - упаковщик исполняемых модулей
Цитата
Отличная программа для сжатия exe-файлов без потерь. После сжатия ужимаемая программа полностью работоспособна без установки какого-либо дополнительного ПО - а это значит что распаковывать ехе-шник не надо. Я провел опыт: взял 2 одинаковых exe-файла и один заархивировал WinRar'ом на максимальной степени сжатия, другой - UPX'ом. И что? Оба файла оказались одинакового размера - примерно в 3 раза меньше оригинала! При том, что rar-архив нужно распаковывать, а ужатый UPX'ом - нет. Однако, файл, сжатый UPX'ом требует больше ресурсов для работы, нежели несжатый. Алгоритм UPX используется, например, WinRar'ом для упаковки sfx-архивов. А исполняемый файл Total Commander'а также сжат UPX'ом.
smile.gif

Самое главное: Сохраняет экспортируемые функции находящиеся в .EXE файле!

Скачать UPX Version 1.25:
http://upx.sourceforge.net/download/upx125w.zip ~155kb
Добавлено @ 02:23
Код
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)
 * INFO: http://upx.sourceforge.net now is the new permanent UPX home page
 * 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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)