PECompact

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
PECompact
Логотип программы PECompact
Скриншот программы 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 — программа для сжатия исполняемых файлов для Windows с закрытым исходным кодом.

Описание[править | править код]

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

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

Преимущества[источник не указан 1041 день][править | править код]

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

Недостатки[править | править код]

Консольная версия[править | править код]

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

В дистрибутив поставки входит файл PEC2.exe. Она поддерживает только интерфейс командной строки.

Плагины[править | править код]

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

Кодеки[править | править код]

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

Название Имя файла Автор Тип Описание
aPLib pec2codec_aplib.dll Йюрген Ибсен (норв. Jørgen Ibsen) сжатие Алгоритм сжатия данных с минимальными запросами к ресурсам компьютера, но более медленной распаковкой, чем у FFCE.
BriefLZ pec2codec_brieflz.dll Йюрген Ибсен сжатие Алгоритм, созданный для быстрой упаковки и высокой степени сжатия.
CRC32 pec2codec_crc32.dll Йюрген Ибсен проверка целостности Проверка контрольной суммы CRC32. При запуске файла происходит проверка его внутренней структуры, и если в нём обнаруживаются поврежденные данные, то выполнение файла прекращается, с последующим выводом сообщения на экран (см. MessageBox).
FFCE pec2codec_ffce.dll Йюрген Ибсен сжатие Лучший алгоритм сжатия данных для маленьких по размеру файлов, также выигрывает алгоритм aPLib на сжатии больших файлов.
JCALG1 pec2codec_jcalg1.dll Джереми Коллейк (англ. Jeremy Collake) сжатие Алгоритм предназначен для высокой степени сжатия и быстрой декомпрессии с минимальными затратами памяти.
LZMA pec2codec_lzma.dll Игорь Павлов и Йюрген Ибсен сжатие Алгоритм основан на схеме сжатия данных по словарю, сходной с использованной в LZ77, и обеспечивает высокий коэффициент сжатия, лучше, чем все алгоритмы перечисленные в таблице.
MessageBox pec2codec_messagebox.dll Йюрген Ибсен ввод-вывод сообщений Плагин, служащий для ввода-вывода сообщений в программе. К примеру, подтверждение на дальнейшее выполнение N-ой операции с файлами.
Password pec2codec_password.dll Йюрген Ибсен шифрование Алгоритм, который по желанию пользователя может установить шифрование файла по алгоритму TEA с помощью пароля.

Загрузчики[править | править код]

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

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

Перехватчики[править | править код]

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

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

См. также[править | править код]

Ссылки[править | править код]