Общая информация
Меню Программы предназначено для задания настроек, которые применяются к конкретному файлу программы и определяют ее поведение.
Пока в проекте защиты нет программ, меню представляет собой серое поле с сообщением Проект не содержит ни одной программы (Project contains no programs) и кнопкой Добавить программу (Add program).
Общие настройки
Исходный файл (Input file)
Определяет файл программы, предназначенной для защиты.
Выходная папка (Result directory)
Позволяет выбрать папку, в которую будет сохранен защищенный файл программы.
Рекомендуется задавать выходную папку файла программы таким образом, чтобы она была согласована с выходной папкой проекта. Такая структура файлов и папок обеспечит удобство при создании дистрибутива защищенной программы.
При добавлении нового файла программы или изменении выходной папки проекта утилита Protection Studio предлагает автоматически настроить все остальные выходные папки.
Привязка к лицензии (License binding)
Номер Компонента (Feature number)
Номер компонента определяет, какие ключи шифрования используются в процессе защиты.
Задать используемый компонент можно с помощью выпадающего списка или редактированием содержимого текстового поля.
Защита от реверс-инжиниринга (Reverse engineering protection)
Проверка при запуске (Check on startup)
Эта настройка блокирует запуск защищенной программы без подходящей лицензии.
В некоторых случаях целесообразно отключать эту настройку.
Например.
Если выполняется защита файла библиотеки, то может оказаться полезным загрузить библиотеку даже при отсутствии лицензии, но при этом выдавать сообщение об ошибке лицензирования только при попытке обращения к некоторым функциям.
Секции для шифрования (Section to be encrypted)
Данная настройка доступна только для файлов нативных программ.
Настройка секций позволяет избирательно применять шифрование к их содержимому.
Некоторые секции, особенно содержащие ресурсы, могут шифроваться или исключаться из шифрования в зависимости от особенностей программ.
Выбор секций выполняется в отдельном окне.
Проброс исключений (Forward exceptions)
Данная настройка доступна только для файлов программ .NET.
Включение этой настройки позволяет выбрасывать исключения, а не выводить сообщения об ошибках или экстренно завершать работу защищенной программы. Это позволяет сделать обработку ошибок более гибкой и единообразной, но требует соответствующих изменений в коде программы, особенно если включена настройка Проверка при запуске.
Файл *.map (File*.map)
Данная настройка доступна только для файлов нативных программ.
В зависимости от того, какой toolchain использовался для сборки защищаемой нативной программы, может возникнуть необходимость задать map-файл.
Этот файл содержит описание символов, имеющихся в программе. Если его указать, это позволит Protection Studio обнаружить все функции и секции файла программы.
С помощью map-файла можно выбрать функции для защиты среди всех non-inline функций файла программы, а не только экспортированных.
В MSVC этот файл называется файлом сопоставления.
Обычно для файлов программ, собранных с помощью MSVC, необходимо указывать map-файл.
Для файлов программ, собранных с помощью GCC, указывать map-файл не обязательно, т.к. в файле программы, если к нему не применялась утилита strip (или подобные ей), все необходимые данные сохраняются.
Функции для защиты (Functions to be protected)
Эта настройка позволяет выбрать функции нативной программы либо методы программы .NET, которые будут защищены. К защищенным функциям невозможно обратиться без наличия ключа Guardant с подходящей лицензией.
Выбор функций для защиты выполняется в отдельном окне.
При выборе функций для защиты важно соблюдать компромисс между защищенностью и производительностью.
Если выбрать все функции либо методы, то производительность приложения существенно снизится.
Если не выбирать никакие функции либо методы, уровень защищенности может оказаться недостаточным.
Дополнительные параметры (Advanced parameters)
Номер продукта (Product number)
Если указать номер продукта, это ограничит поиск подходящей лицензии. Таким образом, лицензию, выпущенную для другого продукта, даже если она подходит по всем остальным характеристикам, невозможно будет использовать.
Режим поиска (Search mode)
Указание режима поиска и типа ключа также позволяет ограничить поиск подходящей лицензии. Режим поиска позволяет выбирать между локальными и удаленными (сетевыми) ключами, а тип ключа - между программными ключами (лицензии DL) и аппаратными ключами.
Файл заставки (Splashscreen)
Для файлов нативных программ возможно настроить показ изображения-заставки при запуске защищенной программы.
Данная настройка доступна только для файлов нативных программ, представляющих приложения в формате PE (Windows, файлы *.exe).