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

Публикация № 362495 31.05.15

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

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

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

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

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

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 накопителя для 8.3

.7z 88,04Kb
43
.7z 1.0 88,04Kb 43 Скачать

Специальные предложения

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

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


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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Изменение конфиденциальной информации (обработка, управляемые формы) Промо

Обработка документов Обработка справочников Защита ПО и шифрование Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка позволяет полностью заменить в базе все конфиденциальные данные - все поля справочников, суммы в документах и прочие значения объектов. Идентична по функционалу обработке с ИТС "Изменение конфиденциальной информации", но работает под управляемыми формами и в интерфейсе "Такси". Есть гибкая настройка тех данных, которые необходимо удалять.

1 стартмани

17.05.2015    41138    171    primat    25    

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

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

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

2 стартмани

31.08.2022    987    2    vit59    2    

Обфусцировщик

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

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

10 стартмани

16.06.2022    3528    27    ZhokhovM    9    

Антидекомпилятор

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

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

5 стартмани

03.06.2022    4193    29    ZhokhovM    28    

Создание "обезличенной" демо базы 8,1,8.2 и 8.3 Управляемые и обычные формы. Промо

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

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

1 стартмани

03.12.2010    36756    288    milkers    10    

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

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

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

2 стартмани

09.03.2022    3047    0    ge_ni    9    

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

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

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

1 стартмани

27.12.2021    2768    2    idm80    10    

Пример работы с криптографией в Web-клиенте 1С

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

Столкнулся с проблемой отсутствия примеров кода по работе в Web-клиенте 1С с криптографией. Свою задачу решил, выкладываю сюда, может, кому пригодится.

1 стартмани

20.12.2021    3185    6    Derushev    1    

Подписываем файлы с помощью ЭЦП средствами 1с Промо

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

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

1 стартмани

05.09.2013    83902    483    anig99    29    

Создание "ДЕМО" базы, скрытие конфиденциальной информации

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

С помощью обработки вы можете до неузнаваемости преобразовать базу клиента.

1 стартмани

26.10.2021    3032    3    VitushVV    0    

Генератор контента

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

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

1 стартмани

12.10.2021    2676    6    mkalimulin    2    

Защита конфигурации 1С (без внешних компонент, супер легкая и быстрая) Промо

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

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

3 стартмани

11.05.2012    51172    166    Kyrales    48    

Анонимная база, обезличивание данных в базах 1С. Управляемые формы

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

Обработка презназначена для обезличивания данных в справочниках базы данных, если база передается стороннему контрагенту или разработчику. Подходит для любой конфигурации на Управляемых формах. Тестировалось на самописных конфигурациях. 1С:Предприятие 8.3 (8.3.18.1334)

1 стартмани

13.08.2021    4369    23    uribur    12    

Присоединенная ЭЦП средствами платформы

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

Без внешних компонент.

6 стартмани

06.08.2021    6609    18    sivin-alexey    1    

Шифрование по алгоритму RSA. Внешняя библиотека (*.dll)

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

Внешняя библиотека для шифрования данных в 1С по алгоритму RSA открытым ключом. Открытый ключ задаем сами, и передаем в качестве параметра.

10 стартмани

07.07.2021    6818    15    itserve    20    

Контур Диадок API. Аутентификация. Сертификат ЭЦП

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

Подробно рассматриваем процесс аутентификации в системе Контур.Диадок при помощи сертификата электронной цифровой подписи. Получаем аутентификационный токен и выполняем простой запрос для проверки работоспособности токена.

1 стартмани

01.04.2021    7123    24    elian    9    

Криптография (шифрование) на эллиптических кривых

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

Тема шифрования сейчас очень популярна, а шифрование на эллиптических кривых является топом, поскольку считается одним из самых надежных криптографических алгоритмов (и поэтому используется в Bitcoin и других криптовалютах, SSL протоколе и т.д.). У меня же возник интерес - а возможно ли реализовать шифрование на эллиптических кривых средствами 1С... и теперь мне известен ответ.

3 стартмани

12.01.2021    10059    8    ikar-nikolay    12    

Занимательные задачи

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

Решение занимательных задач средствами 1С

1 стартмани

25.11.2020    4484    0    agressor    3    

Практика применения XOR. XOR кодирование строковых полей с помощью ключа. Побитовые операции

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

В данной статье я расскажу о битовой операции XOR (исключающее ИЛИ) и приведу наиболее интересные примеры ее применения на 1С методами платформы. Обмен значений переменных без использования дополнительной переменной.

1 стартмани

06.11.2020    6601    12    kv.lv    4    

4 лабораторные работы по шифрованию и хешированию данных средствами 1С

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

Знакомил студентов с шифрованием (и хешированием) данных штатными средства платформы «1С:Предприятие 8». Материалы превратились в четыре лабораторные работы: Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера; Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера с использованием контрольной (хеш) суммы; Метод симметричного шифрования; Использование хеш-суммы для контроля изменения значений справочника.

2 стартмани

02.11.2020    7523    3    delta    2    

Подпись данных алгоритмами SHA + AES собственным модулем

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

Реализация подписи данных ключом длиной 256 бит алгоритмами SHA-256 + AES-256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

2 стартмани

01.11.2020    7148    6    1div0    8    

Быстрый алгоритм шифрования AES ECB 128/192/256

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

Реализация существенно оптимизированного алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

1 стартмани

30.10.2020    10648    49    1div0    49    

Обфускатор операционного кода 1С

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

Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)

3 стартмани

18.09.2020    14544    66    MoiseevSN    65    

Бекдор для 1С или как обезопасить свои данные

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

Как обезопасить данные информационной базы и не стать жертвой "ЗЛЫХ" программистов.

3 стартмани

25.06.2020    3736    1    Doloris0    1    

Алгоритм ECDSA для кривых SECP256k1 (Биткоин/Лайткоин)

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

Реализация алгоритма ECDSA для кривых SECP256k1, которые лежат в основе Биткоин.

1 стартмани

19.06.2020    7782    7    NikitaXa    3    

Алгоритм шифрования AES ECB 128/192/256

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

Реализация алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент и zip-файлов.

1 стартмани

20.04.2020    12887    34    NikitaXa    12    

Мобильная платформа. Шифрование строк в Android при помощи внешней компоненты

Разработка внешних компонент Защита ПО и шифрование Мобильная платформа Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Шифруем строки.

3 стартмани

15.04.2020    8025    1    kinan    0    

Кодирование / декодирование в Base58 без использования внешних компонент

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

Функции кодирование / декодирование строки в Base58 без использования внешних компонент. Код алгоритмов доступен в полном описании статьи.

1 стартмани

14.11.2019    10858    1    ArtemSerov    23    

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

Разработка внешних компонент Мобильная разработка Защита ПО и шифрование Мобильная платформа Абонемент ($m)

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

5 стартмани

17.09.2019    12533    2    IgorKissil    9    

Криптографическое шифрование файлов

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

Обработка шифрует и дешифрует файлы. 

1 стартмани

03.09.2019    7792    4    shell_maxim    0    

Запутывание кода 1С

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

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

2 стартмани

02.09.2019    20563    90    leoxz    66    

Защищаем конфигурацию. Один ключ СЛК для всех клиентов

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

Пользователь защищенной конфигурации вводит регистрационный номер и код доступа. Установка сервера СЛК у пользователя не требуется. Управляем лицензиями удаленно.

1 стартмани

30.08.2019    27007    31    mvxyz    67    

Электронный документооборот для украинских конфигураций

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

Подсистема электронного документооборота (в дальнейшем ЭД) является конфигурацией 1С:Предприятие, выполняющей базовые функции регистрации НН/РК и загрузки их из Реестра и способной встраиваться с минимальными изменениями в любые, в том числе нетиповые конфигурации 1С. ЭД представляет собой несколько независимых регистров сведений, справочников, документов и обработок, которые можно встроить в любую конфигурацию. «Сердцем» ЭД является обработка «ЭД: Криптопровайдер», которая экспортирует методы взаимодействия 1С с криптобиблиотекой ИИТ

1 стартмани

30.06.2019    9778    25    Asdam    2    

Проверка пинкода для мобильного приложения

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

Простая проверка с помощью пинкода на вход в мобильное приложение.

3 стартмани

16.04.2019    7925    3    bashinsky    3    

Кодирование Base64

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

Обработка кодирования декодирования строки алгоритмом Base64 через использования потоков.

1 стартмани

18.02.2019    10628    12    BigTaur    6    

Подписываем отчёт об исполнении контрактов ГОЗ или приказ №554

Защита ПО и шифрование Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Государственные, бюджетные структуры Россия Абонемент ($m)

Внешняя обработка, упрощающая подпись файла и генерацию архива с отчётом об исполнении госконтракта по Приказу №554 МО РФ

1 стартмани

06.02.2019    15679    39    semagin@gmail.com    8    

Генератор ФИО, ИНН, СНИЛС и дат рождения

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

Понадобилась мне обезличенная база биллинга на полтора миллиона лицевых счетов. Забивать существующие ФИО символом "Х" ("Иванов Иван Иванович" -> "Хххххх Хххх Хххххххх") было не интересно. Взял из существующей базы собрал мужские, женские фамилии, имена и отчества и написал генератор случайных ФИО. Также в обработке есть возможность генерировать ИНН физических лиц, СНИЛС и дат рождения.

1 стартмани

03.12.2018    26780    17    BigB    14    

"Открыть нельзя защищать!" - Где поставить запятую?

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

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

1 стартмани

16.02.2018    24062    30    adam26    17    

Шифрование перестановкой символов

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

Простое шифрование строки перестановкой символов.

1 стартмани

14.12.2017    11128    3    unregisteret    3    

ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll

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

Причиной данной разработки послужило отсутствие на данный момент криптопровайдера ЭЦП, который может работать по гостам Украины и использоваться в 1С. Для этого разработана внешняя компонента по технологии NativeAPI.

1 стартмани

11.12.2017    19892    34    Zahary    6    

Обработка шифрования ключом

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

Обработка шифрования введенной строки. Платформа 8.3 (обычное приложение). В обработке реализован механизм XOR шифрования на платформе 8.3. Может быть полезна при решении задач с шифрованием паролей или текстов или чисел.

1 стартмани

05.12.2017    13720    16    timothy_    3    

Обфускация кода 1С

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

Обфускация кода 1С как вариант защиты кода.

10 стартмани

09.10.2017    48307    132    VsHome    5    

Обезличивание базы данных для КАМИН:Зарплата для бизнеса 4

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

Данная обработка обезличивает Вашу информационную базу данных. Это значит, что все фамилии, имена, отчества, ИНН, СНИЛС, серии и номера документов, будут заменены случайным набором символов.

1 стартмани

26.06.2017    14035    4    juricher    2