Interested Article - PECompact
- 2021-09-06
- 1
PECompact — программа для сжатия исполняемых файлов для Windows с закрытым исходным кодом .
Описание
Утилита сжимает данные без потерь . Во время выполнения программы , сжатые исполняемые файлы распаковываются в оперативную память , что позволяет запускать их так же как это было до сжатия .
PECompact использует свой собственный алгоритм сжатия JCALG1 с открытым исходным кодом .
Преимущества [ источник не указан 922 дня ]
- По желанию пользователя упаковщик допускает возможность оставить несжатыми любые данные из файла (к примеру, иконки , курсоры или другие ресурсы).
- Многозадачная упаковка, PECompact способен в определенный момент времени выполнить сразу несколько операций над элементам данных .
- Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место.
- Сжатие защищает программы от непрофессионального реверс-инжиниринга .
- Позволяет создать резервную копию файла (BAK файл) перед началом упаковки для каждого файла.
- Поддержка плагинов (как предоставляемых разработчиками, так и независимыми программистами ).
- Многоязычная поддержка языков (в том числе и русский).
- Сжатие секции экспорта.
- Позволяет уменьшить размер файла за счет оптимизации структуры файла , без сжатия данных.
- Поддерживает программное и аппаратное обеспечение DEP .
- Принудительная защита памяти.
- Обрезание адресных привязок.
- Сжатые исполняемые файлы или модули запускаются и работают точно так же, как и до компрессии в Wine .
- Внедрить водяной знак .
Недостатки
- Закрытый исходный код .
- Незарегистрированная версия работает 7 дней.
- Отсутствие кроссплатформенности .
Консольная версия
В дистрибутив поставки входит файл PEC2.exe . Она поддерживает только интерфейс командной строки .
Плагины
PECompact использует кодеки , загрузчики и перехватчики , подключаемые в виде модулей ( плагинов ) — динамических библиотек .
Кодеки
В стандартную комплектацию программы входит несколько кодеков для сжатия , шифрования и других целей. Некоторые из них доступны только в зарегистрированной версии.
Название | Имя файла | Автор | Тип | Описание |
---|---|---|---|---|
aPLib | pec2codec_aplib.dll | Йюрген Ибсен ( норв. Jørgen Ibsen ) | сжатие | Алгоритм сжатия данных с минимальными запросами к ресурсам компьютера, но более медленной распаковкой, чем у FFCE . |
BriefLZ | pec2codec_brieflz.dll | Йюрген Ибсен | сжатие | Алгоритм, созданный для быстрой упаковки и высокой степени сжатия . |
CRC32 | pec2codec_crc32.dll | Йюрген Ибсен | проверка целостности | Проверка контрольной суммы CRC32. При запуске файла происходит проверка его внутренней структуры, и если в нём обнаруживаются поврежденные данные, то выполнение файла прекращается, с последующим выводом сообщения на экран (см. MessageBox ). |
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 , распространяется вместе с исходным кодом . Функция использует хинты для увеличения скорости обработки таблиц импорта управляющего модуля. Выполняется бинарный поиск с полной поддержкой ускоренного экспорта. |
См. также
Ссылки
- . Hard'n'Soft (9 мая 2010). Дата обращения: 19 сентября 2010. Архивировано из 25 ноября 2019 года.
- . iXBT (21 января 2009). Дата обращения: 27 августа 2010. Архивировано из 26 января 2013 года.
- Сергей и Марина Бондаренко. . 3DNews (7 ноября 2009). Дата обращения: 22 мая 2010.
- Сергей и Марина Бондаренко. . 3DNews (21 июля 2009). Дата обращения: 22 мая 2010.
- 2021-09-06
- 1