[Infostart] Антидекомпилятор

60

Любой разработчик 1с рано или поздно сталкивается с необходимостью защиты своих разработок. Фирма 1с предоставляет встроенные возможности защиты разработок:

  1. Установка пароля на модуль.
  2. Поставка конфигурации без исходных модулей.

При этом большинству программистов 1с известно, что такая защита снимается без особого труда известной обработкой, которая широко распространена в интернете и доступна для свободного скачивания.

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

Сама 1с добавила возможность выгружать конфигурации и обработки в файлы, что немедленно породило в моей голове идею использовать этот механизм в своих целях. Дело в том, что ранее для работы моей обработки требовалась внешняя утилита v8unpack, которая распаковывает контейнеры 1с. Благо и здесь имеются публикации приоткрывающие завесу тайны формата контейнера, да и сама утилита имеет открытые исходники, благодаря которым, преимущественно, мне и удалось реализовать свою задумку.

При этом желание сэкономить время, зачастую приводит к обратному эффекту, времени тратится на решение значительно больше, чем, если бы этих попыток, сэкономить время, не было. Этот случай не стал исключением (xd).