Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Guardant Armor – это решение для защиты программного обеспечения от анализа и модификации путем обфускации и виртуализации кода.

Для того чтобы воспользоваться продуктом, нужно скачать Guardant SDK и запустить утилиту grdarmor.exe в режиме командной строки.

 

Утилита grdarmor.exe поставляется в составе Guardant SDK (версии не ниже 7 Update 3) и является консольной. Запустить grdarmor.exe можно через стандартную командную строку, Windows Power Shell или при помощи заранее подготовленных пакетных файлов (*.BAT, *.CMD).

 

При работе с утилитой можно применять различные опции и параметры:

Важно!

Нельзя выполнять защиту файлов, которые ранее уже были защищены другими протекторами, в том числе и утилитами автозащиты Guardant.

Важно!

Чтобы выполнить защиту целевого приложения, необходимо при его сборке включать опцию генерации MAP-файла, а при защите использовать опцию “-MAP=”.

Важно!

Опция режима работы конверта “-ENVELOPE_MODE=” всегда должна быть задана.

 

 

При работе с утилитой можно применять различные опции и параметры:

...

N

Номер алгоритма ключа (GSII64 или AES)

L

Длина вопроса к алгоритму

ID

ID ключа, на котором будет происходить защита

S

Номер алгоритма ECC160

<файл ключа>

Путь к файлу с открытым ключом ECC160

Пример:

grdarmor.exe -ENVELOPE_MODE=H:5:16 -GS3S=0:16 -OUT=./result -PRC=clock.prc -MAP=Clock.map Clock.exe

Защищенное приложение Clock.exe будет запускаться в случае, если к компьютеру подсоединен ключ Guardant Sign\Time с симметричными алгоритмами #0 и #5, а длина вопроса 16.

Код для защиты указан в файле clock.prc, а защищенный исполняемый файл будет помещен в подкаталог result.

grdarmor.exe -ENVELOPE_MODE=S -GC=0:16 -GS3S=0:16 -OUT=./result -INI=Clock.ini -MAP=Clock.map Clock.exe

Защищенное приложение Clock.exe будет запускаться в случае, если к компьютеру подсоединен ключ Guardant Sign\Time или Code\Code Time с симметричным алгоритмом #0 и длинной вопроса 16. Режим работы конверта программный. Для различных моделей аппаратных ключей можно использовать алгоритмы с разными номерами (числовыми именами).

  

Важно!

Привязать одно приложение к разным моделям электронных ключей возможно только в программном режиме работы конверта – “-ENVELOPE_MODE=S

Для указания функций и участков кода, которые будут защищаться, на вход утилита grdarmor.exe может принимать 2 вида конфигурационных файлов - PRC или INI.

  • PRC – файл с расширением *.prc создается в результате обработки защищаемого приложения утилитой профилирования. Сформированный ранее PRC-файл можно позже открыть и отредактировать при помощи утилиты профилирования. При защите измененного приложения (например, новая версия в которой добавлены новые функции и\или переработаны существующие) можно воспользоваться «старым» PRC-файлом, но в таком случае защитятся только те функции, hash которых не изменился.
  • INI – файл с расширением *.ini создается разработчиком вручную, где на отдельных строках сначала указывается опция включения\исключения (+p\-p) и через пробел имя функции со всеми искажениями из MAP-файла.

+p <имя функции>

-p <имя функции>

Пример:

+p ?OnPaint@CWnd@Win32xx@@MAEJIIJ@Z

-p ?OnTimer@CDlgMain@@MAEJIIJ@Z

При повторном использовании INI-файла будет произведена попытка защиты всех указанных функций, вне зависимости от того менялся их hash или нет.