gifts2017

Простой пример защиты конфигурации (1с8)

Опубликовал Ярослав Волохов (YVolohov) в раздел Администрирование - Защита, права, пароли

Самый простой пример защиты конфигурации от несанкционированного использования. Базируется на привязке конфигурации к номеру тома флешки. Не претендует на особую новизну или оригинальность но антиламерскую защиту способна обеспечить. Использует WMI.

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

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

Наименование Файл Версия Размер Кол. Скачив.
Защита конфигурации
.1242658930 14,70Kb
12.02.13
609
.1242658930 14,70Kb 609 Бесплатно

См. также

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

Комментарии

1. Алексей Коробов (WiseSnake) 18.05.09 19:37
А если закомментировать ПриНачалеРаботыСистемы()... то запустится....
2. Ярослав Волохов (YVolohov) 18.05.09 19:39
Включать модуль приложения в поставку в скомпилированом или запароленом виде, тогда не закомментируют.
3. artem666 Bogomaz (artem666) 18.05.09 20:20
(2) а раскомпиляция запороленной конфы???
4. Валентин Терёхин (Valet) 18.05.09 21:58
(3)<антиламерскую защиту способна обеспечить>
Много ламеров или пользователей могут вскрыть запороленный модуль - не думаю.
5. Алексей Константинов (alexk-is) 19.05.09 08:45
Несколько вопросов:
Будет работать при нескольких пользователях?
Будет работать в терминале?
Будет работать в на виртуальной машине?
6. Юрий Тимофеев (Tatitutu) 19.05.09 09:08
присоединюсь к (5)
а если флешка накроется?
7. Аркадий Кучер (Abadonna) 19.05.09 09:15
Уже априори под конфигурацией понимается только 8х?
Почему я должен тыкать в картинку, чтобы посмотреть подо что это?
Надо писать в заголовке под какую платформу
8. Ярослав Волохов (YVolohov) 19.05.09 11:38
(3) В смысле, если конфа запаролена и знаешь пароль то какие могут быть проблемы если надо что-либо изменить в модуле ?
(5) При нескольких пользователях работать будет, но у каждого должна быть вставлена флешка.
В терминале работать будет, причем с одной флешкой на всех.
На виртуальной машине не знаю.
(6) Если флешка накроется, всегда можно создать ключ на новой. Принцып такой, сама конфа не хранит каких либо идентификаторов внутри себя, есть номер тома флешки, который можно считать с помощью WMI и такой же номер записанный внутри зашифрованного ключевого файла, если они совпадают то конфа запускаеться, если нет то не запускаеться.
9. Юрий (karetir) 19.05.09 14:27
ха-ха Любой пользователь скачивает эту обработку и делает себе ключей с флешками сколько хочет - программа будет запускатся!
10. Ярослав Волохов (YVolohov) 19.05.09 14:48
(9) Не все так просто, файлик то шифруется ключем, который находиться в модуле приложения конфигурации и в модуле формы обработки. Это строка произвольной длины (конкретно в этом примере "MICROSOFT_MUST_DIE"). Стоит ее заменить на другое значение и ключ становится уникальным в пределах конкретного решения разработчика.
11. Ярослав Волохов (YVolohov) 19.05.09 14:51
Вообще зря я это выложил наверное без подробного описания всей системы, нужно будет создать.
CaSH_2004; Istur; +2 Ответить
12. Андрей Зайцев (zaic) 19.05.09 15:49
11. Не нужно подробного создавать. И так нормально. Тем более, что не так много идей на тему защит по 8-ке.
Кстати, надо бы закупить партию флешек, пока они еще доступны..)
13. Дмитрий Фролов (Jivchic) 20.05.09 07:07
а для 7.7 решение есть такое?
14. Ярослав Волохов (YVolohov) 20.05.09 10:44
(13) К сожалению в семерке нельзя нормально закрыть модуль с помощью штатных средств. Поэтому там такое решение не прокатит.
15. Ярослав Волохов (YVolohov) 20.05.09 10:53
Есть такая контора "Интелис", так они разработали интересное решение подходящее и для семерки и для восьмерки. Суть вот в чем - часть кода выносится в шифрованный файл, извлечь его оттуда может только внешняя компонента, которая в свою очередь не работает без аладиновского ключа.
16. Ярослав Волохов (YVolohov) 20.05.09 10:55
(15) Таким образом модуль можно вообще не закрывать, поскольку если отвязать защиту то конфа просто перестанет работать.
17. Роман Узьмов (RomanUzmov) 20.05.09 20:43
(15) Защита от Интелис - отличная вещь, я её использую. Но, к сожалению, только под 8.Х. Под 7.7. не работает. Под 7.7. есть КЗК ПРОФ (старой версии), выложенный автором в свободный доступ.
18. Marty (marty) 20.05.09 20:52
(3) Причем раскомпилировать модули дело очень не легкое и как мне рассказывали расскомпилированный код трудно четабелен.

(17) А как можно получить такую вещь?
19. Victor Rudn (master-vic) 20.05.09 21:18
20. Роман Узьмов (RomanUzmov) 21.05.09 01:07
(18) Какую именно?
Защиту от Интелис'а можно купить или попробовать сначала демо-версию. Ссылка на продукт на их сайте: http://www.intelis-it.ru/software/intelis/safety.html
КЗК я слил с этого сайта... поищи поиском... :)
21. Ярослав Волохов (YVolohov) 21.05.09 10:40
(18) Я очень долго гуглил насчет раскомпиляции модуля но так ничего стоящего и не попалось
22. Роман Узьмов (RomanUzmov) 21.05.09 23:07
(21) V8UnPack28 - отличный декомпилятор.
23. lav_andrew (lav_andrew) 23.05.09 03:27
24. damacon damacon (damacon) 25.05.09 13:27
Раскомпилировать модуль не просто, а очень просто... Даже неподготовленный пользователь в инете может найти. А способов защиты более грозных море, посмотрите например на самом сайте аладина (вот они от ламеров точно спасут, но только от них)
25. Ярослав Волохов (YVolohov) 25.05.09 17:03
26. Sheridan (WKBAPKA) 26.05.09 14:40
2(18): а кто вам такое сказал? есть обработка которая успешно декомпелирует зашифрованные модуля и они очень даже читабельны...
самое примечательное ну и печальное, что обработка написана на самой же 1С, ВК используется только для раззиповки *1CD файла...
тока не просите, высылать не буду...
27. Marty (marty) 26.05.09 14:49
(26) Значит все эти исключения исходников и паролирование модулей до одного места? А что Вы скажете о защите Интелис'а?
28. Marty (marty) 26.05.09 17:10
(22) Раскрывает все исходники?
29. Sheridan (WKBAPKA) 29.05.09 17:57
а какой принцип генерации ключа?
30. Ярослав Волохов (YVolohov) 01.06.09 12:31
(29) При генерации считываеться номер тома указанной флешки и вместе с дополнительной информацией (название клиента, код клиента, срок действия ключа) записываеться в шифрованный файл на ту же самую флешку.
При запуске конфигурации опять считываеться номер тома с флешки и номер тома записанный в шифрованном файле. Если они совпадают, значит доступ разрешен.
31. Ярослав Радкевич (WKBAPKA) 31.07.09 13:05
2(20): но защита от Интелиса требует наличие аппаратного ключа, что не всегда удобно :(
32. Ярослав Радкевич (WKBAPKA) 31.07.09 13:07
2(27): да до одного места... думаю что защита от Интелиса чуть посложнее будет, главное что бы они не пулили расшифрованный модуль во временный файл, как это было у Инталева :)
33. Роман Узьмов (RomanUzmov) 31.07.09 17:04
(31) Можно и без аппаратного ключа обойтись, использовать программный ключ Aladdina - Интелис тоже с ним работает...
34. Ярослав Радкевич (WKBAPKA) 01.08.09 11:09
2(33): а с этого места поподробнее пожалуста...
35. Роман Узьмов (RomanUzmov) 02.08.09 16:54
(34) У Aladdin'а есть продукт "HASP SRM", - это новый вид ключей HASP, являющийся развитием линейки HASP HL. Начиная с версии 3.6, этот продукт позволяет формировать так называемые "программные ключи" - полный аналог обычного ключа HASP. Ключ представляет собой драйвер(?), который устанавливается в систему. Обычные методы обнаружения ключа такой ключ также увидят. Система защиты Интелис, о которой идёт речь, также может работать с программными ключами. Проверено. По-моему, триал-версию пакета разработчика можно скачать с Аладдина.
37. Алексей Прилепский (IamAlexy) 24.02.11 05:56
кстати прикольно получается.
это решение + защита от интелис = экономия на hasp sl ключах.

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

понятное дело до hasp sl недотягивает, но в принципе защиту и не только от ламеров обеспечит.
38. qweasd qweasdzc (serega3333) 04.06.12 13:32
включать в поставку можно и весь код в принципе...тогда будет еще лучше
39. Лена Пономарева (lenna_1985) 22.02.13 11:43
а в сетевом режиме будет работать ?
40. Ярослав Волохов (YVolohov) 22.02.13 13:36
(39) Нет, только локально. На каждое рабочее место нужна флешка с ключом.
41. Лена Пономарева (lenna_1985) 22.02.13 13:57
а доработать можете ???
lenna_1985@mail.ru - моя почта для связи..
42. Ярослав Волохов (YVolohov) 22.02.13 15:50
(41) Это не имеет смысла. Создание нормальной системы защиты заняло бы кучу времени, к тому же я не специалист в таких вопросах.
43. Олег Шалимов (CaSH_2004) 07.07.13 00:52
(42) В принципе неплохая защита если добавить немного инструкции и фантазии для доработки, ну скажем для других:
1. есть возможность указать срок работы ключа - тут конечно при проверке система не скажет точно закончился срок или еще не начался - исправляется программистом просто
2. есть возможность указания кода клиента, организации и номера ключа - прост для справки, явно зарезервировано для того чтобы разработчик по ключу мог понять кому он его выдан, сама система это не проверяет, и механизма вывода такой информации нет, но если доработать то получив от пользователя ключ вы поймете кому он выдавался и тот ли это клиент
эти данные также шифруются поэтому их не подделать
3. чтобы заработало по сети можно использовать для хранения файла не жесткий диск (оттуда могут запросто удалить), а справочник "Внешние обработки" - но тогда придется отказаться (убрать в коде) от привязки к жесткому диску. Но зато можно привязаться к имени сервера где лежит база, к его IP и прочим достаточно статическим вещам (например к названии организации)
44. Сообщество Просветленных (join2us) 26.02.14 17:26
Взял за основу. Автору респект.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа