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

28.03.17

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Ключ защиты из USB накопителя для 8.3
.7z 88,04Kb ver:1.0
43
43 Скачать (5 SM) Купить за 3 050 руб.

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

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

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    2725    11    aximo    5    

2

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

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

2 стартмани

30.01.2023    2143    2    olevlasam    3    

3

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

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

1 стартмани

04.12.2022    3584    16    keyn5565`    0    

14

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

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

2 стартмани

31.08.2022    4470    9    vit59    2    

6

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

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Работает только в файловом варианте с версии платформы 8.3.22.1368 из-за конструктора ГенераторСлучайныхЧисел, поскольку алгоритм был изменён.

10 стартмани

16.06.2022    12756    106    ZhokhovM    12    

45

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

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

2 стартмани

09.03.2022    6145    3    ge_ni    9    

2

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

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

1 стартмани

27.12.2021    5107    2    idm80    12    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. webester 26 31.05.15 03:01 Сейчас в теме
Я немного не понял, если пользователь прочтет эту статью, скачает эту обработку, он просто сможет сделать себе нужное количество флешек?
6. Naposaram 301 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 301 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 19 31.05.15 09:12 Сейчас в теме
У нас то же есть на работе ключи защиты. Как реализовано не знаю не смотрел принцип. Но суть в том что на флешку записывается файл-ключ.
Если на другую флешку его скопировать то работать не будет.
10. davdykin 25 31.05.15 14:23 Сейчас в теме
В данном способе смущает только одно - использование dll, т.к. могут быть проблемы при обновлении на следующую версию системы или на конкретной клиентской машине, а dll это черный ящик, без возможности корректировки и отладки. Было бы интересней, если бы это было реализовано с помощью встроенного языка. Из него вызывать скриптовые языки для получения информации о железе, а с помощью средств шифрования платформы (по-моему такие есть) формировать уже хэши, но это так на вскидку :).
12. Naposaram 301 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 301 01.06.15 08:50 Сейчас в теме
(14) davdykin, в таком понимании согласен с вами. Но если у кого возникнут заморочки то постараемся помочь разобраться и или вместе решим =) новые заморочки новый опыт, новые знания...
11. vano-ekt 124 31.05.15 15:52 Сейчас в теме
а прошить флешку с нужным серийником разве проблема?
13. LexSeIch 211 01.06.15 05:57 Сейчас в теме
Мир этому дому!
Идеальной защиты не существует - все зависит от стоимости ее взлома... Но иногда, достаточно иметь "защиту от дурака" - для этой цели решение вполне рабочее. Тем более предлагается готовое решение, с возможностью расширения функционала. Это может быть не только элемент защиты кода, но и, например элемент "шифрования" информации...
Исключение; Yury1001; link_l; dddxddd; Naposaram; davdykin; +6 Ответить
16. JesteR 153 01.06.15 08:52 Сейчас в теме
(13) LexSeIch, такую примитивную защиту можно и без флешки замутить, к чему такие сложности.
17. Naposaram 301 01.06.15 08:57 Сейчас в теме
(16) JesteR, я критику только приветствую, можете написать какие для вас здесь сложности? или как бы вы реализовали?
31. JesteR 153 03.06.15 10:22 Сейчас в теме
(17) буду честен. Сам я такое никогда не делал, не было нужды. По ссылке ниже и без флешки и dll описан один из примеров реализации:
www.nashe1c.ru (с) Андрей Скляров
Naposaram; +1 Ответить
33. Naposaram 301 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 87 02.06.15 10:20 Сейчас в теме
Да никто не критикует. Разработка замечательная, но как защита - она ничего не защищает.
Применение например такое: Враги могут прийти и запустить программу. Надо как-то сделать так, чтобы если они запустят "не санционированно", то увидили другое, нежели нужно. Вот тут этот ключик проверяется, но с таким же успехом можно проверять просто наличие файла на сетевом ресурсе или по определенному URL запросу или еще кучей, просто реально кучей способов определить "все ли спокойно в Багдаде".
Если же говорить о защите, то тут надо как-то шифровать или выносить во внешнее шифрованное хранилище сам 1С овский код.
20. Naposaram 301 02.06.15 10:39 Сейчас в теме
(19) alex_4x,

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


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

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

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

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


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

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


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

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

такое под силу любому студенту....
27. Naposaram 301 03.06.15 08:59 Сейчас в теме
(25) vde69, никто не мешает... пароль от пользователя с полными правами надо беречь =) и ни кому не давать =)
(26) vde69, угу... тоже вариант...
52. maksa2005 551 29.10.15 15:37 Сейчас в теме
Идея хорошая.(25) vde69,
но если вы не Администратор конфигурации, то как вы попадете в неё чтобы поставить //
Я понимаю, в файловом варианте можно взломать методом удаления паролей в файле))
А если у вас на сервере стоит 1с. SQL. Только у админа есть доступ к конфигурации. То метод хорош.
53. zarius 187 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 16 03.06.15 09:01 Сейчас в теме
Задумка интересная, только если флешка помрет, делать новую, трата времени, да и код можно закоментировать, просто защита от дурака. Но автор молодец!
29. Naposaram 301 03.06.15 09:10 Сейчас в теме
(28) panihinnv, Спасибо за позитив.
Да закомментировать можно и тут надо что то придумывать... Может кто подкинет идеи?
А если флешка помрет то новую сделать не сложно, дольше идти в магазин за новой... Я думаю если взять флешку ~256mb то создать из нее новую займет не более минуты, пробовал на 8Gb заняло 2 минуты, самое долгое форматирование... =)
30. wolfsoft 2421 03.06.15 09:39 Сейчас в теме
ИМХО, для примитивной защиты от простого юзера слишком сложно, а от "продвинутого" - слишком бесполезно, ибо "ломается" комментированием одной строки в коде.
32. Yimaida 38 03.06.15 10:24 Сейчас в теме
Думаю, правильно было бы рассматривать все в комплексе. Т.е. как организована работа системы.
1. Пользователи не должны быть с правами администратора (тогда всякого рода хакинг базы сведен к минимуму).
2. Нет доступа к конфигуратору (если у пользователя ""Полные права" то закомментировать нужную строчку проблем нет, хотя и займет немного времени).

Из опыта скажу, что любая защита лучше чем ее отсутствие, т.к. правильно здесь было замечено про стоимость взлома и т.п. Думаю, что любой кто бы такое встретил при запуске и подумать бы не смог что хакинг сведется к комментированию строчки кода, как минимум ожидаешь зашифрованный модуль или модуль без поставки кода. Те кому надо (враги) придут и заберут сервер со всеми потрохами, а от обычных юзеров "защита" сойдет. Если использовать как защиту кода (конфигурации) от повторного использования, то явно не подходит.
Naposaram; +1 Ответить
34. folo 226 03.06.15 10:42 Сейчас в теме
(32) Yimaida, К сожалению для настройки программы или учетной политики нужны именно права администратора.
Поэтому бухгалтеру приходится такие права давать (хотя бы на время). Иначе будете работать за них и отвечать за то как все настроено.
И вопрос автору - как флешка будет проверяться в случае сетевой версии с других компьютеров ?
Лет 20 назад делал защиту по номеру диска С. Команда "VOL c: > log.log" - т.е. ответ пишем в файл и далее читаем оттуда уникальный номер диска С: на компе. Сравниваем с зашифрованным при первоначальной инсталляции.
Вообще флешка не нужна. Но проблемы те же,нужно только в ПриНачалеРаботыСистемы добраться.
35. Naposaram 301 03.06.15 10:46 Сейчас в теме
(34) folo, может ошибаюсь, давно права в БП не смотрел, разве роль Администратора дает право на конфигурирование?
36. Yimaida 38 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 1746 04.06.15 04:14 Сейчас в теме
Для "простого" пользователя - и пароля как средства защиты достаточно. Лень вводить пароль? Сделайте авторизацию по AD. С настройкой автоблокировки экрана при бездействии в течении пары минут. Забыть флешку в накопителе - также просто, как и забыть заблокировать экран.
38. GusevNA 361 04.06.15 13:52 Сейчас в теме
Можно в текстовый файл зашить какой-нибудь 1С-код, и выполнять его камандой "Вычислить" или "Выполнить".

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

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

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

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

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

Сложно соблюсти баланс между простотой установки типовых обновлений на защищённую конфигурацию и сложностью выпиливания защиты.
45. alex_4x 87 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 87 15.06.15 12:53 Сейчас в теме
(48) v3rter, Поставка без "кода" или с паролем - это блеф. Там весь код остается, его сто лет в обед через плагины и обработкой расшифровки достать можно.
Вопрос как код полностью взять из другого источника.
51. Dragonim 142 17.06.15 09:09 Сейчас в теме
А что мешает использовать клиент-серверный вариант 1С с настроенным входом через домен, а уже в самом домене настраивать всё как вам угодно? Зачем лишний физический посредник? Что он даёт?

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