Guardant Armor – это решение для защиты программного обеспечения от анализа и модификации путем обфускации и виртуализации кода.
Для того чтобы воспользоваться продуктом, нужно скачать Guardant SDK и запустить утилиту grdarmor.exe в режиме командной строки.
При работе с утилитой можно применять различные опции и параметры:
Схема №1
NativeProtector <опции защиты> <опции поиска ключа> <модель ключа>[=<параметры привязки>] <опции защиты файлов> [<файл 1>] ... [<файл N>]
Схема №2
NativeProtector <опции защиты> <опции поиска ключа> <модель ключа>[=<параметры привязки>] <опции защиты файлов>] [<файл 1>] [<файл 2>] <опции поиска ключа> <модель ключа>[=<параметры привязки>] <опции защиты файлов>] [<файл 3>] [<файл 4>]
<опции защиты>
-RC=N | Количество неудачных обращений к ключу (по умолчанию 50) |
-PACK | По возможности сжимать секции |
-FAST | Использовать все доступные ключи для ускорения защиты |
-SILENT | Отключить вывод сообщение в защищенном приложение (отключает опцию -RC) |
-MSG=<msg-файл> | Использовать сообщения об ошибках из файла (по умолчанию сообщения об ошибках берутся из ресурсов) |
-PP | Процент полиморфизма (по умолчанию 100%) |
-PD | Глубина полиморфизма (по умолчанию 10) |
-HP | Hash probability decrease (по умолчанию 1) |
-PRC | Установить имя входного PRC файла |
-PROTECT_DLL_NAME=<file> | Установить имя защищённого хранилища данных |
-OUT=<путь> | Установить выходную директорию для защищаемых файлов |
-Q | Запретить вывод сообщений утилитой защиты |
-V | Проверять целостность приложения |
<опции режима работы конверта>
-ENVELOPE_MODE=S|H:[N]:[L] | режим работы конверта (способ шифрования секций защищаемого модуля)
-S – программный режим конверта без использования алгоритмов электронного ключа
-H – режим работы конверта с использованием аппаратного алгоритма с номером N и длиной вопроса L |
<опции, для установки пути к конфигурационному файлу клиента>
-RCS_USER_DEFINED=<path> | Полный или относительный путь к файлу или каталогу |
-RCS_PROGRAM_DATA=<path> | Путь относительно папки "ProgramData" к файлу или каталогу |
-RCS_ENV_VAR=<name> | Имя переменной окружения, в которой установлен полный или относительный путь к файлу или каталогу (используется только для подключения к серверу Guardant Net) |
<опции активации Guardant SP>
-SP_ACTIVATE=<grdvd-file> | Путь к файлу лицензии Guardant SP |
-SP_TRIAL_ACTIVATE=<grdvd-file>:<file> | Путь к файлам лицензии и серийного номера Guardant SP (рекомендуется для автоматической активации триальных версий программ) |
Примечание: используется только при активации Guardant SP ключей
-USE_NET_AS_LOCAL | Использовать сетевые ключи в качестве локальных |
Примечание: при привязке к локальным ключам игнорируется
<опции защиты файлов>
-ATR=N | Количество таблиц вопросов к алгоритму (по умолчанию 2) |
-AES_COUNT=N | Количество ключей шифрования (по умолчанию 5) |
-INI=<map-file> | Использовать ini-файл |
-MAP=<map-файл> | Использовать map-файл |
-LICENSE_COUNTER=limit | Предупреждать при запуске, если счетчик запусков меньше, чем limit |
-LICENSE_TIME[=days] | Предупреждать при запуске, если количество дней использования осталось меньше, чем days. Работает только для ключей семейства Guardant Time. Значение по умолчанию – 14 дней. |
-LICENSE_URL=string | Отображать URL в сообщении |
<опции поиска ключа>
-UI[=ID] | Привязка к уникальному ID |
-UN[=NPROG] | Привязка к уникальному номеру программы |
-US[=SN] | Привязка к уникальному серийному номеру |
-UV[=VER] | Проверка версии |
-UM=MASK | Проверка маски запусков |
Примечание: при привязке к нескольким моделям ключей опция -UI недоступна, опции -UV, -UN, -US, -UV, не имеют значений по умолчанию. Опция -USE_NET_AS_LOCAL игнорируется для локальных ключей.
Только для сетевых ключей:
-MN=N | Номер модуля в таблице лицензий (умолчанию -1) |
-LOGIN_MODE[=H,S,P] | Выбрать режим лицензирования:
|
Примечание: при использовании для локальных ключей опции игнорируются.
<модель ключа>
-GCP=N:L[:[ID]:[S:<файл ключа>]] | Привязать к Guardant Code Pro |
-GCPN=N:L[:[ID]:[S:<файл ключа>]] | Привязать к Guardant Code Pro Net |
-GC=N:L[:[ID]:[S:<файл ключа>]] | Привязать к Guardant Code |
-GCN=N:L[:[ID]:[S:<файл ключа>]] | Привязать к Guardant Code Net |
-GSP[=[N]:[L]:[ID:[S:<файл ключа>]] | Привязать к Guardant SP |
-GSPN[=[N]:[L]:[ID:[S:<файл ключа>]] | Привязать к Guardant SP Net |
-GS3S[=[N]:[L]:[ID]:[S:<файл ключа>]] | Привязать к Guardant Sign/Time |
-GN3S[=[N]:[L]:[ID]:[S:<файл ключа>]] | Привязать к Guardant Sign/Time Net |
-GS3[=[N]:[L]:[ID]] | Привязать к Guardant Stealth III |
-GN3[=[N]:[L]:[ID]] | Привязать к Guardant Net III |
-GS2[=[N]:[L]:[ID]] | Привязать к Guardant Stealth II |
-GN2[=[N]:[L]:[ID]] | Привязать к Guardant Net II |
Примечание: для ключей Guardant Stealth/Net II по умолчанию используется номер алгоритма GSII64 N=4 и длина вопроса L=8. Для ключей Guardant Stealth/Net III и Guardant Sign/Time/Net по умолчанию используется номер алгоритма GSII64 N=0 и длина вопроса L=8.
<параметры привязки>
N | Номер алгоритма ключа (GSII64 или AES) |
L | Длина вопроса к алгоритму |
ID | ID ключа, на котором будет происходить защита |
S | Номер алгоритма ECC160 |
<файл ключа> | Путь к файлу с открытым ключом ECC160 |