Комплект разработчика "Нетленка 1С: Защита конфигураций" SDK


Для работы, приложению необходим .NET Framework 3.5. Если он еще не установлен в системе, скачать можно с сайта Microsoft http://www.microsoft.com/ru-ru/download/details.aspx?id=22


Установка программы

  1. Скачайте программу-клиент
  2. Для работы с программой необходим API Key. Получить его можно в Настройках учетной записи
  3. В правом верхнем углу программы нажмите Регистрация
  4. Введите свой APIKey

Программа готова к работе.


Работа с программой

  1. Нажмите кнопку Выбрать для защиты *.cf файла конфигурации, *.cfe файла расширения конфигурации, *.epf файла внешней обработки или *.erf файла внешнего отчета
  2. Нажмите Защитить и дождитесь результата защиты
  3. После окончания защиты в поле Результат появится путь к защищенному файлу

Тонкая настройка программы

На вкладе Настройка обфускации доступны следующие опции (если навести на флажок появится текст подсказки):

  1. Защищать только модули, отмеченные директивой //@protect Если включена эта опция, то будут обработаны только модули у которых в теле есть комментарий //@protect Иначе будут защищены все модули конфигурации или обработки
  2. Обфускация контроля потока - запутывание кода. Разрушаются типовые конструкции, создаются ложные условные и безусловные переходы, добавляются различные фальшивые операции, делая модуль абсолютно нечитаемым. Анализ и ручная модификация такого модуля практически невозможны
  3. Уровень обфускации - количество запутывающих конструкций
  4. Компиляция в код стековой машины - текст модулей будет скомпилирован в набор последовательных инструкций, по аналогии с байт-кодом. Эти инструкции понятны для компилятора 1С, но являются очень сложными как для разбора человеком, так и программой. Если дополнительно задать пароль на защищенный модуль или исключить из поставки, то это затрудняет процесс декомпиляции и приводит к неработоспособности декомпилированного кода
  5. Шифровать строки - строковые константы будут зашифрованы случайным образом.
  6. Отладка - рекомендуется только для отладки, что бы понять в какой строке, если что возникла ошибка. Будут добавлены отступы и переносы строк
  7. Сохранять регистр символов - рекомендуется если в коде используются обращения к сервисам или COM объектам. Так как их методы являются регистрозависимыми
  8. Переименовывать экспортные методы общих модулей - экспортные методы модулей, отмеченных директивой //@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С от декомпиляции (только для тарифа Максимальный)

Внешние обработки

  1. На закладке Обфускация модулей обфусцируйте исходный файл обработки, согласно основной инструкции
  2. В Конфигураторе откройте обфусцированный файл и установите пароль на модуль объекта. Сохраните файл обработки
  3. Перейдите на закладку Защита от декомпиляции байт-кода
  4. Выберите обфусцированный файл с установленным паролем
  5. Укажите специальный файл с расширением pdb, который система создала на шаге 1
  6. Нажмите Защитить и система создаст окончательный файл с индексом _final в названии

Конфигурации

  1. Если будет создаваться файл поставки, то настройте поставку и исключите необходимые для защиты исходные тексты модулей
  2. Выгрузите конфигурацию в файл cf
  3. На закладке Обфускация модулей обфусцируйте исходный cf файл конфигурации, согласно основной инструкции
  4. В Конфигураторе создайте новую базу* и загрузите конфигурацию из защищенного cf файла
  5. Установите пароли на модули и сохраните конфигурацию в файл. Или же, если создается файл поставки, создайте файл поставки без исходных текстов модулей
  6. Перейдите на закладку Защита от декомпиляции байт-кода
  7. Выберите сохраненный обфусцированный cf файл, с установленными паролями или без исходных текстов модулей
  8. Укажите специальный файл с расширением pdb, который система создала на шаге 3
  9. Нажмите Защитить и система создаст окончательный файл с индексом _final в названии

*В дальнейшем, при повторной защите, новую базу в п.4 можно не создавать, а использовать уже созданную


Эти действия можно автоматизировать, если воспользоваться режимом командной строки