Комплект разработчика "Нетленка 1С: Защита конфигураций" SDK
Для работы, приложению необходим .NET Framework 3.5. Если он еще не установлен в системе, скачать можно с сайта Microsoft http://www.microsoft.com/ru-ru/download/details.aspx?id=22
Установка программы
- Скачайте программу-клиент
- Для работы с программой необходим API Key. Получить его можно в Настройках учетной записи
- В правом верхнем углу программы нажмите Регистрация
- Введите свой APIKey
Программа готова к работе.
Работа с программой
- Нажмите кнопку Выбрать для защиты *.cf файла конфигурации, *.cfe файла расширения конфигурации, *.epf файла внешней обработки или *.erf файла внешнего отчета
- Нажмите Защитить и дождитесь результата защиты
- После окончания защиты в поле Результат появится путь к защищенному файлу
Тонкая настройка программы
На вкладе Настройка обфускации доступны следующие опции (если навести на флажок появится текст подсказки):
- Защищать только модули, отмеченные директивой //@protect Если включена эта опция, то будут обработаны только модули у которых в теле есть комментарий //@protect Иначе будут защищены все модули конфигурации или обработки
- Обфускация контроля потока - запутывание кода. Разрушаются типовые конструкции, создаются ложные условные и безусловные переходы, добавляются различные фальшивые операции, делая модуль абсолютно нечитаемым. Анализ и ручная модификация такого модуля практически невозможны
- Уровень обфускации - количество запутывающих конструкций
- Компиляция в код стековой машины - текст модулей будет скомпилирован в набор последовательных инструкций, по аналогии с байт-кодом. Эти инструкции понятны для компилятора 1С, но являются очень сложными как для разбора человеком, так и программой. Если дополнительно задать пароль на защищенный модуль или исключить из поставки, то это затрудняет процесс декомпиляции и приводит к неработоспособности декомпилированного кода
- Шифровать строки - строковые константы будут зашифрованы случайным образом.
- Отладка - рекомендуется только для отладки, что бы понять в какой строке, если что возникла ошибка. Будут добавлены отступы и переносы строк
- Сохранять регистр символов - рекомендуется если в коде используются обращения к сервисам или COM объектам. Так как их методы являются регистрозависимыми
- Переименовывать экспортные методы общих модулей - экспортные методы модулей, отмеченных директивой //@rename_export_methods будут переименованы в уникальный идентификатор вида _9e33edb3639d4ead885153b2aa433a5f. Также будут переименованы вызовы этих методов во всех поддерживаемых модулях конфигурации.
Внимание! Система автоматически определяет какие имена переменных и методов можно переименовывать, но будьте внимательны с использование операторов Выполнить и Вычислить. Если система обнаружит их использование, то выдаст рекомендации об использовании специальных директив. Подробнее в основном разделе Помощи
Как исключить некоторые модули из обфускации?
Добавьте комментарий //@skip в тело модуля и он будет пропущен при защите.
Пакетный режим SDK (режим командной строки)
Режим командной строки помогает автоматизировать действия при защите.
Возвращаемые значения:
Возвращает ExitCode: 0 - защита выполнена успешно, 1 - в процессе защиты произошли ошибки
Параметры командной строки:
--source <Путь к исходному файлу конфигурации или внешней обработки>
обфусцировать файл, результат создается в папке Protected
--createpdb
При обфускации создать файл PDB с отладочной информацией для дальнейшей защиты от декомпиляции байт-кода.
Файл создается в той же папке, что и результат защиты
--pdbfile <Путь к отладочному файлу PDB, созданному на этапе обфускации>
Если этот параметр задан, будет выполнена защита от декомпиляции байт-кода
Примеры использования:
Защитить файл 1cv8dump.cf с созданием pdb файла:
Netlenka1c.exe --mode ultimate --source 1cv8dump.cf --createpdb
Защитить файл 1cv8dump.cf от декомпиляции байт-кода:
Netlenka1c.exe --mode ultimate --source Protected\Поставка\1cv8dump.cf --pdbfile Protected\1cv8dump.cf.pdb
Тихий режим
--quiet (тихий режим). В этом режиме окно клиента отображаться не будет, а прогресс будет выводится в консольное окно.
Дополнительная инструкция по защите байт-кода 1С от декомпиляции (только для тарифа Максимальный)
Внешние обработки
- На закладке Обфускация модулей обфусцируйте исходный файл обработки, согласно основной инструкции
- В Конфигураторе откройте обфусцированный файл и установите пароль на модуль объекта. Сохраните файл обработки
- Перейдите на закладку Защита от декомпиляции байт-кода
- Выберите обфусцированный файл с установленным паролем
- Укажите специальный файл с расширением pdb, который система создала на шаге 1
- Нажмите Защитить и система создаст окончательный файл с индексом _final в названии
Конфигурации
- Если будет создаваться файл поставки, то настройте поставку и исключите необходимые для защиты исходные тексты модулей
- Выгрузите конфигурацию в файл cf
- На закладке Обфускация модулей обфусцируйте исходный cf файл конфигурации, согласно основной инструкции
- В Конфигураторе создайте новую базу* и загрузите конфигурацию из защищенного cf файла
- Установите пароли на модули и сохраните конфигурацию в файл. Или же, если создается файл поставки, создайте файл поставки без исходных текстов модулей
- Перейдите на закладку Защита от декомпиляции байт-кода
- Выберите сохраненный обфусцированный cf файл, с установленными паролями или без исходных текстов модулей
- Укажите специальный файл с расширением pdb, который система создала на шаге 3
- Нажмите Защитить и система создаст окончательный файл с индексом _final в названии
*В дальнейшем, при повторной защите, новую базу в п.4 можно не создавать, а использовать уже созданную
Эти действия можно автоматизировать, если воспользоваться режимом командной строки