You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Основные операции по программированию ключей можно выполнять из командной строки. Это особенно удобно в тех случаях, когда необходимо отделить обязанности по работе с Редактором образа и базой данных от обязанностей по прошивке и обновлению памяти ключа подготовленными данными.
Предполагается, что всю подготовку данных для прошивки ключа выполняет программист-разработчик системы защиты приложения, а операции по прошивке и обновлению памяти ключей возлагаются, например, на менеджера по продажам.
Для удобства работы и автоматизации процесса программирования ключей разработчик может создать GUI-утилиту или набор BAT-файлов на основе строчных команд GrdUtil.exe.
GrdUtil.exe предоставляет строчные команды для выполнения следующих действий:

  • Запись образа в ключ
  • Удаленное обновление ключа
  • Завершение процедуры удаленного обновления ключа
  • Локальное обновление ключа

Важно!
1. Для успешного выполнения операций тип записываемого образа и тип программируемого ключа должны совпадать.
2. При локальных операциях необходимо учитывать, что запись производится в первый найденный ключ нужного типа.
3. Все числа, передаваемые в командную строку, должны быть в шестнадцатеричной системе счисления.

Запись образа в ключ

Для записи содержимого образа в ключ служит команда -write.
В процессе выполнения команды происходит перезапись всей памяти ключа данными выбранного образа. В качестве источника данных может использоваться шаблон образа из базы данных или образ из файла *.nsd.
Команда -write имеет несколько опций:

Опция

Описание

-mask(name, version)

Записать в ключ содержимое шаблона образа из БД GrdUtil.
name, version – имя и версия шаблона образа

-user(user_name)

Зарегистрировать прошивку ключа на указанного пользователя.
user_name – имя конечного пользователя

-infile(file.nsd)

Записать в ключ содержимое файла образа.
file.nsd – имя файла формата .nsd, который используется как источник обновления

-dongleID(hex)

Выполнить запись в ключ с указанным ID(в случаях, когда к портам подсоединены несколько ключей)


Опции команды -write используются в следующих сочетаниях:

Сочетания опций

Описание

-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)

Создать дамп обновления на основе содержимого шаблона образа.
name, version – имя и версия шаблона образа из базы данных GrdUtil.exe

-infile(file.nsd)

Создать дамп обновления на основе содержимого файла образа.
file.nsd – имя файла формата .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. Подробное описание процедуры завершения удаленного обновления см. в разделе Удаленное обновление.

Команда

Описание

-complete(final_query)

Обработать код-подтверждение, полученный от конечного пользователя. В случае успеха операции факт прошивки удаленного ключа получает статус завершенного (см. раздел Прошивки)


Локальное обновление

Для обновления памяти ключа, подсоединенного к порту компьютера разработчика, служит команда -local.
В качестве источника данных может использоваться шаблон образа из базы данных и образ из файла .nsd. При обновлении происходит полная перезапись содержимого ключа.
Команда -local имеет несколько опций:

Опция

Описание

-mask(name, version)

Записать в ключ содержимое шаблона образа.
name, version – имя и версия шаблона образа

-infile(file.nsd)

Записать в ключ содержимое файла образа.
file.nsd – имя файла формата .nsd, который используется как источник обновления


Опции команды -local используются в следующих сочетаниях:

Сочетания опций

Описание

-local –mask(name, version)

Записать в ключ содержимое шаблона образа с указанным именем и версией. Прошивка будет зарегистрированав базе данных на текущего конечного пользователя

-local –infile(file.nsd)

Записать в ключ содержимое указанного файла образа

Получение кода возврата GrdUtil

Если при работе с командной строкой GrdUtil необходимо получать код возврата, то для этой цели следует использовать WinAPI.
Так, например, при создании дочернего процесса с помощью CreateProcess(), код ошибки может быть получен при помощи функции GetExitCodeProcess().
Распространенные коды возврата:

Код ошибки

Описание

0x00000000

Операция завершилась успешно

0x00000001

Ошибка в процессе записи ключа

0x00000002

Не найден файл

0x1000019F

Ошибка задания параметров командной строки

0x100001B4

При обновлении указано некорректное число-вопроc

  • No labels