Модель лицензирования может быть реализована при помощи нескольких утилит автоматической защиты. Выбор конкретной утилиты или набора утилит зависит от типа приложения (native или .Net) и его разрядности (х86 или х64). На вкладках с названиями утилит описаны действия, которые нужно выполнить чтобы реализовать защиту своего приложения и установить нужные условия лицензирования:

  • LicenseWizard.exe — графическое приложение (оболочка), для удобной защиты и лицензирования как native, так и .Net приложений. Режимы работы перечислены на странице как сделать.
  • grdarmor.exe — современная консольная утилита автоматической защиты х86 и х64 native приложений
  • CodeObfuscator.exe —  консольная утилита обфускации кода .Net приложений
  • CodeProtect.exe — консольная утилита защиты и шифрования кода .Net приложений
  • nwkey32.exe — консольная утилита "прошлого поколения" для защиты только х86 native приложений

Важно!

Схема защиты базируется на проверке номера версии хранящегося в памяти электронного ключа. Механизм проверки позволяет работать с новой версией приложения только если в ключе будет записано соответствующее значение. При этом младшие версии будут работать с этим же ключом (т.е. приложение v.1 будет работать с ключом для приложения v.1.1).

Полностью автоматический режим

Внимание!

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

Ключ программируется самостоятельно

Внимание!

В этом режиме настройка лицензионных ограничений производится при программировании памяти ключа через утилиту «Редактор памяти ключей Guardant» (grdutil.exe), а защита выполняется GUI-утилитой LicenseWizard.exe («Мастер лицензирования и автоматической защиты»)

Запустить «Guardant Интегратор»

Нажать рограммирование электронных ключей]

При помощи утилиты программирования электронных ключей «Редактор памяти ключей Guardant» (grdutil.exe) создать новый образ нажав [Ctrl+N], или:

Внимание!

В диалоговом окне создания нового образа нужно выбрать тип ключа из нижней области «Создание пустого образа»

Указать нужное значение версии:

  • Двойным кликом на поле «Версия» открыть его свойства
  • В открывшемся диалоговом окне ввести нужное значение в специальное текстовое поле
  • Нажать [OK]

Внимание!

При создании образа значение версии автоматически устанавливается как 1

Создать поле с аппаратным алгоритмом симметричного шифрования AES128:

  • Для усиления защиты лучше еще создать поле с аппаратным алгоритмом выработки ЭЦП ECC160

  • Двойным кликом на поле открыть его свойства

  • Вкладка «Ключ ECC160»

  • Нажать [Экспорт в bin-файл автозащиты] и выполнить сохранение *.bin-файла открытого ключа

Записать образ в ключ нажав [Ctrl+W], или:

Запустить LicenseWizard.exe

Нажать [Пустой проект]

Настройка параметров нового проекта:

  • «Способ программирования ключей» выбрать «Ключ программируется разработчиком самостоятельно»
  • «Средство лицензирования (как защищаться от копирования)» в выпадающем списке «Использовать аппаратный ключ модели:» указать модель ключа

  • Нажать [Продолжить]

Создание нового проекта:

  • Указать имя проекта и каталог, в котором сохраняться файлы проекта

  • Нажать [Продолжить]

Выбор ключа:

  • Выбрать нужный ключ из списка подсоединенных

  • Нажать [Продолжить]

Выбор защищаемых приложений:

  • Нажать [Добавить] и в проводнике Windows выбрать защищаемые файлы

  • На вкладке «Лицензирование» указать размер вопроса алгоритма (16, 32 или 64 для AES128) и номер (числовое имя) (узнать номер алгоритма можно в grdutil.exe, посмотрев столбец [Тип] — например, если для нужного алгоритма в столбце [Тип] указанно Алгоритм 00 (AES128), то номер будет 0)

  • Для усиления защиты лучше включить опцию «Использовать алгоритм ЭЦП», нажать […] и в проводнике Windows выбрать ранее сохраненный (п. 5) *.bin-файл открытого ключа

  • Нажать [Дополнительные настройки]
  • Активировать опцию «Проверять поле версия» и задать нужный номер версии в соответствующем текстовом поле
  • Нажать [<< Вернуться]
  • Включить нужные опции защиты на вкладке «Защита»

  • Включить нужные сервисные опции на вкладке «Сервис»

  • Нажать [Продолжить]

После завершения работы мастера защищенное приложение и дополнительные файлы будут в каталоге указанном на шаге №10, в подкаталоге «Result»

Выпуск новой версии приложения

Внимание!

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

Запустить «Guardant Интегратор»

Нажать рограммирование электронных ключей]

При помощи утилиты программирования электронных ключей «Редактор памяти ключей Guardant» (grdutil.exe) найти и открыть созданный на этапе защиты или выпуска предыдущей версии образ нажав [Ctrl+F], или:

  • Меню «База данных»
  • Нажать [Поиск записанных образов]

Указать новое значение версии:

  • Двойным кликом на поле «Версия» открыть его свойства
  • В открывшемся диалоговом окне ввести нужное значение в специальное текстовое поле
  • Нажать [OK]

Записать образ в ключ нажав [Ctrl+W], или:

Запустить LicenseWizard.exe

В области «Последние проекты» выбрать имя нужного проекта защиты (имя проекта задается на этапе защиты) и нажать на него

Несколько раз подряд нажать продолжить и дойти до диалогового окна выбора приложений:

  • В области «Приложения:» нажать [удалить] в строке с указанием старой версии приложения

  • Нажать [Добавить] и в проводнике Windows выбрать защищаемые файлы новой версии приложения

  • Нажать [Дополнительные настройки]

  • Задать нужный номер версии в соответствующем текстовом поле
  • Нажать [<< Вернуться]
  • Если нужно то перенастроить опции защиты на вкладке «Защита»

  • Если нужно то перенастроить сервисные опции на вкладке «Сервис»

  • Нажать [Продолжить]

После завершения работы мастера защищенное приложение и дополнительные файлы будут в каталоге с проектом защиты, в подкаталоге «Result»

Важно!

Защищенное приложение и дополнительные файлы в «Result», сформированные на этапе защиты или выпуска предыдущей версии, будут удалены и заменены новыми. При необходимости нужно выполнить сохранение этих файлов до начала защиты новой версии.

  • No labels