В конце разд. "Реализация защиты и ее взлом" этой главы приведен "скорбный" список из дюжины продуктов для организации защиты shareware-программ, которые были взломаны. Но все-таки есть в этой категории продукт, защита которого пока остается нерушимой. Его не раз рекомендовали как отличное средство организации защиты и в российской конференции SwRus, и в зарубежных, например, news:comp.shareware.authors. Называется он ASProtect (http://www.aspack.com) и написан нашим соотечественником Алексеем Солодовниковым. От одного опытного специалиста в области компьютерной безопасности мне приходилось как-то слышать такие слова: "Во времена ASProtect можно с защитой уже особо и не париться".
Действительно, ASProtect обеспечивает комплексную защиту shareware -программ:
Механизм защиты ASProtect основан на принципе "конверта", в который как бы помещается приложение. Сначала код, данные, таблицы импорта и ресурсы файлов программы шифруются и упаковываются с использованием оригинального алгоритма ASPack, при этом двоичный код анализируется на предмет наличия в нем API-функций ASProtect, и код, отвечающий за защиту, присоединяется к концу исходного файла. Размер этого кода — около 40 Кбайт, но за счет упаковки приложения по алгоритму ASPack объем файла программы сокращается более чем на 50%.
После запуска ЕХЕ-файла программы управление передается к тому самому, в 40 Кбайт, модулю защиты. Он проверяет целостность файла, активность отладчика (при его обнаружении работа защищенной программы прекращается), наличие регистрационного кода, обрабатывает ограничение работы по времени и, наконец, расшифровывает и распаковывает данные основного приложения и передает ему управление.
Наличие API-функций, с помощью которых ASProtect взаимодействует с защищаемым приложением, многократно повышает сложность взлома защиты. С освоением этого API нет никаких сложностей: функции имеют простой синтаксис, и, кроме того, в документации к программе приводятся примеры внедрения защиты на C++, Delphi и Visual Basic.
Регистрационные коды, генерируемые ASProtect, имеют минимальную длину 137 символов. В программе есть диалоговое окно Украденные ключи. Если автор программы обнаружит, что какой-либо из выданных ключей попал в руки злоумышленников, то он может поместить его в список, еще раз запустить процедуру защиты ЕХЕ-файла — и программа перестанет воспринимать этот ключ.
Если запустить поиск по слову ASProtect, например, в http://www.yandex.ru, то можно найти много страничек, где рассказывается о том, как взломать защиту ASProtect. Но все это относится только к ранним версиям пакета, в механизме защиты которых существовали "дыры". К версии 1.2 все ошибки были исправлены, и с тех пор, несмотря на многочисленные попытки, защита ASProtect так никем и не была сломана.
Примечание
Примечание
Отдельные случаи взлома программ, защищенных ASProtect 1.2, известны. Однако, как оказалось, авторы этих программ при реализации защиты не использовали одну из важнейших функций ASProtect— шифрование кода. А без шифрования кода взломать защищенную ASProtect программу не может только начинающий крякер.
ASProtect, естественно, не является бесплатным продуктом, и его цена относительно высока для начинающего шароварщика — 99$. Но в то же время это одно из самых выгодных вложений на этапе начала собственного shareware-проекта.