bdd2

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

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

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

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

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

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

См. также

Добавить вознаграждение
Комментарии
1. Алексей Коробов (WiseSnake) 1721 18.05.09 19:37 Сейчас в теме
А если закомментировать ПриНачалеРаботыСистемы()... то запустится....
2. Ярослав Волохов (YVolohov) 691 18.05.09 19:39 Сейчас в теме
Включать модуль приложения в поставку в скомпилированом или запароленом виде, тогда не закомментируют.
3. artem666 Bogomaz (artem666) 27 18.05.09 20:20 Сейчас в теме
(2) а раскомпиляция запороленной конфы???
4. Валентин Терёхин (Valet) 55 18.05.09 21:58 Сейчас в теме
(3)<антиламерскую защиту способна обеспечить>
Много ламеров или пользователей могут вскрыть запороленный модуль - не думаю.
5. Алексей Константинов (alexk-is) 6065 19.05.09 08:45 Сейчас в теме
Несколько вопросов:
Будет работать при нескольких пользователях?
Будет работать в терминале?
Будет работать в на виртуальной машине?
6. Юрий Тимофеев (Tatitutu) 3557 19.05.09 09:08 Сейчас в теме
присоединюсь к (5)
а если флешка накроется?
7. Аркадий Кучер (Abadonna) 3648 19.05.09 09:15 Сейчас в теме
Уже априори под конфигурацией понимается только 8х?
Почему я должен тыкать в картинку, чтобы посмотреть подо что это?
Надо писать в заголовке под какую платформу
8. Ярослав Волохов (YVolohov) 691 19.05.09 11:38 Сейчас в теме
(3) В смысле, если конфа запаролена и знаешь пароль то какие могут быть проблемы если надо что-либо изменить в модуле ?
(5) При нескольких пользователях работать будет, но у каждого должна быть вставлена флешка.
В терминале работать будет, причем с одной флешкой на всех.
На виртуальной машине не знаю.
(6) Если флешка накроется, всегда можно создать ключ на новой. Принцып такой, сама конфа не хранит каких либо идентификаторов внутри себя, есть номер тома флешки, который можно считать с помощью WMI и такой же номер записанный внутри зашифрованного ключевого файла, если они совпадают то конфа запускаеться, если нет то не запускаеться.
9. Юрий (karetir) 19.05.09 14:27 Сейчас в теме
ха-ха Любой пользователь скачивает эту обработку и делает себе ключей с флешками сколько хочет - программа будет запускатся!
10. Ярослав Волохов (YVolohov) 691 19.05.09 14:48 Сейчас в теме
(9) Не все так просто, файлик то шифруется ключем, который находиться в модуле приложения конфигурации и в модуле формы обработки. Это строка произвольной длины (конкретно в этом примере "MICROSOFT_MUST_DIE"). Стоит ее заменить на другое значение и ключ становится уникальным в пределах конкретного решения разработчика.
11. Ярослав Волохов (YVolohov) 691 19.05.09 14:51 Сейчас в теме
Вообще зря я это выложил наверное без подробного описания всей системы, нужно будет создать.
CaSH_2004; Istur; +2 Ответить
12. Андрей Зайцев (zaic) 110 19.05.09 15:49 Сейчас в теме
11. Не нужно подробного создавать. И так нормально. Тем более, что не так много идей на тему защит по 8-ке.
Кстати, надо бы закупить партию флешек, пока они еще доступны..)
13. Дмитрий Фролов (Jivchic) 90 20.05.09 07:07 Сейчас в теме
а для 7.7 решение есть такое?
14. Ярослав Волохов (YVolohov) 691 20.05.09 10:44 Сейчас в теме
(13) К сожалению в семерке нельзя нормально закрыть модуль с помощью штатных средств. Поэтому там такое решение не прокатит.
15. Ярослав Волохов (YVolohov) 691 20.05.09 10:53 Сейчас в теме
Есть такая контора "Интелис", так они разработали интересное решение подходящее и для семерки и для восьмерки. Суть вот в чем - часть кода выносится в шифрованный файл, извлечь его оттуда может только внешняя компонента, которая в свою очередь не работает без аладиновского ключа.
16. Ярослав Волохов (YVolohov) 691 20.05.09 10:55 Сейчас в теме
(15) Таким образом модуль можно вообще не закрывать, поскольку если отвязать защиту то конфа просто перестанет работать.
17. Роман Узьмов (RomanUzmov) 42 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) 42 21.05.09 01:07 Сейчас в теме
(18) Какую именно?
Защиту от Интелис'а можно купить или попробовать сначала демо-версию. Ссылка на продукт на их сайте: http://www.intelis-it.ru/software/intelis/safety.html
КЗК я слил с этого сайта... поищи поиском... :)
21. Ярослав Волохов (YVolohov) 691 21.05.09 10:40 Сейчас в теме
(18) Я очень долго гуглил насчет раскомпиляции модуля но так ничего стоящего и не попалось
22. Роман Узьмов (RomanUzmov) 42 21.05.09 23:07 Сейчас в теме
(21) V8UnPack28 - отличный декомпилятор.
23. lav_andrew (lav_andrew) 4 23.05.09 03:27 Сейчас в теме
24. damacon damacon (damacon) 4 25.05.09 13:27 Сейчас в теме
Раскомпилировать модуль не просто, а очень просто... Даже неподготовленный пользователь в инете может найти. А способов защиты более грозных море, посмотрите например на самом сайте аладина (вот они от ламеров точно спасут, но только от них)
25. Ярослав Волохов (YVolohov) 691 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) 691 01.06.09 12:31 Сейчас в теме
(29) При генерации считываеться номер тома указанной флешки и вместе с дополнительной информацией (название клиента, код клиента, срок действия ключа) записываеться в шифрованный файл на ту же самую флешку.
При запуске конфигурации опять считываеться номер тома с флешки и номер тома записанный в шифрованном файле. Если они совпадают, значит доступ разрешен.
31. Ярослав Радкевич (WKBAPKA) 199 31.07.09 13:05 Сейчас в теме
2(20): но защита от Интелиса требует наличие аппаратного ключа, что не всегда удобно :(
32. Ярослав Радкевич (WKBAPKA) 199 31.07.09 13:07 Сейчас в теме
2(27): да до одного места... думаю что защита от Интелиса чуть посложнее будет, главное что бы они не пулили расшифрованный модуль во временный файл, как это было у Инталева :)
33. Роман Узьмов (RomanUzmov) 42 31.07.09 17:04 Сейчас в теме
(31) Можно и без аппаратного ключа обойтись, использовать программный ключ Aladdina - Интелис тоже с ним работает...
34. Ярослав Радкевич (WKBAPKA) 199 01.08.09 11:09 Сейчас в теме
2(33): а с этого места поподробнее пожалуста...
35. Роман Узьмов (RomanUzmov) 42 02.08.09 16:54 Сейчас в теме
(34) У Aladdin'а есть продукт "HASP SRM", - это новый вид ключей HASP, являющийся развитием линейки HASP HL. Начиная с версии 3.6, этот продукт позволяет формировать так называемые "программные ключи" - полный аналог обычного ключа HASP. Ключ представляет собой драйвер(?), который устанавливается в систему. Обычные методы обнаружения ключа такой ключ также увидят. Система защиты Интелис, о которой идёт речь, также может работать с программными ключами. Проверено. По-моему, триал-версию пакета разработчика можно скачать с Аладдина.
37. Алексей Прилепский (IamAlexy) 489 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) 691 22.02.13 13:36 Сейчас в теме
(39) Нет, только локально. На каждое рабочее место нужна флешка с ключом.
41. Лена Пономарева (lenna_1985) 22.02.13 13:57 Сейчас в теме
а доработать можете ???
lenna_1985@mail.ru - моя почта для связи..
42. Ярослав Волохов (YVolohov) 691 22.02.13 15:50 Сейчас в теме
(41) Это не имеет смысла. Создание нормальной системы защиты заняло бы кучу времени, к тому же я не специалист в таких вопросах.
43. Олег Шалимов (CaSH_2004) 340 07.07.13 00:52 Сейчас в теме
(42) В принципе неплохая защита если добавить немного инструкции и фантазии для доработки, ну скажем для других:
1. есть возможность указать срок работы ключа - тут конечно при проверке система не скажет точно закончился срок или еще не начался - исправляется программистом просто
2. есть возможность указания кода клиента, организации и номера ключа - прост для справки, явно зарезервировано для того чтобы разработчик по ключу мог понять кому он его выдан, сама система это не проверяет, и механизма вывода такой информации нет, но если доработать то получив от пользователя ключ вы поймете кому он выдавался и тот ли это клиент
эти данные также шифруются поэтому их не подделать
3. чтобы заработало по сети можно использовать для хранения файла не жесткий диск (оттуда могут запросто удалить), а справочник "Внешние обработки" - но тогда придется отказаться (убрать в коде) от привязки к жесткому диску. Но зато можно привязаться к имени сервера где лежит база, к его IP и прочим достаточно статическим вещам (например к названии организации)
44. Сообщество Просветленных (join2us) 3 26.02.14 17:26 Сейчас в теме
Взял за основу. Автору респект.