Для чего программисты обычно защищают свои разработки?
- Защита демо-версий продуктов
- Защита алгоритмов и бизнес-логики от копирования и дальнейшего несанкционированного использования
- Лицензирование, учет количества лицензий пользователя
- Предоставление тестовых версий заказчику, до момента полной оплаты
Использование штатных методов защиты 1С
В конфигураторе есть возможность установить пароль на модуль или исключить модуль из поставки. После этого, модуль будет скомпилирован в специальный промежуточный код (байт-код, набор инструкций), который в дальнейшем уже будет выполнятся платформой. Исходный модуль при этом будет зашифрован и для его просмотра или редактирования, необходимо будет вводить пароль.


Плюсы
- штатная функция, нет необходимости использовать внешние решения
Минусы
- не на все модули можно установить пароль (например модули форм, модули с директивами и инструкциями компиляции и т.д.)
- низкая надежность данного способа защиты, т.к. существуют декомпиляторы байт-кода, которые практически один в один восстанавливают исходный код.
Размещение конфигурации в облаке
Один из способов разместить решение на вашем сервере и предоставлять доступ пользователю по системе SaaS (Software as a Service, ПО как сервис).
Плюсы
- практически 100% надежность защиты кода
- удобство обновления программы
- удобное лицензирование
Минусы
- многие клиенты могут не согласиться размещать свои данные в интернете
- зависимость от интернет-соединения
- стоимость обслуживания сервера
Использование программных или аппаратных ключей (HASP)
Существуют решения, которые могут привязать вашу конфигурацию к специальному ключу. В этом ключе будет храниться информация, необходимая для правильной работы кода.
Плюсы
- Достаточно высокая степень защиты. Для взлома необходим высококвалифицированный специалист.
- Удобство лицензирования
Минусы
- Сложность процесса защиты и использования
- При наличии ключа, можно перехватить вызовы и отвязать конфигурацию от ключа защиты
- Невозможность защиты модулей форм, а также клиентских модулей или модулей с директивами и инструкциями препроцессора.
- Высокая стоимость. Помимо самой системы для защиты, необходимо приобретать и продавать клиенту аппаратные или программные лицензии.
Обфускация кода 1С
Одним из самых удобных и быстрых способов является обфускация (запутывание) исходного кода модулей и/или байт-кода 1С.
Существуют как платные так и бесплатные инструменты.
Среди платных, одним из самых известных, является сервис защиты конфигураций и обработок Нетленка 1С.

Обфускатор использует следующие методы защиты:
- Удаление форматирования и комментариев
- Шифрование строк
- Переименование локальных методов и переменных
- Переименование экспортных методов
- Обфускация контроля потока
- Компиляция в код стековой машины
- Защита байт-кода 1С от декомпиляции
- Удаление текстов закрытых модулей
Поддерживаются защита всех модулей конфигурации 1с 8.2 и 8.3, а также защита расширений 1С.
Защитить можно как отдельный модуль через браузер, так и автоматически всю конфигурацию или обработку. Процесс защиты выполняется очень просто. В большинстве случаев не требуется вносить изменения в код, достаточно выбрать нужный файл и нажать кнопку Защитить.
В стоимость входит техподдержка и помощь по защите конфигураций.
Плюсы
- Высокая надежность защиты. Часть информации при обфускации (например имена методов и переменных, комментарии) теряется навсегда и ее невозможно восстановить.
- Простота и удобство защиты.
- Использует только штатные методы платформы (для работы защищенного кода не нужны ключи или интернет-соединение).
- Поддерживает все виды модулей, включая модули форм и модули с директивами и инструкциями препроцессора.
Минусы
- Необходимость реализовывать систему лицензирования самостоятельно.