Ключ защиты из USB накопителя для 8.3

28.03.17

Разработка - Защита ПО и шифрование

Ключ защиты конфигурации из обычной USB-флешки для платформы 8.3. Можно внедрить на любой конфигурации, и ключик не привязывается к определенному рабочему месту. Реализовано в Такси.

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

Наименование Файл Версия Размер
Ключ защиты из USB накопителя для 8.3
.7z 88,04Kb
43
.7z 1.0 88,04Kb 43 Скачать

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

Пришлось разбираться самому, и вот что вышло.

1. Что необходимо.

- USB  накопитель любого объема;

- внешняя компонента USBInfo.dll (в интернете не найдете, т.к. писалась на заказ из-за недостатка опыта разработки ВК);

- обработка для создания ключа защиты (есть в архиве);

- конфигурация с внедренной системой (пример есть в архиве).

2. Создание ключа.

- форматируем USB накопитель и присваиваем ему имя по умолчанию "1CKEY", если не нравится, можно другое, но придётся поменять в коде в одном месте;

- регистрируем USBInfo.dll, можно через командную строку, можно через батник в папке с dll-кой, не забываем про права администратора;

- открываем обработку "СоздатьКлючЗащиты.epf" в любой конфигурации, указываем путь к USB-накопителю, просто букву тома. Нажимаем кнопку создать. Обработка с помощью dll-ки получает всю необходимую информацию о USB-носителе, обрабатывает её, формирует текст и сохраняет его в txt файл в корне накопителя под именем "lic.lic" (также можно задать любое имя и расширение для файла, но надо исправить в коде в двух местах).

- что получаем в файле? В файл у нас записывается информация о накопителе: серийный номер, VID и PID. Как стало известно в ходе реализации, что у USB накопителя "два серийных номера". Этого я раньше не знал, т.к. далек от железа, первый тот, что вшит производителем, а второй тот, который присваивает виндовс, и на разных ПК он частенько отличается, а так как нам необходимо использовать на любом ПК, то второй номер не рассматриваем. Итак, в файл у нас записана информация, которая будет нужна для идентификации USB накопителя как ключа защиты/

Человеку, который далек от программирования, думаю, не сразу будет понятно, что тут записано, а тем, кто разбирается, думаю, объяснять не придётся.

- На этом создание ключа закончено.

3. Как работает в конфигурации?

- В архиве пример конфигурации и отдельно обработка.

- В процедуру "ПриНачалеРаботыСистемы", также можно в любую, какую хотите, вставляем:

Процедура ПриНачалеРаботыСистемы (Отказ)
	ОткрытьФорму("Обработка.ПроверитьНаличиеКлючаЗащиты.Форма.Форма");
КонецПроцедуры	

- При открытии обработка по имени "1CKEY" ищет USB накопитель (также, если есть желание, можно убрать привязку к названию флешки), если накопитель найден, идет чтение файла "lic.lic", если он есть, естественно. Файл прочитан.

- Далее с помощью dll-ки получаем информацию о USB накопителе (серийный номер, VID, PID) и сравниваем с тем, что в файле. Кстати, dll-ка должна быть зарегистрирована на всех ПК, где будет использоваться флешка.

- Если все удачно и все совпадает, то можно работать, если нет, то обработка завершает работу с предупреждением.

Видео, демонстрирующее работу ключа и внедрение в ЗУП (демо) 3.0

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

В планах реализовать защиту от удаления/копирования/чтения файла с информацией пользователем, но это пока в планах.

Если у кого-то есть какие критика/замечания/предложения/дополнения, буду рад.

П.С. Конечно же, вы можете сказать, что просто взял все отсюда  //infostart.ru/public/77203/ , но, уверяю вас, вы ошибаетесь, данную статью увидел только после реализации своей идеи, вот почему-то, когда нужно было, она мне не попалась на глаза...

Что получате в архиве:

- dll-ку, которая протестирована и работает как на Windows 7 x64/86, так и на Windows 8 x64/86;

- обработки внешние  "ПроверитьНаличиеКлючаЗащиты" и "СоздатьКлючЗащиты";

- пустая конфигурация, пример работы.

USB ключ защиты ключ защиты из флешки ключ защиты конфигурации

См. также

Запрет глобального поиска в конфигурации

Защита ПО и шифрование Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

09.02.2023    2211    9    aximo    4    

2

Как защитить pdf файл

Защита ПО и шифрование Абонемент ($m)

Для установки защиты pdf документа, полученного в 1С, написано консольное приложение на c#., использующее одну зависимость pdfSharp.dll. В результате работы приложения ограничены операции над документом и записаны метаданные. С помощью аргументов командной строки можно управлять работой приложения.

2 стартмани

30.01.2023    1654    1    olevlasam    3    

3

Универсальный синтаксический анализатор ASN.1 для декодирования .key, .cer, .der, .p7m, .p7s, .crt, .pem

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    2964    12    keyn5565`    0    

13

Шифрование строки на основе мастер-пароля в 1С Предприятие 8.3.19

Защита ПО и шифрование Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    3812    7    vit59    2    

6

Обфускатор байт-кода

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Протестировано на платформе 8.3.23.1739.

10 стартмани

16.06.2022    10219    77    ZhokhovM    12    

39

Как уберечь конструкторскую документацию от воровства конкурентами?

Защита ПО и шифрование Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Как уберечь конструкторскую документацию от воровства конкурентами? Недавно столкнулся с этой проблемой. Заказчик серьёзно обеспокоен утечкой информации о конструкторских разработках в адрес конкурентов, за счет подкупа исполнителей, занимающихся производством по конструкторской документации, операторов технологического оборудования и обрабатывающих центров по изготовлению деталей и сборочных единиц.

2 стартмани

09.03.2022    5633    3    ge_ni    9    

2

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

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Система построена на веб платформе, все управление происходит на сайте в личном кабинете пользователя.

1 стартмани

27.12.2021    4544    2    idm80    11    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. webester 26 31.05.15 03:01 Сейчас в теме
Я немного не понял, если пользователь прочтет эту статью, скачает эту обработку, он просто сможет сделать себе нужное количество флешек?
6. Naposaram 290 31.05.15 09:24 Сейчас в теме
(1) webester, ну так в файл на флешке можно запихнуть все что угодно для доп проверки, здесь в обработках прописано только минимум...

(2) seermak, если проверять в самой 1С без внешней компоненты то нужно прописывать и хранить всю информации в конфигурации.

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

(5) TODD22, тоже самое, если скопировать то не будет работать на другой флешке.
2. seermak 665 31.05.15 06:35 Сейчас в теме
(0)все это (подобное) можно реализовать и без флэшки и без дилки - в модуле сеанса вклейти проверку на железо и будет вам щастье. Но, людям ищущим, всегда респект и уважуха))))
simplysimply; +1 Ответить
3. davdykin 25 31.05.15 08:15 Сейчас в теме
(2) seermak, Использование к привязке к железу, на мой взгляд, не удачная идея, т.к.:
1. Вас постоянно будут дергать при переносе с компа на комп, а иногда это бывает по несколько раз в месяц, а если вы используете сетевую версию, то все умножаете на количество пользователей.
2. При переносе вам придется доставать эти параметры и вшивать в конфигурацию изменяя ее, что тоже не совсем удобно, особенно если вы ставите ее на поддержку.

А данное решение удобно, спасибо за идею и реализацию.
7. seermak 665 31.05.15 10:57 Сейчас в теме
(3) прочитайте хорошенько - автор как раз и привязывает флэшку к железу (может я чего-то не так понял) и вся проверка заключается в проверке эталонного числа, полученного ранее от этого железа и проверкой железа при начале работы.....
8. Naposaram 290 31.05.15 11:20 Сейчас в теме
(7) seermak, да в чем то вы правы, привязываем к железу но не к жлезу компа =), что позволяет использовать данную флешку на любом ПК.
4. delete 253 31.05.15 08:26 Сейчас в теме
имхо, без шифрования исходных текстов, такая защита ничего не стоит
достаточно закомментировать вызов обработки и вы состоялись как хакер)
FesenkoA; simplysimply; jaroslav.h; adhocprog; Uncore; Serega-artem; kolya_tlt; madonov; seregasame; zarius; Silenser; MaxDavid; SGordon1; dmitry1975; u_n_k_n_o_w_n; ser6702; alex_4x; awk; Brawler; JesteR; Йожкин Кот; quebracho; +22 Ответить
9. davdykin 25 31.05.15 14:16 Сейчас в теме
(4) delete, Это понятно, но шифровать модуль в который залочены часть процедур основных бизнес процессов, и который проверяет данную флешку не такая проблема (Так реализована защита почти всех отраслевых решений)
5. TODD22 18 31.05.15 09:12 Сейчас в теме
У нас то же есть на работе ключи защиты. Как реализовано не знаю не смотрел принцип. Но суть в том что на флешку записывается файл-ключ.
Если на другую флешку его скопировать то работать не будет.
10. davdykin 25 31.05.15 14:23 Сейчас в теме
В данном способе смущает только одно - использование dll, т.к. могут быть проблемы при обновлении на следующую версию системы или на конкретной клиентской машине, а dll это черный ящик, без возможности корректировки и отладки. Было бы интересней, если бы это было реализовано с помощью встроенного языка. Из него вызывать скриптовые языки для получения информации о железе, а с помощью средств шифрования платформы (по-моему такие есть) формировать уже хэши, но это так на вскидку :).
12. Naposaram 290 31.05.15 16:06 Сейчас в теме
(10) davdykin, про какую версию системы говорите 1С или ОС? Пока за 6 месяцев проблем не было. А до встроенных средств платформы руки не доходят =)
(11) vano-ekt, ну можно сменить серийник, потом сменить PID и VID флешки если получится, но можно еще придумать кучу информации которую можно запихнуить в файл...
14. davdykin 25 01.06.15 06:17 Сейчас в теме
(12) Я говорил о версии ОС. Просто я имею ввиду, что для всех, кроме вас, это черная коробочка, ни разобраться в ней, ни исправить, в случаи возникновения каких-либо заморочек - невозможно. И это слабое место этого решения.
15. Naposaram 290 01.06.15 08:50 Сейчас в теме
(14) davdykin, в таком понимании согласен с вами. Но если у кого возникнут заморочки то постараемся помочь разобраться и или вместе решим =) новые заморочки новый опыт, новые знания...
11. vano-ekt 123 31.05.15 15:52 Сейчас в теме
а прошить флешку с нужным серийником разве проблема?
13. LexSeIch 210 01.06.15 05:57 Сейчас в теме
Мир этому дому!
Идеальной защиты не существует - все зависит от стоимости ее взлома... Но иногда, достаточно иметь "защиту от дурака" - для этой цели решение вполне рабочее. Тем более предлагается готовое решение, с возможностью расширения функционала. Это может быть не только элемент защиты кода, но и, например элемент "шифрования" информации...
Исключение; Yury1001; link_l; dddxddd; Naposaram; davdykin; +6 Ответить
16. JesteR 151 01.06.15 08:52 Сейчас в теме
(13) LexSeIch, такую примитивную защиту можно и без флешки замутить, к чему такие сложности.
17. Naposaram 290 01.06.15 08:57 Сейчас в теме
(16) JesteR, я критику только приветствую, можете написать какие для вас здесь сложности? или как бы вы реализовали?
31. JesteR 151 03.06.15 10:22 Сейчас в теме
(17) буду честен. Сам я такое никогда не делал, не было нужды. По ссылке ниже и без флешки и dll описан один из примеров реализации:
www.nashe1c.ru (с) Андрей Скляров
Naposaram; +1 Ответить
33. Naposaram 290 03.06.15 10:30 Сейчас в теме
(31) JesteR, спасибо за ссылку, изначально были задумки с реестром, искал примеры работы с реестром но че то не встречались и данную статью не встречал. Вечерком надо будет посмотреть внимательнее...

(32) Yimaida, полностью согласен...
Те кому надо (враги) придут и заберут сервер со всеми потрохами


18. davdykin 25 01.06.15 09:04 Сейчас в теме
(16) JesteR, Критикуя - предлагайте, иначе смысла в вашей критике...
mt111; link_l; Naposaram; +3 Ответить
19. alex_4x 85 02.06.15 10:20 Сейчас в теме
Да никто не критикует. Разработка замечательная, но как защита - она ничего не защищает.
Применение например такое: Враги могут прийти и запустить программу. Надо как-то сделать так, чтобы если они запустят "не санционированно", то увидили другое, нежели нужно. Вот тут этот ключик проверяется, но с таким же успехом можно проверять просто наличие файла на сетевом ресурсе или по определенному URL запросу или еще кучей, просто реально кучей способов определить "все ли спокойно в Багдаде".
Если же говорить о защите, то тут надо как-то шифровать или выносить во внешнее шифрованное хранилище сам 1С овский код.
20. Naposaram 290 02.06.15 10:39 Сейчас в теме
(19) alex_4x,

Враги могут прийти и запустить программу. Надо как-то сделать так, чтобы если они запустят "не санционированно", то увидили другое, нежели нужно. Вот тут этот ключик проверяется, но с таким же успехом можно проверять просто наличие файла на сетевом ресурсе или по определенному URL запросу или еще кучей, просто реально кучей способов определить "все ли спокойно в Багдаде".


Думал и о файликах (на диске/фтп и т.п.) - но пришел к выводу, что это совсем не то, таким образом в базу зайдет любой зная пароль пользователя, ведь доступ к файлу будет всегда... А тут вытащил флешку и все, тока в конфигураторе править что бы войти...

Если же говорить о защите, то тут надо как-то шифровать или выносить во внешнее шифрованное хранилище сам 1С овский код.

Тут согласен да необходимо что то придумывать, но смотря как реализована защита у отраслевых конфигураций, там с этим на столько не замарачиваются, модуль запаролили и все.
П.С. Может на счет отраслевых не прав, особо не смотрел как там реализовано.
21. alex_4x 85 02.06.15 11:16 Сейчас в теме
(20) Я понимаю что обидно, но весь этот проделанный нелегкий труд - бессмысленен.
Копайте в сторону шифрации модулей - это будет реально применимо.
22. Naposaram 290 02.06.15 11:34 Сейчас в теме
(21) alex_4x, да вы что ни какой обиды =) наоборот только позитив от того, что вы заинтересовались, обдумали и высказали что считаете нужно... я еще раз обдумал, что сделал, в чем то лишний раз убедился в чем то понял что ошибся, в чем то заинтересовался... опыт от общения с положительно настроенным человеком, у которого нет цели оскорбить или высмеять, всегда находит место быть... =)
23. ivanov660 4325 02.06.15 14:49 Сейчас в теме
Надежнее разместить функцию проверки в сети интернет, где хранить информацию о привязке ключа к параметрам компьютера и при изменении условий сообщать о необходимости запроса лицензии.Также встречал функционал компиляции кода на удаленно.
В типовых конфигурациях встречал проверку наличия защиты при вызове основных/базовых процедур, а не только при старте системы.В этом случае ключ возвращал определенный код, который динамически исполнялся и определял дальнейшее действие в бизнес процессе.
24. Naposaram 290 02.06.15 15:33 Сейчас в теме
(23) ivanov660,

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


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

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


Так же и здесь, можно впихнуть в любую часть конфигурации и как то завуалировать...
25. vde69 925 03.06.15 08:40 Сейчас в теме
кто мешает убить защиту вот так:

//ОткрытьФорму("Обработка.ПроверитьНаличиеКлючаЗащиты.Форма.Форма");

такое под силу любому студенту....
27. Naposaram 290 03.06.15 08:59 Сейчас в теме
(25) vde69, никто не мешает... пароль от пользователя с полными правами надо беречь =) и ни кому не давать =)
(26) vde69, угу... тоже вариант...
52. maksa2005 528 29.10.15 15:37 Сейчас в теме
Идея хорошая.(25) vde69,
но если вы не Администратор конфигурации, то как вы попадете в неё чтобы поставить //
Я понимаю, в файловом варианте можно взломать методом удаления паролей в файле))
А если у вас на сервере стоит 1с. SQL. Только у админа есть доступ к конфигурации. То метод хорош.
53. zarius 184 29.10.15 16:03 Сейчас в теме
(52)
Метод заслуживает внимания, но, как уже тут упоминалось:
1. хорошо бы отказаться от dll (статья для размышления)
2. вообще уйти от локального USB, ибо зачастую НЕТ доступа у пользователя к USB (либо не должно быть)
26. vde69 925 03.06.15 08:49 Сейчас в теме
наверно сабж можно применять не для защиты а для подписей, на флешке хранится открытый и закрытый ключ,

при начале работы 1с копирует себе открытый ключ и идентифицирует его с конкретным пользователем, при попытке "подписать" 1с берет с флешки закрытый ключ и им шифрует данные (сразу добавляя к ним открытый ключ), то есть будет вполне надежная ЭЦП без всяких толкинов и центров выдачи сертификатов.

конечно такая система не идеально, но лучше чем ничего :)
Sybr; Naposaram; +2 Ответить
28. panihinnv 15 03.06.15 09:01 Сейчас в теме
Задумка интересная, только если флешка помрет, делать новую, трата времени, да и код можно закоментировать, просто защита от дурака. Но автор молодец!
29. Naposaram 290 03.06.15 09:10 Сейчас в теме
(28) panihinnv, Спасибо за позитив.
Да закомментировать можно и тут надо что то придумывать... Может кто подкинет идеи?
А если флешка помрет то новую сделать не сложно, дольше идти в магазин за новой... Я думаю если взять флешку ~256mb то создать из нее новую займет не более минуты, пробовал на 8Gb заняло 2 минуты, самое долгое форматирование... =)
30. wolfsoft 2421 03.06.15 09:39 Сейчас в теме
ИМХО, для примитивной защиты от простого юзера слишком сложно, а от "продвинутого" - слишком бесполезно, ибо "ломается" комментированием одной строки в коде.
32. Yimaida 37 03.06.15 10:24 Сейчас в теме
Думаю, правильно было бы рассматривать все в комплексе. Т.е. как организована работа системы.
1. Пользователи не должны быть с правами администратора (тогда всякого рода хакинг базы сведен к минимуму).
2. Нет доступа к конфигуратору (если у пользователя ""Полные права" то закомментировать нужную строчку проблем нет, хотя и займет немного времени).

Из опыта скажу, что любая защита лучше чем ее отсутствие, т.к. правильно здесь было замечено про стоимость взлома и т.п. Думаю, что любой кто бы такое встретил при запуске и подумать бы не смог что хакинг сведется к комментированию строчки кода, как минимум ожидаешь зашифрованный модуль или модуль без поставки кода. Те кому надо (враги) придут и заберут сервер со всеми потрохами, а от обычных юзеров "защита" сойдет. Если использовать как защиту кода (конфигурации) от повторного использования, то явно не подходит.
Naposaram; +1 Ответить
34. folo 222 03.06.15 10:42 Сейчас в теме
(32) Yimaida, К сожалению для настройки программы или учетной политики нужны именно права администратора.
Поэтому бухгалтеру приходится такие права давать (хотя бы на время). Иначе будете работать за них и отвечать за то как все настроено.
И вопрос автору - как флешка будет проверяться в случае сетевой версии с других компьютеров ?
Лет 20 назад делал защиту по номеру диска С. Команда "VOL c: > log.log" - т.е. ответ пишем в файл и далее читаем оттуда уникальный номер диска С: на компе. Сравниваем с зашифрованным при первоначальной инсталляции.
Вообще флешка не нужна. Но проблемы те же,нужно только в ПриНачалеРаботыСистемы добраться.
35. Naposaram 290 03.06.15 10:46 Сейчас в теме
(34) folo, может ошибаюсь, давно права в БП не смотрел, разве роль Администратора дает право на конфигурирование?
36. Yimaida 37 03.06.15 11:34 Сейчас в теме
(35) Думаю, возникла небольшая путаница. "Администратор" это имеется в виду для винды, а "Полные права" для 1с, а folo употребил "Администратор" вместо "Полные права".
42. v3rter 10.06.15 10:21 Сейчас в теме
PID и VID... Допустим, закупаю я на бухгалтерию 5 одинаковых флешек под ключи, VID и PID у них, скорее всего совпадут.
Инсайдер может узнать поставщика организации, закупить у него такую же флешку, и скорее всего, она будет с тем же VID и PID.

Идея хорошая, но мне кажется одних PID и VID маловато будет.

Никогда не прикручивал к 1С WMIC, но подозреваю, что посмотреть нужные данные можно и без внешней dll,
разбором, например, выдачи консольной команды:

wmic path Win32_USBControllerDevice


(34) "Vоlume serial" хорошая штука, выдерживает форматирование и мало кто знает в лицо утилиты по его замене.

Аналогичная защита была бы интересна как дополнительный слой защиты от выноса базы ушлыми сотрудниками за пределы сервера.
37. DrAku1a 1678 04.06.15 04:14 Сейчас в теме
Для "простого" пользователя - и пароля как средства защиты достаточно. Лень вводить пароль? Сделайте авторизацию по AD. С настройкой автоблокировки экрана при бездействии в течении пары минут. Забыть флешку в накопителе - также просто, как и забыть заблокировать экран.
38. GusevNA 359 04.06.15 13:52 Сейчас в теме
Можно в текстовый файл зашить какой-нибудь 1С-код, и выполнять его камандой "Вычислить" или "Выполнить".

Можно часть кода - тогда можно без "Вычислить" или "Выполнить", поскольку Вычислить-Выполнить вроде не всех клиентах работает. Например, имя поля какой-нибудь структуры. Тогда будет, например, обычный 1С-код и имя поля структуры в переменной из файла защиты, можно сериализованное сжатое ХранилищеЗначения положить в файл защиты с разными данными или кусочками кода 1С.

Вызывать проверку в нескольких местах.

Тогда банальный коммент вызовов проверки защиты не прокатит, поскольку не выполнится нужный 1С-код.
Naposaram; +1 Ответить
39. Naposaram 290 04.06.15 16:01 Сейчас в теме
(38) GusevNA, можно и так... можно что угодно в файлик засунуть потом вытащить и проверить или выполнить...
40. pro1c@inbox.ru 185 09.06.15 22:25 Сейчас в теме
Лучшая защита - это трансформация данных!
Вставляете при начале работы запрос некоторого серийного номера, который выдаете и проверяете при запуске.
Неверный введенный серийник - выдаете сообщение "Программа не активирована. Купите серийный номер"
Никакие сообщения не возникают более. Продвинутый пользователь (типа хакер) радостный фиксит данную проверку и радуется.
Но в конфигурации, по времени и в разных местах расставлены доп. проверки, которые вылезают в самый неподходящий момент!
Делал так не однократно, звонили мне и покупали все таки конфу, администратора (типа хакера) ругали и мучали за "коммунизм"!
Работает такой механизм на "УРА!" и не надо никаких привязок к железу, флэшек и т.д.
При выпуске обновлений расставляет новые капканы, наступает момент, когда проще купить или отказаться, нежели фиксить все это хозяйство!
При этом все открыто! Найди, если хочешь!

Как то так...
monkbest; 1attimo; fillipok; GusevNA; Naposaram; +5 Ответить
41. Naposaram 290 10.06.15 08:26 Сейчас в теме
(40) pro1c@inbox.ru, довольно интересно, но немного не понял что значит:

трансформация данных
46. pro1c@inbox.ru 185 10.06.15 20:20 Сейчас в теме
(41)
это кода ноль - становится единицей!
когда слово "да" исправляется на "нет"
когда к итоговой сумме прибавляется случайное число от 1 рубля до 100 рублей, например.
т.е. защита не кричит об ошибке. ошибку видно потом, но Вы не виноваты! конфигурацию ведь - не купили!
47. webester 26 12.06.15 13:31 Сейчас в теме
(46)То же самое что и добраться до процедуры "При открытии". То есть в какой то момент, нашли проблему. Посмотрели в коде, где косяк. Нашли косяк посмотрели какими методами реализована "зашита", проанализировали глобальным поиском конфигурацию, на похожие места.
50. pro1c@inbox.ru 185 15.06.15 22:27 Сейчас в теме
(47) webester,
модули защиты варьировать, не повторяться... расставлять в неудобных местах...
43. alex_4x 85 10.06.15 11:49 Сейчас в теме
Меня вот реально интересует следующее: Умеет ли кто нибудь из тут присутствующих подменять исполняемый на форме или в модуле код ? То есть то что это возможно - я уверен, ведь этот текст просто считывается 1С-кой из бызы 1С и выполняется, значит как-то можно этот код подменить. Оператор Выполнить (КусокКода) - это не серьезно, большой кусок кода им не исполнить.
44. v3rter 10.06.15 12:46 Сейчас в теме
(43) Из общих модулей и модулей объектов код можно выпиливать, в модулях форм код можно обфусцировать (пример обфускатора http://infostart.ru/public/15907/ ), можно придумать какой угодно свой динамический интерпретатор (подобные технологии были придуманы и обкатаны ещё в MSDOS-вирусах), вариантов масса.

Сложно соблюсти баланс между простотой установки типовых обновлений на защищённую конфигурацию и сложностью выпиливания защиты.
45. alex_4x 85 10.06.15 14:54 Сейчас в теме
(44) v3rter, Скажите пожалуйста как выпиливать код из модулей ???
Можно примерчик обработки с выпеленным кодом (ну чтобы кнопку нажимаешь, он пишет "- привет мир!")
Или это надо какие-то платные и не на любой платформе работающие специальные напильники покупать ?

Обфускация - тема зачётная. Но я хочу понять про полную подмену (в одном случае один код, в другом - полностью другой чтобы был)

Спасибо!
48. v3rter 15.06.15 12:43 Сейчас в теме
(45) "Выпилить" можно только в модулях конфигурации. Вот тут обсуждали детали: http://forum.infostart.ru/forum26/topic74028/

Для тех, кому интересно: получаем консольной командой метку тома и серийный номер тома для всех подключенных флешек

WMIC LogicalDisk WHERE "DriveType='2' AND Name<>'A:' AND Name<>'B:'" GET Name, VolumeSerialNumber, VolumeName


(на всякий случай, если будет кем-то прочтено без контекста: серийный номер отформатированного раздела, а не железа флешки)
49. alex_4x 85 15.06.15 12:53 Сейчас в теме
(48) v3rter, Поставка без "кода" или с паролем - это блеф. Там весь код остается, его сто лет в обед через плагины и обработкой расшифровки достать можно.
Вопрос как код полностью взять из другого источника.
51. Dragonim 139 17.06.15 09:09 Сейчас в теме
А что мешает использовать клиент-серверный вариант 1С с настроенным входом через домен, а уже в самом домене настраивать всё как вам угодно? Зачем лишний физический посредник? Что он даёт?

Извиняюсь. Перечитал введение и понял что это способ защиты конфигурации, а не информации в конфигурации. Вопрос отпал.
54. ANT721455 29.03.17 11:56 Сейчас в теме
Это не защита. Уберите громкое название из заголовка статьи. Вся это "котовасия" рушится при комментировании строки ОткрытьФорму("Обработка.ПроверитьНаличиеКлючаЗащиты.Форма.Форма")
С аналогичным успехом можно было просто создать текстовый файлик на флешке и прописать туда что угодно...
5 см за такое - вы меня извините - это уровень старших классов средней школы.
k268kk; Zhilyakovdr; +2 1 Ответить
55. Naposaram 290 29.03.17 13:02 Сейчас в теме
(54) Да вы прям хакер ))) Вы возможно не поняли суть и назначение.
56. spy-83 198 29.03.17 21:32 Сейчас в теме
я вот тоже не понял сути.
закомментировали строку проверки и все.

1. Где закрытый код который не работает если не выполняется проверка ключа?
2. Если я работаю на Маке? то все? метод не применить?
А Маководов кстати становится все больше.
57. GSA3D 20.07.17 09:49 Сейчас в теме
а информацию о накопителе можно и без dll вроде получить http://infostart.ru/public/17199/
58. user916368 24.07.20 14:57 Сейчас в теме
Добрый день,я установил драйвер,но когда создаю ключ зашиты ,пишет так
Путь к USB накопителю: F:\
Определяем информацию о накопителе...
Данные USB накопителя не определены.
не удалось подключится к флешке.в системе не установлен драйвер:
59. Naposaram 290 24.07.20 22:32 Сейчас в теме
(58) Вас нет в писке пользователей, скачавших эту обработку. Сообщите дату когда вы скачивали.
60. user916368 27.07.20 10:01 Сейчас в теме
я скачивал другим пользователем ,пароль каторого забил ,но все файлы у меня есть:
61. simonovich 21.01.21 14:45 Сейчас в теме
И мы снова выходим на Дерибасовскую :) (с)анек.

Существует 100500 более / менее простых способов привязаться к некоему объекту окружения.
Это может быть:
- Размеры и конфигурация винтов на сервере;
- Мак-адрес одного из сетевых адаптеров;
- IP сервера;
- Наличие / доступность компа в сети;
- Наличие / доступность службы на внешнем компе: к примеру запустил ты у себя дома FTP сервер, и пока он работает, работает и клиентская 1с :);
- ДИСКЕТА !!! (в наше время сложно повторить :)
ну и т.д.
62. user1649012 19.08.21 15:09 Сейчас в теме
Добрый день. Только что скачал. Проблема.

С правами администратора зарегистрировал успешно USBinfo.dll

При создании ключа пишет
Путь к USB накопителю: H:\
Определяем информацию о накопителе...
Данные USB накопителя не определены.
63. UPKA 14.10.21 13:09 Сейчас в теме
Подскажите, на данный момент рабочее решение?
Оставьте свое сообщение