Генератор исходных текстов

Генератор исходных текстов существенно облегчает построение системы защиты приложения с помощью Guardant API

Генератор исходных текстов — это утилита, которая упрощает процесс создания системы защиты программного обеспечения с помощью Guardant API.

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

Принцип действия

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

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

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

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

Поддерживаемые языки программирования

Генератор поддерживает следующие языки и средства разработки:

  • Microsoft Visual C 2005/2008/2010;
  • CodeGear Delphi 2006 и 2007 (9 и 10), Borland Delphi (6 и 7);
  • Microsoft Visual C# 2005/2008/2010.

Рекомендации по использованию

Параметры входных данных

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

Данные должны быть представлены в двоичном виде.

Распределение сгенерированного кода по приложению

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

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

Многомодульная защита

Для повышения уровня стойкости системы защиты можно создавать и компилировать с приложением несколько фрагментов кода с разными наборами исходных данных, настройками Генератора и префиксами имен.

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

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

Многоканальный телефон: +7 (495) 925-77-90
1996-2012 © Компания «Актив». Все права защищены.
Электронные ключи Guardant
123056 Россия Москва Красина ул., 3
Телефон: +7 (495) 925-77-90
www.guardant.ru