PECompact — программа для сжатия исполняемых файлов для Windows с закрытым исходным кодом.
Описание
Утилита сжимает данные без потерь. Во время выполнения программы, сжатые исполняемые файлы распаковываются в оперативную память, что позволяет запускать их так же как это было до сжатия.
PECompact использует свой собственный алгоритм сжатия JCALG1 с открытым исходным кодом.
Преимущества
По желанию пользователя упаковщик допускает возможность оставить несжатыми любые данные из файла (к примеру, иконки, курсоры или другие ресурсы). Многозадачная упаковка, PECompact способен в определенный момент времени выполнить сразу несколько операций над элементам данных. Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место. Сжатие защищает программы от непрофессионального реверс-инжиниринга. Позволяет создать резервную копию файла (BAK файл) перед началом упаковки для каждого файла. Поддержка плагинов (как предоставляемых разработчиками, так и независимыми программистами). Многоязычная поддержка языков (в том числе и русский). Сжатие секции экспорта. Позволяет уменьшить размер а за счет оптимизации структуры файла, без сжатия данных. Поддерживает программное и аппаратное обеспечение DEP. Принудительная защита памяти. Обрезание адресных привязок. Сжатые исполняемые файлы или модули запускаются и работают точно так же, как и до компрессии в Wine. Внедрить водяной знак.
Недостатки
Закрытый исходный код. Незарегистрированная версия работает 7 дней. Отсутствие кроссплатформенности.
Консольная версия
В дистрибутив поставки входит файл PEC2.exe. Она поддерживает только интерфейс командной строки.
Плагины PECompact использует кодеки, загрузчики и перехватчики, подключаемые в виде модулей (плагинов) — динамических библиотек.
Кодеки В стандартную комплектацию программы входит несколько кодеков для сжатия, шифрования и других целей. Некоторые из них доступны только в зарегистрированной версии.
НазваниеИмя файлаАвторТипОписание aPLibpec2codec_aplib.dllЙюрген Ибсен ()сжатиеАлгоритм сжатия данных с минимальными запросами к ресурсам компьютера, но более медленной распаковкой, чем у FFCE. BriefLZpec2codec_brieflz.dllЙюрген ИбсенсжатиеАлгоритм, созданный для быстрой упаковки и высокой степени сжатия. CRC32pec2codec_crc32.dllЙюрген Ибсенпроверка целостностиПроверка контрольной суммы CRC32. При запуске файла происходит проверка его внутренней структуры, и если в нём обнаруживаются поврежденные данные, то выполнение файла прекращается, с последующим выводом сообщения на экран (см. MessageBox). FFCEpec2codec_ffce.dllЙюрген ИбсенсжатиеЛучший алгоритм сжатия данных для маленьких по размеру файлов, также выигрывает алгоритм aPLib на сжатии больших файлов. JCALG1pec2codec_jcalg1.dllДжереми Коллейк ()сжатиеАлгоритм предназначен для высокой степени сжатия и быстрой декомпрессии с минимальными затратами памяти. 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, распространяется вместе с исходным кодом. Функция использует хинты для увеличения скорости обработки таблиц импорта управляющего модуля. Выполняется бинарный поиск с полной поддержкой ускоренного экспорта.
См. также
Упаковка исполняемых файлов Сжатие без потерь UPX ASPack
Ссылки
Официальный сайт программы Форум Вскрытие покажет! Практический анализ вредоносного ПО
Категория:Условно-бесплатное программное обеспечение Категория:Сжатие данных Категория:Программное обеспечение для Windows