В настоящий момент разработано достаточно большое число протекторов исполняемых файлов. Многие из них бесплатны и созданы энтузиастами, которым просто интересно попробовать свои силы в защите программ. Разумеется, есть и коммерческие протекторы. А некоторые протекторы являются составляющими частями более сложных комплексов, включающих в себя привязку к аппаратным ключам или компакт-дискам. Рассмотрим основные характеристики нескольких наиболее интересных протекторов.
13.5.1. ASProtect Для защиты условно бесплатных программ чаще всего, наверное, применяется ASProtect — протектор, разработанный Алексеем Солодовниковым. ASProtect был чуть ли не первым серьезным протектором, сочетавшим в себе основные функции, применяемые для защиты программ: • работа с регистрационными кодами на базе RSA-1024; • поддержка "черного списка" регистрационных кодов; • ограничение периода работы пробной версии; • ограничение функциональности пробной версии; • динамическое расшифрование фрагментов кода при наличии правильного регистрационного кода; • API для интеграции защищаемой программы с протектором; • оригинальные методы противодействия исследованию под отладчиком; • оригинальные методы защиты от снятия протектора. Однако благодаря огромной популярности ASProtect является и одним из самых хорошо изученных протекторов — почти для всех хитростей, применяемых в ASProtect, разработаны или автоматические, или полуавтоматиче- ские средства обхода. Иногда у программ, защищенных ASProtect, возникают проблемы с работой под новыми версиями операционных систем, но автор не прекращает работы по совершенствованию протектора и стремится оперативно исправлять все обнаруженные ошибки, а также добавлять новые защитные механизмы.
13.5.2. Armadillo Непривычный метод взаимодействия с защищаемой программой использует протектор, разработанный компанией The Silicon Realms Toolworks и носящий название Armadillo. При запуске защищенная программа выполняется как 2 процесса. Первый процесс, в котором работает основной код протектора, создает в режиме отладки второй процесс, содержащий собственно защищенную программу, и управляет его выполнением. Протектор Armadillo применяет оригинальные технологии, называемые CopyMemll и Nanomites, для защиты кода выполняемой программы от считывания из памяти. Технология CopyMemll уже хорошо изучена и легко обходится автоматическими депротекторами. Про существование автомата, способного обойти Nanomites, пока не известно, но были многочисленные сообщения о ручной распаковке программ, при защите которых использовалась эта технология. Протектор Armadillo также включает в себя менеджер лицензий.
13.5.3. РАСЕ InterLok Протектор InterLok, разработанный компанией РАСЕ Anti-Piracy, имеет версии для Windows и Macintosh. Набор функций, предлагаемых протектором, вполне обычный: менеджер лицензий, демонстрационные версии, API для интеграции и т. д. Версия для Windows устанавливает драйвер ядра, препятствующий отладке защищенного приложения и выполняющий часть проверок. Но, несмотря на наличие такого сложного элемента, как драйвер, защита исполняемого файла довольно слабая. Например, все секции шифруются потоковым шифром с одним и тем же ключом. Это приводит к тому, что если секция кода больше, чем любая другая секция, то можно прочитать из памяти запущенной программы расшифрованную секцию кода, вычислить гамму, накладываемую при шифровании, и расшифровать все остальные секции файла, даже не прибегая к сложным инструментам. Драйвер практически не имеет защиты от исследования, а таблицы импорта вообще никак не защищены.
13.5.4. HASP Envelope В комплект разработчика, поставляемый вместе с ключами HASP, входит протектор HASP Envelope. Цель этого протектора — защитить программу от исследования и даже запуска при отсутствии аппаратного ключа HASP. Так как секретная функция, являвшаяся на протяжении многих лет сердцем ключей HASP, оказалась полностью раскрыта, не составляло большого труда эмулировать ответы на запросы, которые Envelope делал к ключу. Следовательно, любая программа, защищенная HASP Envelope, могла быть запущена без ключа. С появлением ключей семейства HASP4, в которых используются новые Секретные ФУНКЦИИ HaspEncodeData И HaspDecodeData, обхОД Envelope При отсутствии ключа стал невозможен. Но в ост&чьном протектор не способен обеспечить высокую стойкость защиты. И при наличии ключа получение незащищенной копии программы обычно не требует значительных усилий.
13.5.5. StarForce Одной из составляющих StarForce Professional (системы, разработанной компанией Protection Technology для защиты информации, распространяемой на компакт-дисках) является протектор. В его функции входят проверка подлинности компакт-диска и запуск защищенной программы, но только в том случае, если введенный пользователем лицензионный код соответствует установленному в приводе диску. В StarForce применяется множество уникальных технологических решений. Так, например, в защищенном исполняемом файле секция кода заполнена одними нулями, а код защиты выполняется из динамической библиотеки protect.dll, которая автоматически загружается и инициализируется при запуске программы. Большая часть защиты сосредоточена в драйвере, устанавливаемом в ядро операционной системы. Именно там идет проверка подлинности компактдиска. Сам драйвер также зашифрован с целью затруднения его исследования. Часть защищаемой программы хранится в псевдокоде и выполняется на встроенной в протектор виртуальной машине. Несмотря на то, что в Интернете можно найти подробные описания процесса ручного снятия StarForce с некоторых программ, таких случаев крайне мало. Частично это может быть объяснено тем, что для исследования защиты необходимо наличие оригинального компакт-диска, а также тем, что основная категория продуктов, которые защищаются с помощью StarForce, — компьютерные игры. А взлом защиты игр экономически не очень выгоден, т. к. стоимость одной копии игры невелика, а период популярности весьма короток. Но надо отдать должное разработчикам — они неплохо потрудились. В целом StarForce на сегодняшний день является одним из самых серьезных протекторов, который, к тому же, продолжает развиваться. Так недавно компания Protection Technology объявила о выходе StarForce Soft 3.0 — системы защиты от копирования, основанной на ядре StarForce Professional 3.0, но не использующей компакт-дисков.