bdd2

Защита конфигурации 1С (без внешних компонент, супер легкая и быстрая)

Опубликовал Олег Каратаев (Kyrales) в раздел Программирование - Защита и шифрование

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

Понадобилось сделать быстро блокировку от распространения конфигурации-поставки по "рукам" клиентов. Конфигурация не является конечным продуктом, а только пример работы.

Данные паролей генерируются ввиде ХЭШ-кода и сохраняются в справочник "ПраваДоступаПоЛицензии". Пароль ХЭШ-код формируется из наименования организации и имени компьютера пользователя. 

Как настроить и работать с этим?

1. Перекинуть все объекты метаданных из конфигурации ЗащитаКонфигурации в вашу (кроме Организации, ГенераторЛицензий, ДокументПример)  

2.  В модуле обычного приложения в процедуре ПриНачалеРаботыСистемы() необходимо добавить:

//*Лицензионная политика

//Проверка на доступ 

Если НЕ ЛицензионнаяПолитика.ПроверитьРазрешениеНаДоступКПрограммеТекущегоПользователя() тогда ЛицензионнаяПолитика.ВвестиКодДоступа(); ЛицензионнаяПолитика.ЗафиксироватьКодДоступа(); КонецЕсли;

//*

3. В модуль "важного" объекта  метаданных в процедуре ПриЗаписи() добавить:

//*Лицензионная политика

ЛицензионнаяПолитика.ПроверитьДоступИВыйтиСПредупреждением();

//* 

 4. В модуле ЛицензионнаяПолитика: добавить постоянный пароль для поставки в функции ПолучитьИдентификационныйПарольПрограммы()  и ПолучитьИдентификационныйПарольАдминский(). Это на всякий случай, если требуется отключить быстро всю защиту и войти в программу.

5. При формировании поставки не включать в поставку исходный текст модулей везде где есть  *Лицензионная политика

6. Для генерации паролей-лицензий пользователей используется обработка  ГенераторЛицензий. В ней необходимо указать пароль программы (см. п. 4), наименование организации, наименование компьютера. 

Вот впринципе и все! Никаких внешних компонент и ноль потраченных средств. Подсистему защиты легко перенести на управляемое приложение (при необходимости).

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

Рекомендую применять обфускатор к указанным модулям и  защита будет 100% надежной.

Скачать файлы

Наименование Файл Версия Размер
Защита конфигураций
.cf 31,64Kb
18.12.16
157
.cf 31,64Kb 157 Скачать

См. также

Добавить вознаграждение
Комментарии
1. kabz (Kabz) 72 11.05.12 23:03 Сейчас в теме
Особо важные модули не имеют исходных модулей, а в них скрыта функция проверки на лицензию. - Раскомпилируеться на раз два..
2. Ярослав Радкевич (WKBAPKA) 199 12.05.12 12:33 Сейчас в теме
идея интересная, но к сожалению, то что 1С компилирует, легко разкомпелировать... но как нормальная такая защита от дурака, пойдет
3. Олег Каратаев (Kyrales) 117 12.05.12 13:26 Сейчас в теме
(1)(2) Полностью с вами согласен. Как "защита от дурака" себя отрабатывает на отлично
4. Aleksandr Filonov (AleksSF) 156 16.05.12 09:41 Сейчас в теме
Хорошо бы описание подключения включить в файл для скачивания, чтобы потом не искать как этим воспользоваться. А так +.
5. Игорь Дзеса (Kamikadze) 44 16.05.12 23:14 Сейчас в теме
как мне кажется защитой от дурака может служить и пароль на модули
6. Олег Каратаев (Kyrales) 117 17.05.12 08:23 Сейчас в теме
(5) В данном случае вы не правы, т.к. не вчитались в описание. Данная подсистема позволяет защитить от копирования вашей разработки
7. Игорь Дзеса (Kamikadze) 44 17.05.12 10:36 Сейчас в теме
Я КОНЕЧНО ВНИКНУ, интересно как именно работает защита.

но вопрос по защите модулей остается - как программист открываю модуль и удалаю его. и вся защита ушла спать

В описании прочитал, но не верется, пока не проверю сам :)
8. Andrey Dyak (electronik) 17.05.12 15:27 Сейчас в теме
Не совсем то что хотелось бы но на безрибэ и рак рыба. Автору спасибо и конечно респект ну заслуженое 5++
9. Михаил Усков (MMF) 656 17.05.12 17:21 Сейчас в теме
"Защита" ни от чего не защищает. Даже дураку достаточно погуглить 5 минут и найдется декомпилятор.
10. Олег Каратаев (Kyrales) 117 17.05.12 18:18 Сейчас в теме
(9) У вас не защищает, у других БОЛЬШИНСТВА прекрасно защищает.
11. Игорь Дзеса (Kamikadze) 44 17.05.12 22:52 Сейчас в теме
(10) Kyrales, тоесть вы отрицаете возможность "открытия" вашего программого кода декомпилятором???
12. Олег Каратаев (Kyrales) 117 18.05.12 10:39 Сейчас в теме
Господа, я еще раз повторяю, то что декомпиляторы в данной теме не обсуждаются. Предложена разработка и раз вы боитесь декомпиляторов, пожалуйста, не используйте её для своих нужд.
13. arjuna (arjuna) 20.05.12 22:08 Сейчас в теме
Если не учитывать декомпиляторы то какая ж это защита?
14. Олег Каратаев (Kyrales) 117 21.05.12 15:52 Сейчас в теме
(13)(11)(9) Ладно, господа взломщики-декомпилисты. Попробуйте взломать конфигурацию раскрыв тексты модулей которые вложены в нее.
Прикрепленные файлы:
1Cv8.cf
15. Валерий Агеев (awa) 2347 22.05.12 01:07 Сейчас в теме
(14) Ты все-таки не верил? Ну вот, смотри.
Прикрепленные файлы:
1Cv8_U.cf
16. - - (Rebelx) 928 22.05.12 12:21 Сейчас в теме
мой декомпилятор не обрабатывает целиком конфигурации, а только отдельные модули
но тоже не плохо справляется
Прикрепленные файлы:
ЛицензионнаяПолитика.txt
17. Олег Каратаев (Kyrales) 117 22.05.12 17:14 Сейчас в теме
(15)
При открытии конфигурации вылазиет ошибка:
Неклассифицированная ошибка документа.
по причине:
Ошибка при выполнении файловой операции 'D:\Downloads\1Cv8_U.cf'
по причине:
Неверный формат хранилища данных 'file://D:/Downloads/1Cv8_U.cf'

(16) Вы раскрыли все модули до единого?
18. - - (Rebelx) 928 22.05.12 17:20 Сейчас в теме
(17)где один - там и остальные :)
19. Олег Каратаев (Kyrales) 117 22.05.12 17:22 Сейчас в теме
(18) Молодец. Тебя такая защита не застопорит, признаю.
20. Валерий Агеев (awa) 2347 22.05.12 17:37 Сейчас в теме
(17) Почему-то при скачивании моего файла из (15) добавляются в начале и в конце какие-то <pre>. Не знаю, кто виноват, движок сайта или хром, но не важно. Давай сделаем проще.
Скачай вот это и попробуй сам.
21. - - (Rebelx) 928 22.05.12 17:42 Сейчас в теме
22. - - (Rebelx) 928 22.05.12 17:43 Сейчас в теме
(20) а ты нажимай ссылку "Скачать", а не название файла
23. Валерий Агеев (awa) 2347 22.05.12 17:50 Сейчас в теме
(22) О! Точно! Спасибо!
(17) ты тоже не туда нажимал, значит))
24. Олег Каратаев (Kyrales) 117 22.05.12 17:56 Сейчас в теме
25. Aleksandr Filonov (AleksSF) 156 23.05.12 23:17 Сейчас в теме
Не совсем понял. В вашей конфигурации.
Вошел по служебному паролю 123
Создал организацию
Сгенерировал лицензионный ключ
При запуске конфигурации ввожу полученый лицензионный ключ
Выдает:
Введенный код доступа не верен!
Что я не доделал
26. Олег Каратаев (Kyrales) 117 25.05.12 15:37 Сейчас в теме
(25) Вы может быть неверный ключ сгенерировали. Генерируется на основе наименования организации и названия компьютера
27. Aleksandr Filonov (AleksSF) 156 29.05.12 16:41 Сейчас в теме
(26) Kyrales,
Это я понял но вроде все правльно делал.
Вот приложил картинки.
И не совсем понятно: при генерации вводишь пароль, а куда его потом вводить
Прикрепленные файлы:
28. Aleksandr Filonov (AleksSF) 156 29.05.12 17:09 Сейчас в теме
(26) Kyrales,
Вроде разобрался:
При генерации пароль программы должен быть такой как описано в функции Функция ПолучитьИдентификационныйПарольПрограммы()
А в описании этот вопрос упустили. Вот и недостаток описания.
29. Олег Каратаев (Kyrales) 117 30.05.12 18:53 Сейчас в теме
(28) Спасибо за замечание. В п.4 я указывал, что необходимо указывать пароль программный и пароль админский, но не уточнил, что при генерации использовать программный. Это указано далее в п.6 "Для генерации паролей-лицензий пользователей используется обработка ГенераторЛицензий. В ней необходимо указать пароль программы (см. п. 4), наименование организации, наименование компьютера. "
30. Andrey Dyak (electronik) 23.07.12 16:24 Сейчас в теме
ИИнтересно инересно нужно будет поюзать на досуге
31. piton66 (piton66) 3 21.01.13 16:17 Сейчас в теме
Может под управляемое приложение кто нибудь переделывал?
32. Зиля (zil) 23.03.13 20:38 Сейчас в теме
Как будет время посмотрим.
33. ProFix (Alex1Cnic) 13.05.13 11:26 Сейчас в теме
Интересно, конечно, но декомпиляция - дело нехитрое....
А так плюсик можно поставить
34. Евгений Сосна (pumbaE) 510 25.07.13 12:38 Сейчас в теме
Декомплияция дело хитрое, а вот пользоваться декомпиляторами любезно предоставленными в инете - дело нехитрое.
vasiliy_b; awa; +2 Ответить
35. piton66 (piton66) 3 29.10.13 15:51 Сейчас в теме
Для управляемого переделывал кто нибудь?
36. piton66 (piton66) 3 29.10.13 15:51 Сейчас в теме
На модуль управляемого приложения пароль не ставится.
37. Олег Каратаев (Kyrales) 117 30.10.13 08:57 Сейчас в теме
(35)(36)Этот пример только для обычного приложения. Возможно в будущем сделаю аналог для управляемого
38. Михаил Косарев (m-kos) 10 07.05.16 19:39 Сейчас в теме
(37) Kyrales,
Не появился аналог для управляемого приложения?)