...
- Схема лицензирования приложения
- Возможность привязки к одному ключу любого количества защищенных приложений с независимыми друг от друга лицензиями
- Наличие различных режимов лицензирования по локальной сети
Ограничение работы защищенного приложения:
- По времени использования (для Guardant Time)
- По количеству запусков (для всех типов ключей)
- С использованием периодических проверок наличия ключа
- С использованием принудительного завершения работы приложения через заданный интервал времени после обнаружения нарушения
Способы привязки приложения к ключу:
- К статическим данным ключа
- С использованием алгоритмов ключа
Защита приложения использует:
- Шифрование кода и данных приложения
- Технологию псевдокода (противодействие статическому и динамическому анализу)
- Контроль целостности приложения
Режимы работы автоматической защиты приложений:
- с записью созданной лицензии в ключ
- на основе ранее записанных в ключ данных
- без привязки к электронному ключу
Последний режим предполагает, что привязка к ключу полностью реализуется при помощи Guardant API и необходимость дублирования вызовов ключа отсутствует.
Основные возможности автоматической защиты в зависимости от типа Win-32 приложения приведены в таблице:
Возможности автозащиты
| Тип Win32-приложения | ||
---|---|---|---|
Исполняемые Native-приложения (.exe)* | .NET-сборки (.exe, .dll) | ||
Поддержка локальных ключей, включая SP | + | + | |
Поддержка сетевых ключей | + | + | |
Использование для защиты произвольных алгоритмов типа GSII64 и AES | + | + | |
Защита без привязки к ключу | + | + | |
Привязка к уникальному параметру ключа (ID) | + | + | |
Привязка к серийному номеру и версии ключа | + | + | |
Защита нескольких продуктов или разных версий одного продукта | + | + | |
Защита многомодульных комплексов | + | + | |
Ограничение времени работы приложения | + | + | |
Ограничения числа запусков приложения | + | + (начиная с SDK 7.0) | |
Проверка ключа через заданный промежуток | + | - | |
Контроль присутствия USB-ключа в порту | + | - | |
Защита импортируемых функций | + | - | |
Кодирование и упаковка приложения | + | - | |
Шифрование строк .NET-сборки | - | + | |
Обфускация .NET-сборки | - | + | |
Защита кода .NET-сборки | - | + |
Инструментарий автоматической защиты Guardant состоит из нескольких консольных утилит (утилита для защиты Native-приложений, и две отдельные утилиты для обфускации и защиты кода .NET-сборок), а также утилит с графическим интерфейсом:
Утилиты автозащиты
| Назначение
| |
Название | Тип | |
Консольные
| Защита обычных (Native) exe-файлов | |
Обфускация и шифрование строк .NET-сборок | ||
Защита кода .NET-сборок | ||
GUI
| Графическая оболочка для лицензирования и защиты исполняемых Native-файлов и .NET-сборок | |
NativeProfilerGUI.exe | Native-профилировщик | |
DotNetProfilerGUI.exe | .NET-профилировщик |
Механизмы защиты Native-приложений и .NET-сборок имеют существенные отличия, поэтому далее рассматриваются отдельно: