PECompact

PECompact — программа для сжатия исполняемых файлов для Windows с закрытым исходным кодом.

PECompact

Скриншот программы
Тип Упаковка исполняемых файлов
Разработчик Bitsum Technologies & Jeremy Collake
Написана на C++
Операционная система Microsoft Windows
Языки интерфейса Многоязычная поддержка (11 языковых пакетов)
Последняя версия 3.02.2 (5 мая 2010)
Тестовая версия 3.11.00.02 beta (10 декабря 2012 года)
Лицензия Shareware
Сайт bitsum.com/pecompact.php

Описание

Утилита сжимает данные без потерь. Во время выполнения программы, сжатые исполняемые файлы распаковываются в оперативную память, что позволяет запускать их так же как это было до сжатия.

PECompact использует свой собственный алгоритм сжатия JCALG1 с открытым исходным кодом.

Преимущества

  • По желанию пользователя упаковщик допускает возможность оставить несжатыми любые данные из файла (к примеру, иконки, курсоры или другие ресурсы).
  • Многозадачная упаковка, PECompact способен в определенный момент времени выполнить сразу несколько операций над элементам данных.
  • Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место.
  • Сжатие защищает программы от непрофессионального реверс-инжиниринга.
  • Позволяет создать резервную копию файла (BAK файл) перед началом упаковки для каждого файла.
  • Поддержка плагинов (как предоставляемых разработчиками, так и независимыми программистами).
  • Многоязычная поддержка языков (в том числе и русский).
  • Сжатие секции экспорта.
  • Позволяет уменьшить размер файла за счет оптимизации структуры файла, без сжатия данных.
  • Поддерживает программное и аппаратное обеспечение DEP.
  • Принудительная защита памяти.
  • Обрезание адресных привязок.
  • Сжатые исполняемые файлы или модули запускаются и работают точно так же, как и до компрессии в Wine.
  • Внедрить водяной знак.

Недостатки

Консольная версия

PEC2.exe для тех пользователей, которые предпочитают работать в консольном режиме из командной строки.

В дистрибутив поставки входит файл PEC2.exe. Она поддерживает только интерфейс командной строки и работает в текстовом (консольном) режиме. Консольную версию PEC2.exe удобно использовать для вызова из пакетных файлов (BAT и CMD), для запуска из командной строки или других консольных приложениях (например, в FAR Manager).

Плагины

PECompact использует кодеки, загрузчики и перехватчики, подключаемые в виде модулей (плагинов) — динамических библиотек.

Кодеки

В стандартную комплектацию программы входит несколько кодеков для сжатия, шифрования и других целей. Некоторые из них доступны только в зарегистрированной версии.

НазваниеИмя файлаАвторТипОписание
aPLibpec2codec_aplib.dllЙюрген Ибсен (норв. Jørgen Ibsen)сжатиеАлгоритм сжатия данных с минимальными запросами к ресурсам компьютера, но более медленной распаковкой, чем у FFCE.
BriefLZpec2codec_brieflz.dllЙюрген ИбсенсжатиеАлгоритм, созданный для быстрой упаковки и высокой степени сжатия.
CRC32pec2codec_crc32.dllЙюрген Ибсенпроверка целостностиПроверка контрольной суммы CRC32. При запуске файла происходит проверка его внутренней структуры, и если в нём обнаруживаются поврежденные данные, то выполнение файла прекращается, с последующим выводом сообщения на экран (см. MessageBox).
FFCEpec2codec_ffce.dllЙюрген ИбсенсжатиеЛучший алгоритм сжатия данных для маленьких по размеру файлов, также выигрывает алгоритм aPLib на сжатии больших файлов.
JCALG1pec2codec_jcalg1.dllДжереми Коллейк (англ. Jeremy Collake)сжатиеАлгоритм предназначен для высокой степени сжатия и быстрой декомпрессии с минимальными затратами памяти.
LZMApec2codec_lzma.dllИгорь Павлов и Йюрген ИбсенсжатиеАлгоритм основан на схеме сжатия данных по словарю, сходной с использованной в LZ77, и обеспечивает высокий коэффициент сжатия, лучше, чем все алгоритмы перечисленные в таблице.
MessageBoxpec2codec_messagebox.dllЙюрген Ибсенввод-вывод сообщенийПлагин, служащий для ввода-вывода сообщений в программе. К примеру, подтверждение на дальнейшее выполнение N-ой операции с файлами.
Passwordpec2codec_password.dllЙюрген ИбсеншифрованиеАлгоритм, который по желанию пользователя может установить шифрование файла по алгоритму TEA с помощью пароля.

Загрузчики

Также в программе используются загрузчики, предоставляемые компанией Bitsum Technologies и сторонними разработчиками. Для создания собственного плагина-загрузчика служит набор инструментальных средств разработки загрузчиков (Loader SDK), приобретаемый у разработчика программы — компании Bitsum Technolgoies.

НазваниеИмя файлаОписание
pec2ldr_defaultpec2ldr_default.dllЗагрузчик используемый по умолчанию.
pec2ldr_antidebugpec2ldr_antidebug.dllЗагрузчик с антиотладочным кодом.
pec2ldr_slimpec2ldr_slim.dllОблегченный аналог стандартного загрузчика, но не содержит кода для обработки ошибок импорта и других типов.
pec2ldr_eadpec2ldr_ead.dllEnhanced Anti-Debug - загрузчик, содержащий дополнительную защиту от отладки. Продается отдельно.

Перехватчики

Для обеспечения дополнительной функциональности в программу включены плагины-перехватчики API. Данные плагины содержат небольшой код, объединяемый со сжатым исполняемым файлом, и вызываемый при старте загрузчика PECompact для перехватывания импортов API.

НазваниеИмя файлаОписание
IsPacked APIpec2hooks_ispacked.dllПлагин-перехватчик API, который взаимодействует с загрузчиком PECompact и позволяет осуществить проверку, по-прежнему ли упаковано приложение или нет.
Fast importpec2hooks_fastimport.dllЭтот плагин-перехватчик является усовершенствованной разработкой функции GetProcAddress, распространяется вместе с исходным кодом. Функция использует хинты для увеличения скорости обработки таблиц импорта управляющего модуля. Выполняется бинарный поиск с полной поддержкой ускоренного экспорта.

См. также

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.