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