Понадобилось сделать быстро блокировку от распространения конфигурации-поставки по «рукам» клиентов. Конфигурация не является конечным продуктом, а только пример работы.
Данные паролей генерируются ввиде ХЭШ-кода и сохраняются в справочник «ПраваДоступаПоЛицензии». Пароль ХЭШ-код формируется из наименования организации и имени компьютера пользователя.
Как настроить и работать с этим?
1. Перекинуть все объекты метаданных из конфигурации ЗащитаКонфигурации в вашу (кроме Организации, ГенераторЛицензий, ДокументПример)
2. В модуле обычного приложения в процедуре ПриНачалеРаботыСистемы() необходимо добавить:
//*Лицензионная политика
//Проверка на доступ
Если НЕ ЛицензионнаяПолитика.ПроверитьРазрешениеНаДоступКПрограммеТекущегоПользователя() тогда ЛицензионнаяПолитика.ВвестиКодДоступа(); ЛицензионнаяПолитика.ЗафиксироватьКодДоступа(); КонецЕсли;
//*
3. В модуль «важного» объекта метаданных в процедуре ПриЗаписи() добавить:
//*Лицензионная политика
ЛицензионнаяПолитика.ПроверитьДоступИВыйтиСПредупреждением();
//*
4. В модуле ЛицензионнаяПолитика: добавить постоянный пароль для поставки в функции ПолучитьИдентификационныйПарольПрограммы() и ПолучитьИдентификационныйПарольАдминский(). Это на всякий случай, если требуется отключить быстро всю защиту и войти в программу.
5. При формировании поставки не включать в поставку исходный текст модулей везде где есть *Лицензионная политика
6. Для генерации паролей-лицензий пользователей используется обработка ГенераторЛицензий. В ней необходимо указать пароль программы (см. п. 4), наименование организации, наименование компьютера.
Вот впринципе и все! Никаких внешних компонент и ноль потраченных средств. Подсистему защиты легко перенести на управляемое приложение (при необходимости).
Тот кто захочет взломать не сможет полноценно воспользоваться и скопировать вашу конфигурацию, т.к. особо важные модули не имеют исходных модулей, а в них скрыта функция проверки на лицензию.
Рекомендую применять обфускатор к указанным модулям и защита будет 100% надежной.
Особо важные модули не имеют исходных модулей, а в них скрыта функция проверки на лицензию. — Раскомпилируеться на раз два..
идея интересная, но к сожалению, то что 1С компилирует, легко разкомпелировать… но как нормальная такая защита от дурака, пойдет
(1)(2) Полностью с вами согласен. Как «защита от дурака» себя отрабатывает на отлично
Хорошо бы описание подключения включить в файл для скачивания, чтобы потом не искать как этим воспользоваться. А так +.
как мне кажется защитой от дурака может служить и пароль на модули
(5) В данном случае вы не правы, т.к. не вчитались в описание. Данная подсистема позволяет защитить от копирования вашей разработки
Я КОНЕЧНО ВНИКНУ, интересно как именно работает защита.
но вопрос по защите модулей остается — как программист открываю модуль и удалаю его. и вся защита ушла спать
В описании прочитал, но не верется, пока не проверю сам 🙂
Не совсем то что хотелось бы но на безрибэ и рак рыба. Автору спасибо и конечно респект ну заслуженое 5++
«Защита» ни от чего не защищает. Даже дураку достаточно погуглить 5 минут и найдется декомпилятор.
(9) У вас не защищает, у других БОЛЬШИНСТВА прекрасно защищает.
(10) тоесть вы отрицаете возможность «открытия» вашего программого кода декомпилятором???
Господа, я еще раз повторяю, то что декомпиляторы в данной теме не обсуждаются. Предложена разработка и раз вы боитесь декомпиляторов, пожалуйста, не используйте её для своих нужд.
Если не учитывать декомпиляторы то какая ж это защита?
(13)(11)(9) Ладно, господа взломщики-декомпилисты. Попробуйте взломать конфигурацию раскрыв тексты модулей которые вложены в нее.
(14) Ты все-таки не верил? Ну вот, смотри.
мой декомпилятор не обрабатывает целиком конфигурации, а только отдельные модули
но тоже не плохо справляется
(15)
При открытии конфигурации вылазиет ошибка:
Неклассифицированная ошибка документа.
по причине:
Ошибка при выполнении файловой операции ‘D:Downloads1Cv8_U.cf’
по причине:
Неверный формат хранилища данных ‘file://D:/Downloads/1Cv8_U.cf’
(16) Вы раскрыли все модули до единого?
(17)где один — там и остальные 🙂
(18) Молодец. Тебя такая защита не застопорит, признаю.
(17) Почему-то при скачивании моего файла из (15) добавляются в начале и в конце какие-то <pre>. Не знаю, кто виноват, движок сайта или хром, но не важно. Давай сделаем проще.
вот это и попробуй сам.
Скачай
(19) да и другие защиты не особо:http://forum.infostart.ru/forum24/topic61383/message675477/#message675477
вообще куриhttp://infostart.ru/public/57362/
(20) а ты нажимай ссылку «Скачать», а не название файла
(22) О! Точно! Спасибо!
(17) ты тоже не туда нажимал, значит))
(23) Да все открылось
Не совсем понял. В вашей конфигурации.
Вошел по служебному паролю 123
Создал организацию
Сгенерировал лицензионный ключ
При запуске конфигурации ввожу полученый лицензионный ключ
Выдает:
Введенный код доступа не верен!
Что я не доделал
(25) Вы может быть неверный ключ сгенерировали. Генерируется на основе наименования организации и названия компьютера
(26)
Это я понял но вроде все правльно делал.
Вот приложил картинки.
И не совсем понятно: при генерации вводишь пароль, а куда его потом вводить
(26)
Вроде разобрался:
При генерации пароль программы должен быть такой как описано в функции Функция ПолучитьИдентификационныйПарольПрограммы()
А в описании этот вопрос упустили. Вот и недостаток описания.
(28) Спасибо за замечание. В п.4 я указывал, что необходимо указывать пароль программный и пароль админский, но не уточнил, что при генерации использовать программный. Это указано далее в п.6 «Для генерации паролей-лицензий пользователей используется обработка ГенераторЛицензий. В ней необходимо указать пароль программы (см. п. 4), наименование организации, наименование компьютера. «
ИИнтересно инересно нужно будет поюзать на досуге
Может под управляемое приложение кто нибудь переделывал?
Как будет время посмотрим.
Декомплияция дело хитрое, а вот пользоваться декомпиляторами любезно предоставленными в инете — дело нехитрое.
Для управляемого переделывал кто нибудь?
На модуль управляемого приложения пароль не ставится.
(35)(36)Этот пример только для обычного приложения. Возможно в будущем сделаю аналог для управляемого
(37)
Не появился аналог для управляемого приложения?)
(37)Да-да, хотелось бы увидеть и для управляемых форм!!!))))
Насколько я разобрался, это вырезанный кусок из рабочей базы.
Тут есть множество моментов не используемых, хотя где-то это применялось)))
Вот к примеру
или вот еще такой код доступа
.
Насколько я понимаю, для первичного доступа в программу(конфигурацию), должен быть первичный код доступа, потом, он меняется на регистрацию.
А тут этот момент видимо вырезан автором, первый запуск системы и сразу регистрируй, даже организацию не успеешь оформить))))
Можно конечно предположить, что
это и есть
, но с ним тогда можно спокойно копировать программу и пользоваться под этим паролем))))
Также есть косяк с записью резервных паролей
Тут обстоят дела так, что при вводе пароля
или
он записывается в открытом, не шыфрованном виде в
.
А так за саму идею решения вопроса с копированием, автору, однозначно 5++
(40)
Да в целом вы правильно разобрались. Я специально описал и оставил в коде рабочий пример, чтобы сразу было все легко и понятно. Сейчас для защиты можно сделать обфусцирование данных модулей и затем закомпилировать 1С средствами. Защита будет 100%
(41) Возможно ли посмотреть полный вариант вашей защиты…??)))
С количеством лицензий совсем непонятно, для чего и как определить..???
Тема интересная. Может кто подскажет, есть способ «закрыть» в конфигурации добавленный самописный документ или лучше вынести во внешнюю обработку ???
Я дела по другому. Пишу компоненту на C#. Пихаю туда часть логики без которой ничего не работает. Применяю шифрованный xml файл с данными клиента как ключ. Кстати, рецепт нашел кажется тоже тут, в одной из публикаций.
(44) Любые компоненты — это геморрой. Тем более когда речь идет о шифровании тиражного продукта. Покупает клиент с правами рядового юзера (примерно 70% покупателей имеют такие права на рабочем компе) и все, приплыли. Компонента не регистрируется, админ права не дает при этом еще и покупатель со словами «Зачем мне права админа? я ж готовое решение покупал» оформляет заявку на возврат ден.средств.