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

Compare with Current View Page History

« Previous Version 19 Current »

Общая информация

Термины и определения


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

Компонент – функциональная часть программы, которую необходимо лицензировать. Компонентами могут быть исполняемые файлы, модули, фрагменты программного кода, отдельно взятые функции или вся программа целиком.

Проект защиты – сущность утилиты, в которой хранятся настройки защиты программы или компонента пользователя.

Консольный интерфейс утилиты применяется в случаях, когда использование графического не представляется возможным, а также в случаях интеграции процесса защиты и привязки программы к лицензии с build-сервером.

В консольном интерфейсе не требуется проводить авторизацию.

Коды возврата

Коды возврата Guardant Protection Studio могут принимать одно из множества значений, соответствующих конкретной ошибке обфускации или защиты программы, либо значение 0 при успешном выполнении защиты. Предупреждения не кодируются в значении кода возврата. Подробные сведения о результате защиты нативных программ доступны в файле result.xml, генерируемом в выходной папке проекта.

Защита программы

Максимальный размер исполняемого файла, который можно защитить и привязать к лицензии с помощью Protection Studio, составляет 2 Гб.

Для работы в консольном интерфейсе необходимо запустить утилиту через командную строку (для ОС Windows) или терминал (для ОС Linux), указав необходимые опции

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

Формат команды для ОС Windows
protection_studio.exe [опции] [путь_до_файла_проекта_защиты]


Формат команды для ОС Linux
protection_studio [опции] [путь_до_файла_проекта_защиты]

Результатом успешной защиты программы является наличие следующих данных:

  • сообщения Protection finished successfully! в командной строке или терминале;
  • соответствующей динамической библиотеки в выходной директории;
  • защищенной программы в выходной папке.

Опции

ОпцияОписание
Обязательные опции
--console
Использовать консольный интерфейс
Выборочные опции
--demo
Провести защиту в режиме тестирования утилиты (с тестовым кодом доступа)
--force
Переписать входные файлы программы выходными, если они лежат в одной директории
--halt

Ожидание ввода данных от пользователя утилиты, применяется, если необходимо использовать отдельную консоль для защиты (например, при запуске из скрипта)

--help
Показать подсказку
--verbose
Показать дамп проекта защиты

Пример команды:

protection_studio.exe --console --force --halt --verbose "C:\Users\Smith\Documents\Guardant Protection Studio\Project 1\Project 1.pprx"    // для ОС Windows
protection_studio     --console --force --halt --verbose /home/Smith/Documents/Guardant\ Protection\ Studio/Project\ 1/Project\ 1.pprx     // для ОС Linux

Нюансы работы консольного интерфейса в Windows

Из-за особенностей реализации Guardant Protection Studio для операционных систем семейства Windows вызов консольного интерфейса должен осуществляться правильным образом.

Поскольку в Windows приложения четко разделяются на графические, консольные и иные, совместить в одном приложении оконный и текстовый интерфейс в общем случае невозможно. Так, наиболее очевидный вызов Guardant Protection Studio приводит к тому, что печать происходит в консоль, которая оказывается не связанной с приложением (независимой от приложения), а код возврата приложения перетирается консолью. Использовать приложение в таком режиме не просто неудобно, но и ненадежно, так как логика работы скриптов может оказаться нарушенной. По этой причине необходимо запускать Guardant Protection Studio, явно указывая в команде вызова, что необходимо дождаться завершения работы приложения.

Вызывать Guardant Protection Studio (x64) для защиты готового проекта в Командной строке и проверять код возврата рекомендуется подобным образом:

start /wait "Guardant Protection Studio" "%GUARDANT_SLK%\bin\x64\protection_studio.exe" --console "%USERPROFILE%\Documents\Guardant Protection Studio\Project 1\project.pprx"
echo %ERRORLEVEL%

Вызывать Guardant Protection Studio (x64) для защиты готового проекта в оболочке PowerShell и проверять код возврата рекомендуется подобным образом:

$process = Start-Process -FilePath $env:GUARDANT_SLK\bin\x64\protection_studio.exe -Args --console,"`"$env:USERPROFILE\Documents\Guardant Protection Studio\Project 1\project.pprx`"" -Wait -PassThru
$process.ExitCode



  • No labels