habrahabr

Обзор систем защиты ПО для Windows от нелегального использования

  • воскресенье, 16 марта 2014 г. в 02:58:14
http://habrahabr.ru/post/215553/

В сети с завидной регулярностью (особенно на ресурсах, где обитают разработчики ПО) появляются вопросы типа: «допиливаю свою первую шароварку/программу, задумался над тем, какой протектор выбрать. Что посоветуете?». Как правило, ответы на такие вопросы содержат лишь названия нескольких протекторов (очень часто даже без ссылок на официальные сайты) и минимум информации о самих протекторах — «пользуюсь XXX, все устраивает» или «пересел с XXX на YYY, доволен, как слон». Некоторое время назад я сам был в такой же ситуации, и сделал свой выбор, не обладая всей полнотой информации — хотелось поскорее уже прикрутить защиту и выпустить продукт, и это желание не располагало к глубоким и вдумчивым исследованиям. Я сделал свой выбор, и в основном не жалею, хотя, после исследования, проведенного для данной статьи, я бы наверно размышлял несколько дольше.

В процессе прикручивания протектора к своим программам у меня родился отдельный новый продукт, и я собираюсь написать о нем в хабе «Я пиарюсь». К сожалению, моей слегка подпорченой кармы не хватает на написание статей в этот хаб, и я решил начать с нейтральной статьи о системах программной защиты ПО от копирования.

Данная статья начинает небольшую серию статей, посвященную популяризации нашего продукта, но в данной статье он не будет упоминаться. В этой статье будут приведены лишь (по возможности) объективные сведения о возможностях, преимуществах и недостатках различных систем защиты ПО от нелегального использования.

Данная статья затрагивает только программные системы защиты (протекторы), защита ПО от копирования при помощи каких-либо физических носителей ключевой информации не рассматривается.

В данной статье рассматриваются системы защиты ПО, работающего под управлением ОС Windows различных версий, поддержка других операционных систем отмечается как опциональная возможность.



Краткое описание характеристик протекторов


Перед тем, как начать сравнение систем защиты, я хочу кратко описать параметры, по которым будет производится сравнение.

мутация кода — это один из самых простых способов защиты, заключающийся в замене ассемблерных инструкий на их полные аналоги. Мутация кода не ухудшает (практически) быстродействие защищаемого кода, и предназначена для усложнения поиска типичных сигнатур кода, которые содержатся в используемых библиотеках и которые типичны для конкретных компиляторов. Также мутация предполагает переупорядочивание инструкций без изменения их результирующего действия. Мутацию кода также иногда обозначают термином metamorf.

виртуализация кода — данный способ защиты основан на замене машинного кода на байт-код виртуальной машины, которая встраивается в исполняемый файл или динамическую библиотеку. Этот метод защиты обычно представляет серьезную проблему для взломщиков. Протекторы, использующие виртуализацию, обычно генерируют новую систему байт-кодов виртуальной машины каждый раз при обработке защищаемого приложения, что делает краки и генераторы ключей для старых версий ПО несовместимыми с каждой новой версией.

обнаружение отладчика — данная функция позволяет запрещать выполнение защищаемого приложения под отладчиком.

обнаружение VM — данная функция позволяет запрещать выполнение защищаемого приложения в операционной системе, которая установлена на виртуальной машине, такой, например, как VMWare или VirtualPC.

защита памяти — данная функция позволяет защищаеть приложение от атаки путем снятия дампа памяти работающего приложения.

проверка целостности — данная функция позволяет обнаруживать попытки модификации кода и данных приложения во время выполнения.

защита импорта — данная функция позволяет прятать информацию об используемых в программе API.

защита ресурсов — данная функция предотвращает извлечение и модификацию ресурсов приложения (в системах Win32/Win64)

dll boxing — данная функция позволяет включать в защищаемое приложение библиотеки DLL, требуемые для его работы, при этом DLL входят в состав исполняемого файла и при выполнении приложения загружаются из памяти без промежуточной записи на диск.

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

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

поддержка x64 — 64 разряда давно вошли в нашу жизнь, и многие разработчики выпускают 64-разрядные версии ПО. К сожалению, не все производители протекторов радуют возможностью защищать такие приложения; у некоторых протекторов такая возможность предоставляется за отдельную плату.

поддержка .NET, Linux, Mac — дополнительные возможности по защите приложений .NET, а также приложений под операционные системы Linux и Mac

консольные утилиты — наличие у протектора консольных утилит (Win32), которые позволяют автоматизировать процесс защиты приложения.

короткие серийные номера — поддержка протектором коротких серийных номеров (вида XXXX-XXXX-XXXX-XXXX) вместо длинных (размером в килобайт, два, или более) ключевых файлов. Иногда короткие серийные номера называют кодами активации, чтобы отличать их от длинных ключей.

деактивация ключей — функция деактивации позволяет пользователю перенести программу на другой компьютер и активировать ее заново.

блокировка ключей — данная функция позволяет блокировать «утекшие» ключи. Особенно это полезно, если не используется привязка к обордованию. Обычно заблокированные ключи (вернее, обычно используются их хэши) защиваются в защищаемое приложение при его обработке протектором.

данные о покупателе — хранение данных покупателя — имя и email в ключе.

дополнительные данные — возможность добавления каких-либо данных в ключе для дальнейшего использования в защищаемом приложнии.

поддержка различных режимов активации — данная функция удобна для организации различных режимов работы защищаемого приложения — к примеру, одно и то же приложение может быть активировано в режиме «Trial», в обычном режиме («Std»), и в режиме «Pro».

поддержка HWID — часто требуется привязать программу к определенному компьютеру, чтобы ограничить ее нелегальное распространение. В то же время идентификатор оборудования не должен зависеть от установленной системы или ее версии, а также от аппаратных компонентов, которые наиболее подвержены возможности их замены. Данная характеристика будет указывать наличие возможности привязки к оборудованию, а также (если есть данные) о том, на основе чего вычисляется HWID. По возможности будут указываться наиболее полные сведения об уровне поддержки HWID.

наличие сервера активации — сервер активации обычно предполагает, что для приложения требуется активация. Данная опция помогает ограничивать нелегальное распространение ПО. В случае, если ключевой файл активации формируется единожды для заданного имени пользователя и/или его email'а существует возможность утечки данного ключевого файла в широкий доступ. Необходимость активировать приложение через сервер активации каждый раз при его установке снижает опасность нелегального распространения ПО совместно со скомпрометированными ключевыми файлами.

генератор ключей — дает возможность генерировать ключи для активации приложения в автоматическом режиме. Обычно это требуется для генерации ключей/серийников/кодов активации при продаже ПО через регистраторов. При этом генератор ключей располагается на вашем сайте и вызывается регистратором при осуществлении продажи ПО. Генератор ключей может быть приложением Win32, Linux программой, или может быть реализован на языках типа PHP. Последний вариант наиболее предпочтителен, так как не накладывает никаких ограничений на тип хостинга, на котором он будет располагаться.

поддержка регистраторами — многие регистраторы предоставляют интегрированные в свою систему генераторы ключей. Данная возможность может пригодится, если по каки-либо причинам нет возможности или желания устанавливать генератор ключей на свой сервер.

ложные срабатывания (false positivies) — эта характеристика протектора говорит о том, как часто защищенные протектором приложения могут быть определены антивирусным ПО как зловредные. Большинство разработчиков систем защиты взаимодействуют с производителями антивирусов, и стараются уменьшить количество ложных срабатываний при использовании протектора, но протекторы, разработка/поддержка которых приостановлена или заброшена, могут давать много ложных срабатываний, что, несомненно, добавляет головной боли пользователю такого протектора.

капризность — изначально данная характеристика называлась "стабильность", но противоположная характеристика — "капризность" более точно отражает смысл данного параметра. Капризность протектора определяет, насколько часто он дает сбои — как часто защищаемые им приложения становятся неработоспособны, насколько долго нужно колдовать над ключами и опциями защиты, чтобы получить защищенное работоспособное приложение. Нулевая капризность означает гарантированный работоспособный результат в при любых сочетаниях опций защиты.

простота интеграции — данная характеристика отражает простоту встраивания защиты и системы активации в ваше приложение. Поддержка системы активации включает в себя API для отображения диалогов активации/деактивации, API для сохранения ключевой информации в системе пользователя, и, по возможности, различные функции управления различными аспектами подсистемы безопасности Windows.

поддержка инсталяторов — данная характеристика отражает простоту встраивания системы активации приложения в инсталятор продукта. В некоторых случаях бывает удобно для конечных пользователей встраивать активацию приложения в инсталятор продукта, особенно если лицензии на использование приложения продаются пачками на 10-50-100-1000000 допустимых активаций. В подобных случаях особенно необходима бывает возможность silent-установки и silent-активации по заданным в командной строке параметрам.

Сравнение стоимости и актуальности версий


Характеристик, по которым хочется произвести сравнение, набралось довольно много, поэтому сравнение будет производить в несколько этапов.

Для начала узнаем стоимость каждого из продуктов, актуальную на текущий момент версию (если она указана), и дату последнего обновления, чтобы оценить «живость» протектора.

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

Также, цена будет указываться не для отдельно покупаемого продукта и/или компонента, а с учетом скидки, которые некоторые производители дают при покупке нескольких компонентов одновременно (если такая возможность существует и я смог ее найти).

Различные цены для индивидуального разработчика и для компаний будут обозначены буквами P и C соответственно, если нет единой цены.

Цены для Lite редакций и подобных облегченных версий я не стал приводить, так как в большинстве своем они мало на что пригодны и обычно требуют слишком большого объема работ по допиливанию до приемлемого состояния.

Таблица 1. Общие сведения
Протектор Стоимость Версия Дата
последнего обновления
ASProtect
http://www.aspack.com/
ASProtect32: P €173, C €405;
ASProtect64: P €144, C €376
2.70
2013.1
13.12.2013
18.04.2012
DotFix NiceProtect
http://www.niceprotect.com/
P $99, C $199 4.5 26.09.2013
Enigma Protector
http://enigmaprotector.com/
32-bit: P $149, C $299
64-bit: P $149, C $299
4.00 04.03.2014
ExeCryptor
http://www.strongbit.com/execryptor.asp
$135/$199/$475/$749 2.3.9 20.03.2006
IntelliProtector
http://www.intelliprotector.com/
помесячная оплата - -
LimeLM
http://wyday.com/limelm/
помесячная оплата - -
Obsidium
http://www.obsidium.de/
x86: P €139, C €289
x64: P €139, C €289
x86+x64: P €219, C€529
1.5.0 10.03.2014
Oreans Themida/WinLicense
http://www.oreans.com/
Themida x32 P €149, C €299
x32/x64 P €199, C €399
WinLicense x32 P €349, C €699
x32/x64 P €399, C €799
2.2.7 18.12.2013
PC GUARD
http://www.sofpro.com/pc.guard.htm
x86 Sinle license €249.95
x64 Sinle license €299.95
Activation Suite €249.95
Activation Center €399.95
AC generator API €99.95
AC generator Web €99.95
6.00.0090 05.02.2014
PELock
http://www.pelock.com/
P $89, C $289 1.0694 26.01.2012
Safengine
http://www.safengine.com/en-us/products/protector/
Protector: P $366, C $660
Licensor: P $599, C $1025
NetLicensor: P $1199, C $2050
- -
Setisoft Private exe Protector
http://private-exe-protector.com/
$110
Source: $1650
4.4.0 01.03.2014
SoftwareKey Protection PLUS
http://www.softwarekey.com/
Pro $349
Enterprise: $499
Internet: $799
Сервер активаций с помесячной платой

5.13.4.0 31.12.2013
SoftwarePassport (Armadillo)
http://www.siliconrealms.com/
- 9.62 07.06.2013
StarForce ProActive
http://www.star-force.com/
- - -
VMProtect
http://vmpsoft.com/
Ultimate: P $399, C $599
Pro: P $199, C $399
Lite: P $129
WebLM: $49.50
2.13 11.05.2013

Идея начать изучение протекторов с цен и времени последнего обновления оказалась удачной — некоторые протекторы не прошли этот тест и уменьшили количество вариантов для дальнейшего изучения.

ExeCryptor выбыл из сравнения, так как обнаруженная на сайте дата обновления демки — 2006 год — показала, что этот протектор может представлять интерес только для историков IT.

PELock тоже было решено не рассматривать дальше, так как последнее обновление было два года назад; поддержка x64 похоже отсутствует, в списке поддерживаемых систем нет Windows 7/8/8.1.

IntelliProtector и LimeLM выбыли из сравнения, так как они представляют собой не продукты, которые можно купить один раз и пользоваться до пенсии (если, конечно, не интересны обновленные версии), а сервисы по активации приложений с помесячной оплатой и ограничениями по количеству продуктов и числу активаци, в зависимости от выбранного тарифного плана.

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

По протектору SoftwarePassport я не смог найти цен и ссылок на покупку; в сети нашел информацию, что продажи приостановлены с середины лета 2013 года. Возможно, что SoftwarePassport предоставляется бесплатно при использовании регистраторов, принадлежащих Digital River: RegNow, ShareIt, RegSoft, eSellerate, SWREG, MyCommerse. Но данное предположение не основано на каких-либо известных фактах, поэтому SoftwarePassport также исключается из обзора (в данный момент я ожидаю коментариев от представителя Digital River, и, возможно, по данному протектору вскоре появятся дополнения).

StarForce ProActive был исключен по следующим причинам:
  1. не удалось найти информацию по ценам;
  2. для получения триала нужно заполнить форму и ждать, пока его вышлют (или вышлют ссылку на скачивание);
  3. не удалось найти информацию о дате выпуска последней версии;
  4. был неудачный опыт использования продукта, защищеного StarForce'ом — попросили установить игру, при установке выяснилось, что она защищена StarForce'ом и устанавливает драйвер, который работает в XP и не работает в Windows 7. Возможно, сейчас ситуация стала лучше, но вообще в интернете нашлось много жалоб на данный протектор.

StarForce ProActive, как показалось, больше ориентирован на защиту различного контента, для защиты именно приложений компания предлагает протектор ASProtect, по которому информация более доступна.
Также, мы попытались связаться с ними, и получили следующий ответ (цены округлены):
Предложение от StarForce
Выбранный вами продукт защищает исполняемые файлы и другие с привязкой к оборудованию, активация через интернет.
Есть вариант минимальной защиты (Basic), есть максимальной (Pro). Функционал обширный, как правило каждый выбирает что наиболее приемлемо в его, конкретном случае.
Стоимость продукта складывается из стоимости лицензии на защиту на полгода Basic 9 т. руб., Pro 14 т. руб. На год соответственно 15 т. руб./21 т. руб.
+ стоимость серийных номеров в Basic по N руб., в Pro по 3N руб.
Есть дополнительные опции — деактивация по 7 т. руб., редактирование серийных номеров по 7 т. руб. (в Basic недоступно).

Также в обзор я вообще не включил
Dyamar protector — похоже, он давно умер, и на сайте нет уже никаких упоминаний о нем; и XHEO/DeployLX — данный протектор защищает только .Net приложения.

Результаты первичного обследования


По результатам предварительного анализа можно сказать, что в общем и целом цены на протекторы держатся примерно на одном уровне. Если есть желание сэкономить и не требуется поддержка x64, то некоторые производители предоставляют такую возможность.

Также актуальность версий у протекторов, которые прошли во второй тур, примерно на уровне. Исключение составляет, пожалуй, лишь VMProtect. По слухам, его автор вовсю пилит версию 3 с новыми фичами; и хотя версия протектора сравнительно давно не обновлялась, автор им занимается, отвечает на запросы довольно оперативно. Если судить по датам выпуска предыдущих версий, этой весной стоит ждать очередного обновления.

Поддержка методов и технологий защиты


Детальное сравнение протекторов начнем со сравнения их основных характеристик — поддерживаемых технологий защиты кода и методов противостояния взломщикам.

Символом '-' я буду отмечать, что технология не поддерживается, сиволом '+' — что технология поддерживается в базовой комплектации, и символом '$' будет отмечаться то, что технология поддерживается в какой-либо расширенной редакции, доступной за дополнительную плату.

Символом '?' я буду отмечать, что не нашел сведений о поддержке данной технологии (но не факт, что она отсутствует).

В колонке «Защита импорта» в скобочках проставляется защита entry point.

В колонке «Защита импорта» в скобочках проставляется защита entry point и/или дополнительное сокрытие используемых функций API.

Таблица 2. Поддержка методов и технологий защиты
Протектор Мута­ция кода Виртуа­лизация Анти­отлад­ка Обнару­жение VM Защита памяти Проверка целост­ности Защита импорта Защита ресурсов Dll boxing
ASProtect - - + - + + + (+) + ?
DotFix NiceProtect + + + ? ? ? ? ? ?
Enigma Protector ? + + + ? + + (+) + +
Obsidium - - + + + + + ? ?
Oreans Themida / WinLicense + + + + + + — (+) + +
PC GUARD ? ? + + + + + + -
Setisoft Private exe Protector - - + - + - - Опция «краденые ресурсы»? -
SoftwareKey Protection PLUS + + + +, включая гипервизоры Hyper-V и подобные + + - + -
VMProtect + + + + + + + (+) + (выборочно) $ (Ultimate)

Символом '*' в следующей таблице я буду отмечать, что размер приложения увеличивается после обработки протектором, но более точных сведений об этом нет. Цифра будет обозначать примерное увеличение размера исполняемого файла.

Таблица 3. Размер, упаковка, поддержка различных систем
Протектор Размер Упаков­ка Шифро­вание Под­держ­ка x64 Под­держ­ка .NET,
Linux, Mac
Кон­соль­ные утилиты
ASProtect * + + $ - +
DotFix NiceProtect * + + ? ? +
Enigma Protector * ? ? $ .NET +
Obsidium * + + $ .NET +
Oreans Themida / WinLicense * + ? $ .NET SDK
PC GUARD * ? + $ $ (PC GUARD FOR .NET) -
Setisoft Private exe Protector *
(опции «оставить размер» и
«увеличить размер»?)
см. «Размер» + (как заявлено) + - -
SoftwareKey Protection PLUS незначителльное увеличение + + - - +
VMProtect 2 + + + ? $ (Ultimate)


Таблица 4. Поддержка активации и лицензирования
Протектор Короткие серийные номера Деакти­вация ключей Блоки­ровка ключей Данные о покупа­теле Дополни­тельные данные Поддержка различных режимов активации Поддержка HWID
ASProtect + ? + ? ? до 15 гибко настраивается
DotFix NiceProtect - - - - - - -
Enigma Protector - ? + + - + гибко настраивается
Obsidium + ? ? ? ? + гибко настраивается
Oreans Themida / WinLicense ? ? Есть, также бан по HWID + + + Есть
PC GUARD + (нет длинных) - + - + (16 feature-флагов) Демо режим с настраиваемыми ограничениями Machine locking
Setisoft Private exe Protector ? ? + ? - Триал режим с настраиваемыми ограничениями +
SoftwareKey Protection PLUS + - ? ? ? Trial, rental +
VMProtect + (коды активации) + + + до 255 байт Mod'ы и пользовательские данные Есть


Таблица 5. Поддержка активации и лицензирования — Продолжение — Серверная часть
Протектор Сервер активации Генератор ключей Поддержка регистра­торами
ASProtect - Win32/Linux -
DotFix NiceProtect - - -
Enigma Protector Offline, Online ? Win32/Linux -
Obsidium Нет, есть SDK Win/Linux Нет, есть SDK Win/Linux -
Oreans Themida / WinLicense Offline: WinLicense ($); online: Win32 SDK Win32 SDK -
PC GUARD Web ASP.NET Web ASP.NET -
Setisoft Private exe Protector Не понятно Не понятно -
SoftwareKey Protection PLUS $ (SOLO server) + -
VMProtect $ (PHP WebLM) Offline; $ (WebLM) payProGlobal


Таблица 6. Субъективные критерии
Протектор Ложные сраба­тывания Ка­приз­ность Простота интеграции Поддержка инсталляторов
ASProtect ? ? ± ? -
DotFix NiceProtect ? ? ? -
Enigma Protector ? ? Есть встроенная поддержка активации, диалоги, напоминания -
Obsidium нет 0 Есть встроенная поддержка активации, диалоги, напоминания -
Oreans Themida / WinLicense ? ? Есть встроенная поддержка активации, диалоги, напоминания -
PC GUARD ? ? Есть встроенная поддержка активации, диалоги, напоминания -
Setisoft Private exe Protector ? ? Есть некоторая встроенная поддержка активации, диалог
SoftwareKey Protection PLUS нет 0 ± -
VMProtect нет; активно взаимо­дей­ствуют с анти­вирусными компаниями 0 Сложно; полная поддержка доступна при использовании стороннего ПО для версии Ultimate Сложно; полная поддержка интеграции с InnoSetup доступна при использовании стороннего ПО для версии Ultimate

Небольшой субъективный обзор


Отмазка aka disclaimer


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

Также я не могу вам обещать, что заявленая поддержка той или иной функции защиты (или сопутствующей функции) отвечает всем предъявляемым к ней требованиям. Тем более я не буду ничего говорить о качестве реализации той или иной функции, а также пытаться сравнивать их реальные технические характеристики и делать выводы о качестве их реализации.

ASProtect


Отечественная разработка.
Достоинства: эмуляция системных функций, защита импорта, защита точки входа.

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

Популярен среди наших соотечественников, так как раньше распространялся среди русскоязычных шароварщиков со значительной скидкой.

В данное время принадлежит Star Force, и, похоже, находится в фазе стагнации, вроде жив, но апдейтится только по особым случаям вроде выхода новой версии Windows. Саппорт также не слишком отзывчивый. Ходят слухи, что к нему существуют универсальные кейгены.

Скриншоты ASProtect








DotFix NiceProtect


Малоизвестный в ру-нете протектор с небольшим количеством функций, тем не менее предлагающий опции мутации кода и виртуализации.

Недостатки: из UI есть только два диалога (сообщения) — стартап сообщение о демо-версии и сообщение об обнаруженом отладчике; не обнаружено никаких признаков серийных ключей и подсистемы лицензирования.

В дистрибутиве обнаружен текст лицензии на русском языке, что намекает на потенциально возможную русскоязычную поддержку.

Похоже что это просто обычный пакер с защитой от отладки. Неясно, как организовывать продажу ПО при использовании данного протектора.

Скриншоты DotFix NiceProtect







Enigma Protector


Достоинства: поверхностный обзор показал очень богатый набор функций, пожалуй, наиболее богатый среди всех исследованных протекторов; есть защита импорта, эмуляция и перенаправление (redirect, опция предназначена, видимо, для более полного сокрытия используемых функций) функций WinAPI; богатейший набор различных проверок (Check-up).

Явных недостатков поверхностное исследование не выявило, что делает этот протектор, в купе с приемлемой ценой на раздельные x86/x64 версии, одним из главных претендентов на победу.

Скриншоты Enigma Protector













Obsidium


Достоинства – возможность автоматизации защиты и интеграция со средствами разработки (post-build step); защита .NET приложений; невысокая цена. Также удобно, что в протектор встроена система активации и управление хранением ключевой информации на компьютере пользователя; гибкость конфигурации — можно сэкономить, купив только x86 версию.

Недостатки: небольшое количество функций; отсутствие виртуализации кода (хотя на сайте code virtualization декларируется для обоих — x86/x64 версий).

Автора можно найти в LinkedIn, он отвечает на вопросы там в течении нескольких дней, предлагая перенести общение в почту.

Скриншоты Obsidium










Oreans Themida/WinLicense


Неплохой протектор с набором опций немного выше среднего, за дополнительные деньги доступен сервер лицензирования (WinLicense), что упрощает продажу ПО, защищенного данным протектором.
К недостаткам можно отнести высокую цену (к тому же в евро), если покупать полный комплект предлагаемого ПО. Также функция Dll boxing'а предлагается, насколько я понял, в виде отдельного пакета/приложения, что еще больше увеличивает цену.

Из достоинств можно отметить, что Dll boxing можно применять не только собственно для dll/ocx и других исполняемых файлов, но и файлам контента, например видео.

Скриншоты Oreans Themida








Скриншоты Oreans WinLicense







PC GUARD


Малоизвестный протектор, но обладает довольно богатым набором опций.
Предлагает несколько вариантов связки защиты/лицензирования (как я понял, в связке с предлагаемыми отдельно серверами активации).

Недостаток — довольно большая цена, если приобретать полный комплект ПО.

Скриншоты PC GUARD









Setisoft Private exe Protector


Обладает спартанским набором функций, что делает его очень похожим на «DotFix NiceProtect»; тем не менее обладает некоторым зачатками системы лицензирования

Цена на протектор довольно гуманна, есть возможность прикупить и исходные тексты протектора (но уже по не совсем гуманной цене).

При запуске зачем-то запрашивает повышение привилегий, но возможно, программы, им защищенные, не обладают этим недостатком.

Скриншоты Setisoft Private exe Protector







SoftwareKey Protection PLUS

Отзыв от пользователя SK Protection PLUS

Не особо известный в ру-нете, но довольно хороший протектор. Малое количество взломов ПО, которое его использует. Очень хорошая система онлайн-активации SOLO Server позволяет полностью автоматизировать процесс, включая возможность использования получения ключей активации для компьютеров не находящихся в сети и удаленного включения/отключения лицензий.

Основными достоинствами является очень хорошая защита от взломов протектора, большое количество возможностей самого протектора. Так же не маловажным может оказаться поддержка Active-X компонентов и возможность создания сетевых лицензий с собственным сервером активации.

Недостатки – мало известен в русскоязычном коммунити, нет поддержки на русском языке. Высокая цена.

Примечание: скриншотов для SoftwareKey Protection PLUS нет, так как без запроса демку скачать не удалось.

VMProtect


Отечественный протектор, автор которого регулярно появляется на RSDN.RU в разделе «Shareware» и оперативно отвечает на вопросы как там, так и в личной пересписке.

Протектор обладает джентельменским набором опций, при покупке версии Ultimate появляется возможность приобрести сервер управления лицензиями с генератором ключей WebLM с 50% скидкой (за $49.9).

Достоинства: сервер лицензирования WebLM написан на PHP, очень просто устанавливается при помощи мастера и скорее всего, вызовет минимальное количество проблем при установке. Для нормальной работы сервера WebLM нужна библиотека PHP для работы с большими числами, которой у меня на хостинге не было, но хостер без вопросов добавил ее поддержку на следующий день после запроса. Также, насколько я знаю, генератор ключей вскоре должен быть переписан с использованием функций OpenSSL, так что проблемы с хостингом сервера лицензирования стремятся к 0.

Сервер активаций WebLM настраивается на использование различных регистриторов, есть возможность ограничивать доступ к генератору ключей по спискам IP-адресовю

Ознакомиться с возможностями WebLM можно на сайте производителя протектора (логин/пароль: admin/admin).

Есть возможность создавать различные версии лицензии (называются модами), также есть удобная возможность к каждому варианту лицензии добавлять пользовательские данные размером до 255 байт.

Автор активно взаимодействует с производителями антивирусов — в процессе поиска информации по протектору он был неоднократно замечен на форумах поддержки различных антивирусов.

Из недостатков можно отметить отсутствие функций для упрощения встраивания лицензирования в приложения, но данная проблема решается сторонним ПО, которое попутно решает и некоторые другие вопросы, а также поддерживает встраивание активации в инсталяторы InnoSetup и поддерживает silent установки.

Скриншоты VMProtect




Пожалуй, все


Целью данного обзора было помочь вам выбрать два-три протектора для дальнейшего детального исследования при выборе способа защиты для своего приложения, и, надеюсь, данная статья поможет сделать этот выбор и сэкономит вам некоторое время.

Но продолжение следует


Как вы уже поняли, у меня ещё есть что сказать, и я обязательно напишу о проблемах, которые встали передо мной в процессе интеграции протектора в свою программу. Если прирасту кармой ;)