- The Ultimate Packer for eXecutables
-
UPX
the Ultimate Packer for eXecutablesТип Упаковка исполняемых файлов Написана на C++, Ассемблер ОС Microsoft Windows, DOS, 27 апреля 2008 Лицензия GNU GPL Сайт upx.sf.net UPX (the Ultimate Packer for eXecutables) — упаковщик исполняемых файлов, поддерживающий несколько различных платформ и форматов файлов. Является свободным и открытым программным обеспечением, и распространяется по лицензии GNU GPL.
Содержание
Описание
Сжатый исполняемый файл состоит из модуля распаковки/инициализации и блока данных, содержащего в себе исходный файл в сжатом виде. При запуске модуль распаковки выделяет память и распаковывает туда содержимое блока данных. Для некоторых платформ распаковка в память невозможна, в этом случае используется распаковка во временный файл.
Преимущества и недостатки
Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место (что может быть критично в случае передачи через сети или выпуске ПО на носителе ограниченной ёмкости).
Использование сегментов в памяти (в операционных системах Windows) не позволяет операционной системе высвобождать сегменты исполняемого кода без выгрузки содержимого в файл подкачки (что, фактически, увеличивает требования программы к оперативной памяти). Некоторые программы не способны работать в сжатом виде, так как используют малодокументированные (или недокументированные) возможности операционной системы по работе с исполняемыми файлами. В случае распаковки во временный файл (unix-подобные системы) программа теряет возможность использовать argv[0], статус suid бита игнорируется.
Самым весомым и неоспоримым преимуществом является ускорение считывания и запуск сжатых файлов с носителей информации, помимо высвобождения дополнительного свободного пространства на внешних накопителях информации. К сожалению, на сегодняшний день все внешние накопители информации всё также остаются самыми медленными узлами современных вычислительных систем, "тормозящими" быстродействие системы в целом, как и на заре вычислительных технологий. Поэтому нельзя не оценить эффект, возникающий при системном применении упаковщиков исполняемых файлов, таких, как UPX. Вычислительная система затрачивает на порядок меньше времени на считывание и распаковку сжатого файла в оперативной памяти, нежели на простое считывание этого же, неупакованного файла. (при считывание с внешнего накопителя время, затрачиваемое на операцию исчисляется милисекундами, время, затрачиваемое на обработку данных в оперативной памяти исчисляется микро и нано секунами)
Используемые алгоритмы
UPX использует алгоритм сжатия без потерь, называющийся UCL (свободная реализация алгоритма NRV (англ. Not Really Vanished).
UCL-декомпрессор достаточно прост, чтобы быть реализованным в нескольких сотнях байт, и при работе не требует выделения дополнительной памяти.
Следующая значительная версия UPX (3.0) также использует алгоритм
Поддерживаемые форматы
Практическое использование
В ранних версиях SFX-модули были упакованы UPX. Авторы вирусов используют упаковщики исполняемых файлов для маскировки вирусов от антивирусов.
Ссылки
- UPX на
Программы для сжатия данных Сжатие видео
(Сравнение)MPEG-4 ASP 3ivx · · Nero Digital · · HDX4 · MPEG-4 AVC/CoreAVC · DivX H.264 · Nero Digital AVC · · Сжатие без потерь CorePNG · FFV1 · · · MSU Lossless · SheerVideo Прочее Bink · Cinepak · · Indeo · · VP7 · Pixlet · RTVideo · · Snow · Sorenson · · · WMV · Сжатие аудио
(Сравнение)Общие ATRAC · · · · WMA Речь/Голос · AMBE · IMBE · iSAC · QCELP · RTAudio · Siren · · Truespeech Сжатие без потерь Apple Lossless · · La · Monkey's Audio · OptimFROG · · · WMA Lossless Архиваторы и
компрессоры
(Сравнение)См. также: Методы сжатия • Стандарты и форматы сжатия
Wikimedia Foundation. 2010.
Полезное
Смотреть что такое "The Ultimate Packer for eXecutables" в других словарях:
UPX — Infobox Software name = UPX the Ultimate Packer for eXecutables caption = collapsible = author = developer = released = May 26, 1998 latest release version = 3.03 latest release date = April 27, 2008 latest preview version = latest preview date … Wikipedia
UPX — the Ultimate Packer for eXecutables Тип Упаковка исполняемых файлов Написана на C++, Ассемблер Операционная система Microsoft Windows, Linux, MacOS, DOS, Atari Первый выпуск 26 мая 1998 год … Википедия
UPX — Entwickler Markus F.X.J. Oberhumer, László Molnár John F. Reiser Aktuelle Version 3.07 (8. September 2010) Betriebssystem Windows, Linux, BSD, DOS, Atari Katego … Deutsch Wikipedia
NRV — may stand for: New Revised Version (or New Revised Standard Version), an edition of the Christian Bible. Nintendo Revolution, an early codename for Nintendo s Wii New River Valley, a region located in the Eastern United States. Net Realizable… … Wikipedia
- UPX на