В нескольких шагах, описанных ниже, мы создадим тестовое приложение, которое будет обращаться к системе лицензирования: подавать ей серийные номера и получать статус номера и его содержимое. На первом этапе система лицензирования будет использоваться в тестовом режиме, а на втором этапе - в реальном.
Режимы работы системы лицензированияВ создании защиты всегда есть два этапа: разработка и использование. В случае с лицензированием, вы сначала создаете приложение, потом интегрируете механизмы защиты, добавляете проверки и блокируете функции. И только потом, после всестороннего тестирования, продукт передается пользователям и начинается второй этап. Тестирование защищаемого приложения - процесс сложный, необходимо убедиться в работоспособности всех проверок и условных переходов. Создание "настоящих" серийных номеров на все случаи жизни на этапе тестирования может оказаться неудобным, поэтому у системы лицензирования есть т.н. "режим разработки" или "тестовый" режим, при котором никакой защиты не осуществляется, а реакция системы на серийные номера описывается в конфигурационном файле. Когда приложение отлажено и корректно работает с системой лицензирования, VMProtect заменяет "тестовый" модуль лицензирования на реальный, проверяющий реальные серийные номера. Это происходит в момент защиты приложения, поэтому пропустить этот этап по ошибке не получится.
Этап 1: Тестовый режим работыВ тестовом режиме реакция системы лицензирования на серийные номера, все возвращаемые статусы и данные описываются в конфигурационном файле. Файл называется VMPLicense.ini и должен располагаться в рабочем каталоге приложения. В 10 шагах, представленных ниже, мы пройдем от создания простейшего приложения до полноценного использования системы лицензирования в тестовом режиме с привязкой к оборудованию и ограничением срока бесплатных обновлений.
В реальном режиме работы системы лицензирования VMProtect помещает в защищаемое приложение специальный модуль лицензирования. Модуль выполняет все те же функции, что и тестовый код в SDK, но работает не с ini-файлом, а с содержимым серийного номера. В следующих пяти шагах мы защитим простое приложение полноценной защитой на основе VMProtect и системы лицензирования.
Значения всех битовых флагов, форматы структур и параметры вызова функций можно посмотреть в разделе API системы лицензирования. Этот раздел удобно использовать как справочник, тогда как шаги, описанные выше, позволяют легко реализовать готовые типовые схемы защиты.