Технология защиты

Для защиты модулей конфигурации система "WiseAdvice: Защита конфигураций" использует методику обфускации скомпилированного кода модулей.

 Обфускация (от лат. obfuscare — затенять, затемнять; и англ. obfuscate — делать неочевидным, запутанным, сбивать с толку) или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.

Принцип обфускации кода модулей конфигурации 1С для защиты от декомпиляции основан на том, что при компиляции (а это происходит при установке пароля на модуль) конструкции языка 1С транслируются в определенные последовательности команд исполняющей машины. Конкретные конструкции в конкретные последовательности. На этом строится алгоритм декомпиляции - если знать в какую последовательность команд превращается каждая элементарная конструкция в строенного языка, вполне можно транслировать последовательности команд исполняющей машины в конструкции языка 1С (в сети есть не один декомпилятор для 1С). Если же заменить эти последовательности команд на идентичные по логике, но отличные по составу команд - декомпилятор не может распознать исходную конструкцию. Если же новая последовательность будет к тому же случайной по составу команд (но не по общей логике) то задача декомпиляции еще усложнится.
Это позволяет исполняющей машине 1С выполнять эти модули, однако существующие декомпиляторы не в состоянии восстановить исходный текст.

Так же система "WiseAdvice: Защита конфигураций" позволяет в процессе модификации кода модулей интегрировать проверки ключа защиты. Ключи защиты бывают как аппаратные (Sentinel HASP HL, Guardant), так и программные (Sentinel HASP SL, Guardant SP), локальные и сетевые. При этом разработчику не требуется вдаваться в подробности работы с ключами защиты. Всё обеспечение корректной и прозрачной работы с ключами защиты берет на себя "WiseAdvice: Защита конфигураций".
При работе конфигурации у конечного пользователя так же не требуется выполнять какие либо специфичные настройки. Все что требуется - установить драйвер (если для используемого типа ключей он требуется) и вставить ключ защиты. Если ключ есть - система работает как не защищенная. Если ключа нет - при выполнении защищенных функций генерируется исключение и выводится информационное сообщение.

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