gifts2017

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

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

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

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

 

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

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

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

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

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

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

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

//*

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

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

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

//*  

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

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

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

 

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

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

Любой декомпилятор конечно сможет обойти защиту, но как правило большиству пользователей этой защиты бывает достаточно.

 

 

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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

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