Установка захисту і декомпілятор модулів 1с 8

Напевно кожен розробник піклується про те, щоб його програми були захищені від нелегального розповсюдження. Особливо якщо ця розробка - комерційний, тиражований продукт.

Творці системи 1С: Підприємство 8 подбали про захист коду. На жаль, пароль на доступ можна встановити тільки на модулі об'єктів, загальні модулі, модулі обробок і звітів. У тому числі і зовнішніх. Але і цього чимало, так як можна значущі процедури і функції розмістити в модулі і потім до них звертатися.

У даній статті я хочу розібратися, як встановити захист і зняти її, якщо Ви забули пароль.

Установка захисту на модуль 1C

Візьмемо будь-який модуль будь-якого об'єкта. Я взяв навскидку перший же документ - «Авансовий звіт». Якщо поставити курсор на текст коду модуля, в головному меню з'явиться пункт «Текст». У цьому пункті є підпункт «Встановити пароль».

Установка захисту і декомпілятор модулів 1с 8

Програма мене тут же попередила про те, що не можна захистити модуль, який має директиви препроцесора:

Установка захисту і декомпілятор модулів 1с 8

Нагадуємо, директиви препроцесора - це такі конструкції, як # Якщо, # Тоді, # Кінець і т.п.

Що ж, подивимося, у що це виллється. Встановлюємо пароль.

Після установки пароля при спробі закрити модуль виходить повідомлення про помилку:

Ігноруємо помилку і зберігаємо конфігурацію. Цікаво, чи відкриється документ. Запускаємо програму в режимі «Підприємства».

Все виявилося гірше, ніж я припускав. Документ повністю не робочий. Провести його не вдалося, постійно програма лається на якісь незаповнені поля, яких ні в шапці форми, ні в таблиці немає.

Спробував для чистоти експерименту на інших документах, той же результат. Наприклад, в прибутковій накладній стає недоступним поле «Договір».

Висновок однозначний: не всі модулі можна захистити. Однак нічого Вам не заважає винести функції і процедури з директивами препроцесора в окремий модуль.

Пробуємо захистити загальний модуль. Випадковим вибором пробую захистити 10 загальних модулів. Приблизно половина захистилися без всяких зауважень. При спробі захистити другу половину просто вийшло повідомлення, що модуль не можна захистити.

Залишилося перевірити обробки. Візьмемо для інтересу зовнішню. Захист пройшла без проблем.

Перевірка надійності захисту за допомогою декомілятора модулів 1С

Подивимося тепер, чи вдасться обійти захист. Покопавшись трохи в інтернеті, я натрапив на «декомпілятор модулів» (скачати можна за посиланням), який нібито здатний зняти пароль. Декомпілятор є зовнішню обробку на звичайних формах. Добре, пробуємо. Почнемо все з тієї ж зовнішньої обробки, на модуль якої я встановив пароль.

Запускаємо 1С в режимі підприємства і відкриваємо обробку з декомпілятори через «Файл» - «Відкрити». Зауважу, що обробка, яку я знайшов, написана на звичайних формах, і запускати її потрібно під товстим клієнтом:

Установка захисту і декомпілятор модулів 1с 8

Натискаємо «декомпілювати» і отримуємо повідомлення, що все пройшло успішно:

Пробуємо відкрити модуль в конфігураторі, і він прекрасно відкривається.

На форумах пишуть, що іноді потрібно запускати 1С від імені адміністратора, якщо виходить помилка.

Тепер залишилося перевірити, як декомпілятор впорається із загальними модулями. Зберігаємо конфігурацію в файл.

Вибираємо в обробці:

Установка захисту і декомпілятор модулів 1с 8

Після декількох хвилин отримуємо повідомлення:

Завантажуємо конфігурацію з файлу і перевіряємо захист. Захист повністю знята.

Тестування проводилося на платформі 8.3.9.1818, конфігурація «Бухгалтерія підприємства 3.0.44.188».

Найцікавіше, що модуль даного «декомпілятори» теж захищена. Але обробка не дозволяє зняти захист з самої себе.

Схожі статті