Общая информация
Термины и определения
Компонент – функциональная часть программы, которую необходимо лицензировать. Компонентами могут быть исполняемые файлы, модули, фрагменты программного кода, отдельно взятые функции или вся программа целиком.
Проект защиты – сущность утилиты, в которой хранятся настройки защиты программы или компонента пользователя.
Реверс-инжиниринг – исследование объекта (устройства, программы и т.п.) и его документации с целью понять принцип его работы и воспроизвести объект без его прямого копирования.
.map файл для нативных программ – файл с символьными именами функций программы. Генерируется в среде разработки программы.
.map файл для .NET программ – файл со списком символов до и после переименования (символьной/лексической обфускации). Генерируется в процессе защиты программы
Меню Программы предназначено для:
- выбора функций программы для защиты;
- привязки программы пользователя к лицензиям.
Пока в Проекте защиты нет программ, меню представляет собой серое поле с сообщением Проект не содержит ни одной программы (Project contains no programs) и кнопкой Добавить программу (Add program).
После добавления программы меню будет содержать следующие разделы:
- Меню Программы (Programs);
- Меню Программы (Programs);
- Меню Программы (Programs);
- Меню Программы (Programs);
- Меню Программы (Programs);
- Меню Программы (Programs);
- Меню Программы (Programs).
Добавить программу (Add program)
Максимальный размер исполняемого файла, который можно защитить и привязать к лицензии с помощью Protection Studio – 2 Гб.
Раздел предназначен для добавления программ в Проект защиты.
Если в Проекте защиты нет программ, необходимо:
- Нажать в сером поле на кнопку Добавить программу (Add program).
- В окне Открыть исполняемые файлы (Open module files) выбрать файл требуемой программы и нажать Открыть (Open).
- Сохранить Проект защиты.
Если в Проекте защиты уже есть программа, необходимо:
- Нажать на надпись Добавить программу (Add program), расположенную над списком добавленных программ.
- В окне Открыть исполняемые файлы (Open module files) выбрать файл требуемой программы и нажать Открыть (Open).
- Сохранить Проект защиты.
Программа добавлена в Проект защиты.
Список добавленных программ (Added programs list)
Раздел предназначен для:
- отображения добавленных в Проект защиты программ;
- отображения информации о добавленных программах;
- удаления программ.
Информация о программе включает в себя следующие данные:
- наименование каталога, в котором расположен файл программы (Catalog name);
- абсолютный путь до файла (Absolute path to the file);
- наименование файла (File name);
- тип программы (.NET или нативная) (Program type);
- разрядность программы (Program bit depth).
Для удаления программы необходимо:
Выбрать нужную программу из списка.
Открыть ее контекстное меню и выбрать Удалить элемент (Remove element).
- Сохранить Проект защиты.
Программа удалена из Проекта защиты.
Исходный файл (Input file)
Раздел предназначен для замены файла (exe, dll, elf) защищаемой программы.
Для этого необходимо:
- Выбрать нужную программу из списка добавленных программ.
- В разделе Исходный файл (Input file) нажать на значок .
- В окне Открыть исполняемый файл (Open a module file) выбрать новый файл программы и нажать Открыть (Open).
- Сохранить Проект защиты.
Файл заменен. В результате при следующем открытии этого Проекта защиты вся информация о программе обновится на соответствующую.
Выходная папка (Result directory)
Раздел предназначен для выбора директории, в которой будет располагаться защищенная программа.
Для Проектов защиты CI/CD необходимо, чтобы все файлы и папки, участвующие в проекте, были сохранены на одном диске.
Для выбора директории необходимо:
- Выбрать нужную программу из списка.
- В разделе Выходная папка (Result directory) нажать на значок .
- В окне Выберите папку с результатами (Choose the result directory) выбрать необходимую директорию и нажать Выбор папки (Select Folder).
- Сохранить Проект защиты.
Выбор директории завершен. В результате защищенная программа будет располагаться в заданной директории.
Привязка к лицензии (License binding)
Раздел предназначен для привязки защищаемой программы к компоненту, расположенному на Guardant Station, с последующим его включением в лицензию.
Для выбора компонента необходимо:
- Выбрать нужную программу из списка программ.
- Рядом с полем Номер компонента (Feature number) ввести номер компонента на Guardant Station (наименование компонента автоматически отобразится в выпадающем списке Выбрать (Select)).
ИЛИ
Выбрать наименование компонента из раскрывающегося списка Выбрать (Select) (номер компонента автоматически отобразится рядом с полем Номер компонента (Feature number)).
- Сохранить Проект защиты.
Выбор компонента завершен.
Защита от реверс-инжиниринга (Reverse engineering protection)
Раздел предназначен для выбора функций программы для защиты и опций защиты.
Набор настроек раздела зависит от типа защищаемой программы:
Поверка при запуске (Check on startup)
Проверка при запуске – опция, обеспечивающая запуск программы только при наличии подключенного к ПК ключа Guardant с нужной лицензией.
Если опция отключена, лицензия при запуске защищенной программы не проверяется.
Для библиотек-плагинов и сервисов необходимо отключать эту опцию.
Для включения опции необходимо:
- Выбрать нужную программу из списка программ.
- Установить переключатель рядом с полем Проверка при запуске (Check on startup) в активное состояние .
- Сохранить Проект защиты.
Для отключения опции необходимо:
- Выбрать нужную программу из списка программ.
- Установить переключатель рядом с полем Проверка при запуске (Check on startup) в неактивное состояние .
- Сохранить Проект защиты.
Проверка при запуске отключена.
Секции для шифрования (Section to be encrypted)
Выбор секций для шифрования доступен только для нативных программ.
Секции для шифрования – секции программы, которые будут защищены от реверс-инжиниринга.
Для выбора секций необходимо:
- Выбрать нужную программу из списка программ.
- Рядом с полем Секции для шифрования (Section to be encrypted) нажать Выбрать (Select).
- В окне Выбор секций (Section selection), используя стрелку для перемещения влево, убрать из поля Секции для шифрования (Section to encrypt) в поле Секции программы (Program sections) секции, которые не требуется шифровать.
- Нажать ОК (ОК).
- Сохранить Проект защиты.
Выбор секций для шифрования завершен.
Проброс исключений (Forward exceptions)
Проброс исключений доступен только для .NET программ.
Проброс исключений – опция, позволяющая использовать исключения для сообщений об ошибках, вместо экстренного завершения работы защищенной программы.
Для включения опции необходимо:
- Выбрать нужную программу из списка программ.
- Установить переключатель рядом с полем Проброс исключений (Forward exceptions) в активное состояние .
- Сохранить Проект защиты.
Для выключения опции необходимо:
- Выбрать нужную программу из списка программ.
- Установить переключатель рядом с полем Проброс исключений (Forward exceptions) в неактивное состояние .
- Сохранить Проект защиты.
Файл *.map (File*.map)
Файл *.map доступен только для нативных программ.
Не поддерживается файл *.map от MinGW.
Поле, предназначенное для загрузки .map файла программы.
Для загрузки необходимо:
- Выбрать нужную программу из списка.
- Рядом с полем Файл *.map (File*.map) нажать на значок .
- В окне Открыть map-файл (Open a map file) выбрать необходимый .map файл и нажать Открыть (Open).
- Сохранить Проект защиты.
Загрузка .map файла завершена.
Функции для защиты (Functions to be protected)
Поле, предназначенное для выбора функций программы, которые будут защищены от реверс-инжиниринга.
Для защиты необходимо выбирать важные с точки зрения работы программы функции, которые регулярно используются. При этом выбор очень большого количества функций или слишком «тяжеловесных» может привести к серьезному уменьшению скорости работы защищенной программы.
Защищенные функции невозможно использовать без наличия ключа Guardant с нужной лицензией, т. к. они не будут расшифрованы. Этот механизм является гарантией проверки наличия лицензии во время работы защищенной программы.
Для выбора функций для защиты необходимо:
- Выбрать нужную программу из списка.
- Рядом с полем Функции для защиты (Functions to be protected) нажать Выбрано 0 (Selected 0).
- В окне Выбор функций (Functions selection) в поле Функции программы (Program functions) выбрать нужную функцию для защиты.
Если необходимо выбрать несколько функций – при выборе удерживать клавишу Ctrl.
Если необходимо выбрать все функции – при выборе удерживать комбинацию клавиш Ctrl+A. - Переместить, используя стрелку перемещения вправо, выбранные функции в поле Функции для защиты (Functions to protect).
Чтобы исключить функцию из защиты, необходимо выбрать ее в поле Функции для защиты (Functions to protect) и, используя стрелку перемещения влево, переместить ее в поле Функции программы (Functions to protect). - Нажать ОК (ОК).
- Сохранить Проект защиты.
Выбор функций для защиты завершен.
Дополнительные параметры (Advanced parameters)
Раздел предназначен для установки режима поиска компонента лицензии при запуске защищенной программы.
Раздел содержит следующие поля:
- номер продукта (product number);
- режим поиска (search mode);
- файл заставки (splashscreen).
Номер продукта (Product number)
Перед настройкой этого поля необходимо создать продукт в Guardant Station.
Поле предназначено для указания продукта, расположенного на Guardant Station, в состав которого входит программа.
Это поле не является обязательным для .NET программ.
Для выбора продукта необходимо:
- Выбрать нужную программу из списка программ.
- Рядом с полем Номер продукта (Product number) ввести номер продукта в
Guardant Station
(наименование продукта автоматически отобразится в выпадающем списке Выбрать (Select)).
ИЛИ
Выбрать наименование продукта из раскрывающегося списка Выбрать (Select) (номер продукта автоматически отобразится рядом с полем Номер продукта (Product number)).
- Сохранить Проект защиты.
Выбор продукта завершен.
Режим поиска (Search mode)
Поле предназначено для настройки режима поиска компонента лицензии, к которому привязана защищенная программа, и определения типа ключа Guardant для его поиска.
Для этого необходимо:
- Выбрать нужную программу из списка программ.
- Рядом с полем Режим поиска (Search mode) в первом раскрывающемся списке выбрать режим поиска лицензии (только локальный (local only), только удаленный (remote only) или комбинированный (local & remote)), во втором раскрывающемся списке – тип ключа для поиска (только программный ключи (software keys only), только аппаратные ключи (hardware keys only) или любые ключи (any keys)).
- Сохранить Проект защиты.
Настройка режима поиска компонента и определение типа ключа Guardant завершены.
Файл заставки (Splashscreen)
Файл заставки доступен только для нативных программ в формате PE, являющихся приложением.
Поле предназначено для настройки изображения, которое выводится на экран перед запуском защищенной программы.
Для настройки изображения необходимо:
- Выбрать нужную программу из списка программ.
- Рядом с полем Файл заставки (Splashscreen) нажать на значок .
- В окне Открыть файл заставки (Open a splashscreen file) выбрать необходимый .bmp файл и нажать Открыть (Open).
- Сохранить Проект защиты.
Настройка изображения завершена.























