Категории программ

Новые программы

UPX

13 апреля, 2013 0

UPX (the Ultimate Packer for eXecutables) – бесплатный консольный упаковщик исполняемых файлов, поддерживающий несколько различных платформ и форматов файлов. Является свободным и открытым программным обеспечением, и распространяется по лицензии GNU General Public License.

Сжатый исполняемый файл состоит из модуля распаковки/инициализации и блока данных, содержащего в себе исходный файл в сжатом виде. При запуске модуль распаковки выделяет память и распаковывает туда содержимое блока данных. Для некоторых платформ распаковка в память невозможна, в этом случае используется распаковка во временный файл.

Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место (что может быть критично в случае передачи через сети или выпуске программного обеспечения на носителе ограниченной ёмкости).

Использование сегментов в памяти (в операционных системах Microsoft Windows) не позволяет операционной системе высвобождать сегменты исполняемого кода без выгрузки содержимого в файл подкачки (что, фактически, увеличивает требования программы к оперативной памяти). Некоторые программы не способны работать в сжатом виде, так как используют малодокументированные (или недокументированные) возможности операционной системы по работе с исполняемыми файлами. В случае распаковки во временный файл (unix-подобные системы) программа теряет возможность использовать argv[0], статус suid-бита игнорируется.

Самым весомым и неоспоримым преимуществом является ускорение считывания и запуск сжатых файлов с носителей информации, помимо высвобождения дополнительного свободного пространства на внешних накопителях информации. К сожалению, на сегодняшний день все внешние накопители информации всё также остаются самыми медленными узлами современных вычислительных систем, «тормозящими» быстродействие системы в целом, как и на заре вычислительных технологий. Поэтому нельзя не оценить эффект, возникающий при системном применении упаковщиков исполняемых файлов, таких, как UPX. Вычислительная система затрачивает на порядок меньше времени на считывание и распаковку сжатого файла в оперативной памяти, нежели на простое считывание этого же, неупакованного файла (при считывании с внешнего накопителя время, затрачиваемое на операцию исчисляется миллисекундами, время, затрачиваемое на обработку данных в оперативной памяти исчисляется микро- и наносекундами).

Используемые алгоритмы UPX

Поддерживаемые форматы UPX

ARM/PE
Atari/tos
*BSD/i386
DJGPP2/COFF
dos/com
dos/exe
dos/sys
Linux/i386 a.out
Linux/ELF on i386, x86-64, ARM, PowerPC
Linux/kernel on i386, x86-64 and ARM
Mach-O/ppc32, Mach-O/i386, Mach-O/x64 (включая скомпилированные Google Go с версии 3.09)
rtm32/PE
tmt/adam
PlayStation1/exe
watcom/le
Win32/PE (исключая файлы, построенные на .NET Framework)

UPX

Ссылки

Сайт UPX

Скачать UPX

Другое , Инсталляторы , Разработчику , Средства разработки

Оставить комментарий

*