| 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 с закрытым исходным кодом, для разработчиков и поставщиков программного обеспечения.
Утилита способна сжимать файлы с расширением *.exe, *.dll, *.ocx, *.scr и множество других, сохраняя при этом их полную работоспособность.
Во время выполнения программы, сжатые исполняемые файлы распаковываются и реконструируются непосредственно в свой виртуальный образ (память), именно в памяти сжатый файл или модуль молниеносно восстанавливается в свой исходный вид, так что никакие данные не записываются на жесткий диск, от этого файлы запускаются точно также, как это было до сжатия.
PECompact использует свой собственный алгоритм сжатия JCALG1 с открытым исходным кодом, который может быть свободно использован в любых и в любом приложении, а также другие алгоритмы сжатия, поскольку использует кодеки-плагины.

Кроме PECompact2 в дистрибутив поставки входит файл PEC2.exe. Это тоже версия PECompact2 для Microsoft Windows, но она поддерживает только интерфейс командной строки и работает в текстовом (консольном) режиме. Консольную версию PEC2.exe удобно использовать для вызова из пакетных файлов (BAT и CMD), для запуска из командной строки или других консольных приложениях (например, в FAR Manager).
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, распространяется вместе с исходным кодом. Функция использует хинты для увеличения скорости обработки таблиц импорта управляющего модуля. Выполняется бинарный поиск с полной поддержкой ускоренного экспорта. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .