Основные операции по программированию ключей можно выполнять из командной строки. Это особенно удобно в тех случаях, когда необходимо отделить обязанности по работе с Редактором образа и базой данных от обязанностей по прошивке и обновлению памяти ключа подготовленными данными.
Предполагается, что всю подготовку данных для прошивки ключа выполняет программист-разработчик системы защиты приложения, а операции по прошивке и обновлению памяти ключей возлагаются, например, на менеджера по продажам. Д
Anchor
GrdUtil.exe предоставляет строчные команды для выполнения следующих действий:
- Запись образа в ключ
- Удаленное обновление ключа
- Завершение процедуры удаленного обновления ключа
- Локальное обновление ключа
Info | ||
---|---|---|
|
...
|
...
|
...
|
...
|
...
Опция | Описание |
---|---|
-mask(name, version) | Записать в ключ содержимое шаблона образа из БД GrdUtil. |
-user(user_name) | Зарегистрировать прошивку ключа на указанного пользователя. |
-infile(file.nsd) | Записать в ключ содержимое файла образа. |
-dongleID(hex) | Выполнить запись в ключ с указанным ID(в случаях, когда к портам подсоединены несколько ключей) |
...
Сочетания опций | Описание |
-write –mask(name, version) | Записать в ключ шаблон образа с указанным именеми версией. Прошивка будет зарегистрирована в базе данных на конечного пользователя Anonymous |
-write –mask(name, version)-user(user_name) | Записать в ключ шаблон образа с указанным именеми версией. Прошивка будет зарегистрирована в базе данных на указанного конечного пользователя |
-write –infile(file.nsd) | Записать в ключ маску из указанного файла |
-write –infile(file.nsd) -mask(name, version) | Записать в ключ маску из указанного файла. Прошивкас указанным именем и версией будет зарегистрирована в базе данных на конечного пользователя Anonymous |
-write –infile(file.nsd) -mask(name, version)-user(user_name) | Записать в ключ маску из указанного файла. Прошивкас указанным именем и версией будет зарегистрирована в базе данных на указанного конечного пользователя |
...
Для обновления памяти ключа, находящегося у конечного пользователя, служит команда -remote(query, outfile), где query - запрос на обновление, полученный от конечного пользователя, а outfile - имя текстового файла, в который будет помещен дамп обновления.
В качестве источника данных может использоваться шаблон образа из базы данных и образ из файла .nsd. При обновлении происходит полная перезапись содержимого ключа.
Полученный дамп обновления необходимо передать конечному пользователю для завершения процесса удаленного обновления. Подробное описание процедуры удаленного обновления см. в разделе Удаленное обновление.
Команда -remote(query, outfile) имеет несколько опций:
Опция | Описание |
-mask(name, version) | Создать дамп обновления на основе содержимого шаблона образа. |
-infile(file.nsd) | Создать дамп обновления на основе содержимого файла образа. |
Опции команды -remote(query, outfile) можно использовать в следующих сочетаниях:
Сочетания опций | Описание |
-remote(query, outfile) -mask(name, version) | Создать дамп обновления на основе содержимого шаблона образа с указанным именем и версией. Прошивка будет зарегистрирована в базе данных на текущего конечного пользователя |
-remote(query, outfile) -infile(file.nsd) | Создать дамп обновления на основе содержимого указанного файла образа. |
-remote(query, outfile) -infile(file.nsd)-mask(name, version) | Создать дамп обновления на основе содержимого указанного файла образа. Прошивка с указанным именем и версией будет зарегистрирована в базе данных на текущего конечного пользователя |
...
Для завершения обновления памяти ключа, находящегося у конечного пользователя, служит команда -complete (final_query), где final_query – код-подтверждение, полученный от конечного пользователя. Код-подтверждение содержит информацию об итоге обновления.
Завершение удаленного обновления необходимо только в случае работы в режиме базы данных GrdUtil.exe. Подробное описание процедуры завершения удаленного обновления см. в разделе Удаленное обновление.
...
Команда
...
Описание
...
Обработать код-подтверждение, полученный от конечного пользователя. В случае успеха операции факт прошивки удаленного ключа получает статус завершенного (см. раздел Прошивки)
...
Для обновления памяти ключа, подсоединенного к порту компьютера разработчика, служит команда -local.
В качестве источника данных может использоваться шаблон образа из базы данных и образ из файла .nsd. При обновлении происходит полная перезапись содержимого ключа.
Команда -local имеет несколько опций:
Опция | Описание |
-mask(name, version) | Записать в ключ содержимое шаблона образа. |
-infile(file.nsd) | Записать в ключ содержимое файла образа. |
...
Сочетания опций | Описание |
-local –mask(name, version) | Записать в ключ содержимое шаблона образа с указанным именем и версией. Прошивка будет зарегистрированав базе данных на текущего конечного пользователя |
-local –infile(file.nsd) | Записать в ключ содержимое указанного файла образа |
...
Если при работе с командной строкой GrdUtil необходимо получать код возврата, то для этой цели следует использовать WinAPI.
Так, например, при создании дочернего процесса с помощью CreateProcess(), код ошибки может быть получен при помощи функции GetExitCodeProcess().
Распространенные коды возврата:
...
Код ошибки
...
Описание
...
0x00000000
...
Операция завершилась успешно
...
0x00000001
...
Ошибка в процессе записи ключа
...
0x00000002
...
Не найден файл
...
0x1000019F
...
Ошибка задания параметров командной строки
...
0x100001B4
...