Содержание
Инструкция по защите конфигурации
Общее описание
В инструменте «МИКО: Защита конфигураций» используются следующие понятия и обозначения:
- Образ конфигурации - набор описаний метаданных конфигурации 1С (не всех, только подлежащих защите), структура программных модулей.
- Защитная маска - набор инструкций для алгоритма защиты, включающий названия защищаемых подпрограмм и соответствующих им фич.
- Фича (функциональная возможность) - числовой идентификатор отдельной выполняемой функции или задачи решаемой программой.
- Подпрограмма - процедура или функция в терминологии кода 1С.
Работа с инструментом выполняется по следующей схеме:
- Подготавливается исходная конфигурация к защите. Определяются программные модули, которые должны быть защищены.
- Извлекается образ конфигурации - описание программных модулей и их содержимое.
- Для каждого модуля определяется защитная маска - отмечаются процедуры и функции требующие в момент выполнения проверки лицензионного ключа. Защитные маски применяются к программным модулям, собирается итоговая конфигурация.
Подготовка конфигурации к защите
Первое, что необходимо сделать - выбрать модули конфигурации, которые должны быть закрыты от модификации. Для этого в платформе 1С предусмотрены два варианта:
- установка пароля на редактирование текста модуля;
- удаление текста модуля, через механизм поставок конфигураций.
Использовать можно любой из перечисленных вариантов, это заставит платформу сохранить байт-код при компиляции. Пароли можно использовать произвольные, для установки защиты исходные тексты модулей не потребуются.
Добавление объектов системы лицензирования
Для работы системы лицензирования, в конфигурацию требуется добавить некоторые дополнительные объекты.
- Выполните в конфигураторе операцию «Сравнить, объединить с конфигурацией из файла».
- В открывшемся окне выберите файл конфигурации «МИКО: Защита конфигураций».
- Снимите отметку с корневого объекта конфигуарции.
- Установите отметки по подсистемам файла и выполните перенос объектов.
В защищаемую конфигурацию будут перенесены компонент для работы с защищенными модулями и форма регистрации продукта. Форма регистрации предназначена для:
- регистрации нового пользователя;
- получения триального ключа с ограничением по сроку действия.
- активации купонов на продление срока действия ключа или расширения доступных функций.
Дальнейшая работа производится с файлом конфигурации (файл с расширением .cf).
Настройка инструмента
При первом запуске инструмента выполните его настройку.
Ввод кода поставщика
В меню навигации выберите пункт «Настройка программы». В появившемся окне заполните поле «Код поставщика (vendor code)».
Настройка функциональных возможностей
Заполните список функциональных возможностей (фич) в соответствии с тем как они заполнены в личном кабинете системы лицензирования.
Откройте справочник «Функции» в меню навигации и нажмите кнопку «Создать».
- Введите числовое значение Feature ID.
- Укажите текстовое наименование фичи (наименование является исключительно информационным).
Работа с образами конфигурации
Для каждой конфигурации создается как минимум один образ. Рекомендуется создавать образ для каждой новой версии конфигурации.
Создание нового образа
Перейдите в справочник «Конфигурации» в меню навигации и создайте новую конфигурацию.
- Укажите произвольное наименование конфигурации.
- Выберите каталог содержащий поставки конфигурации (файлы с расширением .cf).
- Нажмите кнопку «Создать» для формирования нового образа конфигурации.
- В появившемся окне укажите путь к файлу защищаемой конфигурации. По умолчанию подставляется путь к самому новому файлу (определяется по дате изменения).
- Нажмите кнопку «Создать образ» и дождитесь завершения операции.
- Созданный образ будет отображен в списке образов конфигурации.
Просмотр информации об образе конфигурации
Справочник образов конфигурации содержит общую информацию о файле конфигурации, с которого снят образ, а также список программных модулей подлежащих защите. Важно: В списке модулей отображаются только те, у которых присутствует сгенерированный байт-код, т.е. это модули закрытые паролем или поставляемые без исходных текстов.
Создание защитных масок
Откройте программный модуль из образа конфигурации. Модуль содержит список подпрограмм (процедур и функций). Каждой процедуре можно установить в соответствие свою фичу.
- Нажмите кнопку «Создать защитную маску». В интерфейсе таблицы подпрограмм появится колонка «Функция».
- Выберите подпрограмму, для которой необходимо определить фичу. Укажите фичу в колонке «Функция».
- Нажмите кнопку «Записать». Для текущего модуля будет создана новая защитная маска.
- Созданная маска будет сразу выбрана как основная для текущего модуля.
Установка защиты на конфигурацию
Перейдите к журналу поставок (домашняя страница). В журнале отображены конфигурации и их образы.
- Найдите в списке образ конфигурации, который необходимо защитить. Нажмите кнопку «Обновить», если образ не виден в списке.
- Нажмите на гиперссылку «Установить защиту» напротив образа конфигурации. Дождитесь завершения работы, это может занять продолжительное время в зависимости от размера конфигурации.
- Защищенные образы отмечаются специальным значком.
Рекомендации по работе с инструментом
- Не пытайтесь защитить все модули конфигурации. Это может привести к существенному снижению производительности работы конфигурации, связанной с инициализацией внешней компоненты и установки соединения с сервером лицензирования.
- Не выбирайте подпрограммы, которые используются в циклической обработке данных. В качестве примера, рассмотрим алгоритм приведенный на рисунке ниже. Предположим, что в подпрограмме (1) выполняется загрузка некоторого набора записей из внешнего источника, а в подпрограмме (2) выполняется обработка отдельной записи из этого набора. В этом случае не рекомендуется назначать подпрограмме (2) функциональную опцию, т.к. накладные расходы на проверку лицензионного ключа в этом месте будут напрямую связаны с объемом обрабатываемых данных.
- Выбирайте подпрограммы, содержащие тексты запросов к базе данных. Чем больше текстовых констант в подпрограмме, тем надежнее защита.
- По возможности ведите разработку защищаемых модулей в отдельных, простых конфигурациях. Работа инструмента связана с загрузкой/выгрузкой метаданных конфигурации. Регулярная установка защиты на конфигурацию уровня ERP может отнять много времени.