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

Compare with Current View Page History

« Previous Version 13 Next »

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

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

Общие настройки

Выходная папка (Result directory)

Позволяет выбрать папку, в которую будут сохранены файлы, сгенерированные в результате защиты программы:

  • защищенные файлы программ (если для конкретного файла программы не задана явно его собственная выходная папка, см. пункт Программы основного меню),
  • библиотека защиты (см. ниже),
  • файл отчета о защите result.xml (только если защищается хотя бы один файл нативной программы),
  • файлы сопоставления имен символов (только если защищается хотя бы один файл программы .NET и при этом включена настройка Обфускация символовsymbols-framework.map (для .NET Framework) и symbols-core.map (для .NET Core и .NET версии 5 или выше).

Изменить можно как с помощью нажатия на значок папки, так и путем редактирования текстового поля.

Файлы result.xml содержат детальную информацию об ошибках и предупреждениях при защите файлов. Файлы symbols-framework.map и symbols-core.map содержат имена символов .NET до и после символьной обфускации. Эта информация предназначена только для обнаружения и отладки проблем и может выборочно компрометировать защиту. Убедитесь, что эти файлы не попадают в ваш дистрибутив!

Рекомендуется расположить все необходимые файлы и папки на одном диске. При сохранении проекта защиты для CI/CD эта рекомендация становится требованием - это связано с тем, что при сохранении проекта указываются относительные пути файлов вместо абсолютных. Эти относительные пути вычисляются относительно самого файла проекта защиты.

Блокировка сообщений (Block messages)

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

Мониторинг аппаратного ключа (Hardware key monitoring)

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

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

Мониторинг сетевого ключа (Network key monitoring)

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

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

Применение этой настройки также требует указания интервала проверки.

Перехват исключений для программ .NET из этого отдельного потока невозможен.

Коды доступа (Access codes)

Указывает набор кодов доступа, используемый для защиты. Как правило, доступен только один набор кодов доступа.

Имя библиотеки защиты (Protection library name)

Задает общее имя библиотеки защиты, которое определяет имена файлов библиотеки защиты для различных платформ. По умолчанию предлагается значение protectstorage. В зависимости от того, какие файлы программ защищаются, генерируются соответствующие файлы библиотеки защиты:

  • для Windows x86 (32-битная),
  • для Windows x64 (64-битная),
  • для Linux x64 (64-битная).

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

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

Защита native-приложений (Native applications protection)

Раздел содержит настройки, относящиеся только к защите нативных программ.

Приостановка потоков (Suspend threads)

Настройка мгновенной приостановки работы защищенной нативной программы при обнаружении ошибки лицензирования. Это позволяет приостановить работу всей программы, пока пользователь не примет решение о том, как обработать ошибку. Этот способ особенно полезен при извлечении аппаратного ключа Guardant во время работы программы, но может не сработать или вовсе сказаться на логике дальнейшей работы программы, если эта программа спроектирована определенным образом.

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

Данная настройка доступна только для файлов нативных программ, представляющих приложения в формате PE (Windows, файлы *.exe).

Защита приложений .NET (.NET application protection)

Раздел содержит настройки, относящиеся только к защите программ .NET.

Обфускация символов (Obfuscate symbols)

Разрешает переименование символов, объявленных внутри сборки. Подробнее на странице Технологии защиты.

Возможно применение атрибутов обфускации. Подробнее на странице Рекомендации и особенности защиты программ.

Обфускация внешних интерфейсов (Obfuscate public interfaces)

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

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

Возможно применение атрибутов обфускации. Подробнее на странице Рекомендации и особенности защиты программ.

Обфускация потока управления (Obfuscate control flow)

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

Возможно применение атрибутов обфускации. Подробнее на странице Рекомендации и особенности защиты программ.

Шифрование строк (Encrypt strings)

Включает шифрование строковых констант, объявленных внутри сборки. Подробнее на странице Технологии защиты.

Возможно применение атрибутов обфускации. Подробнее на странице Рекомендации и особенности защиты программ.

  • No labels