Простые примеры реализации демо-версий обработок на платформе «1С:Предприятие 8».

Публикация № 17199 06.05.08

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

Каждый из тех кто продает свой интеллектуальный труд, не раз сталкивался с необходимостью создания демо-версии разработки, дабы продемонстрировать клиенту функциональность, но при этом сохранить для клиента потребность в приобретении полнофункциональной версии. В этой статье я хотел бы рассмотреть несколько не сложных примеров создания демо-версий обработок/отчетов для платформы «1С:Предприятие 8».
Перед тем как приступить, собственно, к сути вопроса, хотелось бы сделать небольшое отступление для «крутых хакеров». Как известно, штатные возможности 1С, не представляют достаточно надежных средств для защиты исходного кода, поэтому приведенные здесь примеры – это исключительно защита от ПОЛЬЗОВАТЕЛЯ и ничего более.
Да и в целом, по моему глубокому убеждению, открытость кода в 1С – это одно из важнейших (если не самое важное) её достоинств. Поэтому я сторонник «установки пароля на модуль, поставки без исходного текста», только в случае демо-версии разработки. А при приобретении обработки, клиент приобретает её ЦЕЛИКОМ, в том числе и исходный код.

Для начала, немного общих моментов. Для того что бы ограничить использование нашего «уникального» функционала, будь-то алгоритм проведения документа или процедура формирования отчета, необходимо вынести код в модуль объекта и скрыть его от пользователя. Это можно достичь двумя путями. Во-первых установка пароля на модуль объекта. Что бы установить пароль, откройте модуль объекта, далее в меню «Текст» выберите пункт «Установить пароль». Во-вторых поставка без исходного кода. Что бы получить обработку/отчет без исходного кода, необходимо сначала создать поставку включающую в себя наш отчет без исходного кода, а затем сохранить его как внешний. Настройка поставки производится в диалоге «Конфигурация > Поставка конфигурации > Настройка поставки».

Итак, пример № 1. Ограничение по времени использования. Заключается в том, что функционал работает в течении определенного, ограниченного времени, например 10 дней. Для этого, нам надо как-то «запомнить» дату первого запуска, сделаем это с помощью реестра Windows.
Функция СрокДемоЗакончился()
	Перем Значение;
	RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv");
	// 2147483649 - раздел реестра HKEY_CURRENT_USER 
	RegProv.GetStringValue("2147483649","Software\1C\1Cv8\Report","StartDate",Значение);
	Если Значение=NULL Тогда	// Ключ ещё не создан, считаем этот запуск первым
		// Создадим ключ, установив значение в текущую дату
		RegProv.CreateKey("2147483649","Software\1C\1Cv8\Report");	// создание раздела
		// установка значения для ключа
		RegProv.SetStringValue("2147483649","Software\1C\1Cv8\Report","StartDate",Строка(Формат(ТекущаяДата(),"ДФ=ггггММддЧЧммсс")));
		Возврат Ложь;
	Иначе
		// проверка срока использования демо-версии
		ДатаСтарта=Дата(Значение);
		КонецПериода=ДатаСтарта+60*60*24*10;	// 10 дней
		ТекДата=ТекущаяДата();
		Возврат НЕ (ТекДата>ДатаСтарта И ТекДата<=КонецПериода);
	КонецЕсли;	
КонецФункции

Таким образом, осталось только вставить проверку на продолжение работы в нашу основную процедуру, например:
Процедура СформироватьОтчет() Экспорт
	Если СрокДемоЗакончился() Тогда
		Возврат;	
	КонецЕсли;
	…
КонецПроцедуры 

Для особо хитрых пользователей, можно сделать запрос точного времени из Интернета, что бы защититься от изменения системного времени. Например, так:
Функция ТочноеВремяПоГринвичу()
	XMLHTTP=Новый COMОбъект("MSXML2.XMLHTTP");
	XMLHTTP.Open("get","http://ntp.greenwichmeantime.com/time/scripts/clock-7/x.php",Ложь);
    	XMLHTTP.Send();
	UTC=Цел(XMLHTTP.Responsetext/1000);	// в секундах
	Возврат '19700101000000'+UTC+60*60*4;	// по Москве, летнее время
КонецФункции
Пример №2. Ограничение по количеству выполнений. То есть к примеру, отчет в демо-версии можно сформировать не более 5-ти раз. Делается аналогично предыдущему варианту, разница заключается лишь в том, что в реестр на этот раз будем записывать номер текущего запуска.
Функция СрокДемоЗакончился ()
	Перем Значение;
	RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv");
	RegProv.GetDWORDValue("2147483649","Software\1C\1Cv8\Report","Count",Значение);
	ЭтотЗапуск=1;
	Если Значение=NULL Тогда
		RegProv.CreateKey("2147483649","Software\1C\1Cv8\Report");
	Иначе
		ЭтотЗапуск=Значение+1;
	КонецЕсли;
	Если ЭтотЗапуск<=5 Тогда
		RegProv.SetDWORDValue("2147483649","Software\1C\1Cv8\Report","Count",ЭтотЗапуск);
		Возврат Ложь;
	Иначе
		Возврат Истина;
	КонецЕсли; 
КонецФункции
Пример №3. Реализация защиты «пароль-ответ». Недостаток предыдущих способов, заключается в том, что полнофункциональная версия является отдельной разработкой, которую клиенту необходимо переслать, привести, установить и т.д. При использовании же, следующего способа, всё что потребуется для получения полной версии разработки – это зарегистрировать обработку, т.е. ввести правильный код.
Суть этого способа состоит в том, что при запуске у клиента формируется некий уникальный ключ, для которого, по только нам известному алгоритму, можно сформировать «ответный пароль». И в случае совпадения пары ключ-ответ обработка считается успешно зарегистрированной.
В качестве такого уникального ключа можно, к примеру, использовать серийный номер жесткого диска, MAC-адрес, имя пользователя и т.д. Рассмотрим пример с серийным номером жесткого диска.
Функция ПолучитьСерийныйНомерЖесткогоДиска(Диск)
	ФСО=Новый COMОбъект("Scripting.FileSystemObject");
	ФСО_Диск=ФСО.GetDrive(Диск);
	Возврат ФСО_Диск.SerialNumber;
КонецФункции

Алгоритм получения «ответного значения» по ключу, ограничен лишь Вашей фантазией. Здесь же, в качестве примера, я буду использовать простую перестановку символов в обратном порядке.
Функция ПолучитьОтветПоКлючу(Ключ)
	н=СтрДлина(Ключ);
	Результат="";
	Пока н<>0 Цикл
		Результат=Результат+Сред(Ключ,н,1);
		н=н-1;
	КонецЦикла;
	Возврат Результат;
КонецФункции

Таким образом, наша процедура проверки и подтверждения регистрации будет выглядеть так:
Функция ЭтоЗарегистрированнаяКопия()
	Перем Значение,Ответ;
	RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv");
	RegProv.GetDWORDValue("2147483649","Software\1C\1Cv8\Report","Registered",Значение);
	Если Значение=NULL Тогда	// необходима регистрация копии
		Регистрация=Ложь;
		Ключ=ПолучитьСерийныйНомерЖесткогоДиска("C");
		Если ВвестиСтроку(Ответ,"Ключ: "+Ключ) Тогда
			Если Ответ=ПолучитьОтветПоКлючу(Ключ) Тогда
				// подтвердим регистрацию
				RegProv.SetDWORDValue("2147483649","Software\1C\1Cv8\Report","Registered",1);
				Регистрация=Истина;
			Иначе
				Предупреждение("Регистрационный код введен не верно!");
			КонецЕсли;
		КонецЕсли;
		Возврат Регистрация;
	Иначе	// эта копия уже зарегистрированна
		Возврат Истина;
	КонецЕсли;
КонецФункции

Осталось только вставить проверку регистрации в нашу основную процедуру:
Процедура СформироватьОтчет() Экспорт
	Если НЕ ЭтоЗарегистрированнаяКопия() Тогда
		// работа в демо-режиме
		...
	КонецЕсли;
	...
КонецПроцедуры
На данный момент, существуют различные декомпиляторы, плагины к Total Commander и др. разработки, позволяющие получить исходный программный код, даже если он закрыт паролем или поставляется в скомпилированном варианте. Дабы чуть-чуть усложнить жизнь пользователям умеющим пользоваться Google, можно ключевые моменты алгоритма, такие как работа с реестром или проверка регистрационного кода, дополнительно вынести во внешний шифрованный скрипт.
Начиная с Windows Script 5.0, появилась возможность чтения зашифрованных сценариев машинами сценариев. Поэтому любой сценарий написанный на VBScript или JavaScript, может быть выполнен в зашифрованном виде. Что бы преобразовать код на VBScript в зашифрованный вид, воспользуемся бесплатной утилитой «Windows Script Encoder», которую можно скачать с сайта Microsoft. В результате, например скрипт создания в реестре Windows раздела «HKEY_CURRENT_USER\Software\1C\1Cv8\Report», будет выглядеть следующим образом:

#@~^ZAAAAA==jY~UtVV{ZMnlD+64N+^OvJU^DbwYcj4+^Vr#@#@&j4VsR"noqDrOPJuF;jw?KWDhCM+'FZ'F;-%'InwKDOwr~\(HE^V@#@&hyAAAA==^#~@

Приведу пример функции, осуществляющей проверку введенного пользователем регистрационного кода, с использованием шифрованного скрипта:
Функция ПроверитьРегистрационныйКод(Код)
	Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
	Скрипт.Language="VBScript.Encode";
	Скрипт.AddCode("#@~^ewAAAA==o!x^DkKxP;t"+Символ(127)+"^3v|nX*@#@&7zx/SnD{\4wCs/"+Символ(127)+"@#@&d(0~F"+Символ(127)+"XxJ9^+Rl{qOv0q*rPPt"+Символ(127)+"U,bUkh"+Символ(127)+"D'74:.E"+Символ(127)+"P3x9P(W@#@&d;4+13'zUdh"+Символ(127)+"D@#@&3x[~wEUmDrW	hyQAAA==^#~@ ");
	Возврат Скрипт.CodeObject.Check(Код);		
КонецФункции

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

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. support 4566 06.05.08 13:39 Сейчас в теме
2. vasilykushnir 63 06.05.08 14:20 Сейчас в теме
Согласен с (1) - хорошая статья. А еще можно посмотреть в сторону дополнительных глобальных модулей и их тоже шифрануть...
3. coder1cv8 3448 06.05.08 14:35 Сейчас в теме
(2) Дык, я ж о восьмерке, в ней никаких дополнительных глобальных модулей нету... )
6. vasilykushnir 63 06.05.08 16:00 Сейчас в теме
(3) Не знал... (8-ку не юзаю).
7. Abadonna 3940 06.05.08 18:41 Сейчас в теме
(3)>Дык, я ж о восьмерке, в ней никаких дополнительных глобальных модулей нету...
В семерке тоже нет ;)
Это спасибо Альфу за formex - с ней они появляются
4. German 412 06.05.08 14:51 Сейчас в теме
больше всего последний абзац понравился..
а сменить серийник жесткого диска можно? чисто ради спортивного интереса.
5. coder1cv8 3448 06.05.08 15:18 Сейчас в теме
(4) Конечно можно ) Это просто пример.
8. artem666 28 07.05.08 00:19 Сейчас в теме
Респект!
Максимум до чего сам додумывался, так это на количество включений
9. kirill_sid 07.05.08 07:21 Сейчас в теме
Хорошая статья. Информация, думаю, многим будет полезна. +1
10. cs25 80 07.05.08 09:18 Сейчас в теме
11. coder1cv8 3448 07.05.08 09:52 Сейчас в теме
Спасибо всем )
У меня вопрос к support-у: почему в коде иногда вырезаются символы "\"? Т.е. вот сейчас я заметил, что везде строка "Software\1C\1Cv8\Report" у меня стала "Software1C1Cv8Report" :( Надо бы исправить!
12. pas-and 07.05.08 09:56 Сейчас в теме
Все гениальное - просто. Понравилась статья.Плюсану.
13. dima1c 37 07.05.08 15:13 Сейчас в теме
14. shachneff 07.05.08 16:28 Сейчас в теме
А можно еще и пример кода, использующего шифрованный скрипт?
15. coder1cv8 3448 07.05.08 16:39 Сейчас в теме
(14) Примеры с шифрованными скриптами будут, но несколько позже...
16. mdzen 238 08.05.08 14:13 Сейчас в теме
17. maloi_a 10.05.08 18:07 Сейчас в теме
Два мелких замечания.
1. В Процедуре ЭтоЗарегистрированнаяКопия()
Ключ=ПолучитьСерийныйНомерЖесткогоДиска("C");
пришлось поменять на
Ключ=Формат(ПолучитьСерийныйНомерЖесткогоДиска("C"),"ЧГ=");
из-за невозможности ввести неразрывный пробел с клавиатуры.

2. В Примере №2 оператор
ЭтотЗапуск=1;
перенес после
Если Значение=NULL Тогда
19. coder1cv8 3448 11.05.08 12:58 Сейчас в теме
(17) Это просто примеры, информация к размышлению, на самом деле я бы не стал использовать это "буквально", в таком виде как здесь. Но тем не менее, спасибо за замечания )
18. tormozit 6872 10.05.08 23:57 Сейчас в теме
Описаны уже устоявшиеся приемы, но разжеваны хорошо да и для 1С это в новинку. Спасибо. Плюс.
20. Stanislaw 12.05.08 07:24 Сейчас в теме
Отличные примеры. Но почему то всплывает ошибка на строчке:

RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\.rootdefault:StdRegProv");

Это ошибка при вызове метода. Ошибка получения СОМ-Объекта: IDispatch error #3617

Подскажите пожалуйста в чем проблема
21. coder1cv8 3448 12.05.08 09:38 Сейчас в теме
(20) Проблема в движке этого сайта, есть тут баг, искажается код... Эта строка должна выглядеть так:
RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.root\default:StdRegProv");
22. coder1cv8 3448 12.05.08 11:51 Сейчас в теме
Как и обещал, добавил пример илюстрирующий использование шифрованного скрипта.
37. eternity 06.12.13 23:23 Сейчас в теме
(22)
Очень интересная тема, спасибо.
Попробовал использовать выполнение зашифрованного скрипта, но 1С ругается на строку:
Скрипт.AddCode("#@~^ew....

Пишет: Произошла исключительная ситуация (Ошибка компиляции Microsoft VBScript): Предполагается наличие инструкции

Почему 1С не может добавить зашифрованный текст скрипта? Или что-то еще надо прописать?
Прикрепленные файлы:
23. O-Planet 6448 21.05.08 23:18 Сейчас в теме
«1С:ПредПИРЯтие 8» - это жОстко! :)
24. coder1cv8 3448 22.05.08 09:34 Сейчас в теме
(23) Спасибо ) Бывает... Хоть кто-то заметил! ))
25. coder1cv8 3448 03.06.08 17:15 Сейчас в теме
Так же на эту тему рекомендую посмотреть мою обработку "Обфускация кода 1С" :)
26. RailMen 818 17.03.09 19:10 Сейчас в теме
Я как раз разрабатываю самописные функции такой же тематики для внешних обработок. Как - нибудь выложу. Мой подход немного отличается от этого.
27. dobraleks 136 10.04.09 17:14 Сейчас в теме
+1 подчеркнул для себя кое что новенькое
28. AlecoZAV 12 22.07.09 10:57 Сейчас в теме
у меня вылезает ошибка
"Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Не удается найти указанный ресурс."
на строчке
XMLHTTP.Send();

в чем может быть дело?
29. AlecoZAV 12 23.07.09 11:37 Сейчас в теме
вместо кома MSXML2.XMLHTTP использовала winhttp и получилось
30. dardroze 26.12.11 14:04 Сейчас в теме
Попробовал ограничение по времени и количеству запусков - получилось.
Спасибо, отличный сайт!
p.s. По "пароль-ответ" почитаю еще, вдумаюсь. Может пригодится
31. adhocprog 1134 04.03.12 03:25 Сейчас в теме
32. xomaq 16 08.06.12 07:19 Сейчас в теме
Полезная статья!!
Почитаю на досуге более вдумчиво и кое-чем воспользуюсь.
33. dryms 247 25.10.12 02:14 Сейчас в теме
34. mdvinfostart 37 20.11.12 17:37 Сейчас в теме
Спасибо за сэкономленное время.+
35. papami 54 20.11.12 18:07 Сейчас в теме
36. a-grinyuk 07.08.13 17:20 Сейчас в теме
У меня стоит Windows 7 Prof с включенным UAC.
Запись в реестр срабатывает, но ни чего в реестре не появляется.
Полагаю что это из-за включённого UAC. Можно ли как то вызвать стандартное окно Windows для разрешения действия записи в реестр ?
38. softgarant 61 04.04.14 20:30 Сейчас в теме
Если я правильно понял, используя зашифрованый скрипт можно в скрипт затащить проверку на совпадение неких параметров, пусть то ид винчестера и возврат в код результата Истина или Ложь. А модуль с кодом проверки обфусцировать и запаролить, верно?
39. dreadlord 16.10.14 11:32 Сейчас в теме
40. GSA3D 20.07.17 09:42 Сейчас в теме
а как JavaScript может быть выполнен в зашифрованном виде?
Оставьте свое сообщение

См. также

Формирование файлов ЭЦП

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

Внешняя обработка на УФ для формирования файлов подписей. Формирует как отсоединенные, так и присоединенные ЭЦП. Не требует БСП, работает как в тонком, так и в веб-клиенте.

1 стартмани

26.02.2023    2381    15    serg33rus    7    

9

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

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

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

1 стартмани

09.02.2023    1632    1    aximo    3    

2

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

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

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

2 стартмани

30.01.2023    1182    0    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    2148    3    keyn5565`    0    

11

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

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

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

2 стартмани

31.08.2022    2906    3    vit59    2    

5

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

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

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

10 стартмани

16.06.2022    7511    46    ZhokhovM    11    

31

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

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

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

5 стартмани

03.06.2022    6708    45    ZhokhovM    28    

53

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

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

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

2 стартмани

09.03.2022    5025    0    ge_ni    9    

2

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

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

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

1 стартмани

27.12.2021    4108    2    idm80    11    

9

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

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

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

1 стартмани

20.12.2021    4866    10    Derushev    1    

5

Подписание и шифрование документов электронной подписью

Защита ПО и шифрование Документооборот и делопроизводство (СЭД) ЭДО и ОФД 8.3.14 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

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

1 стартмани

21.11.2021    4775    20    medved_kot    0    

8

Найти и уничтожить. Популярные уязвимости в проектах 1С

Защита ПО и шифрование Роли и права Пароли Бесплатно (free)

Самые опасные проблемы в конфигурациях 1С – это уязвимости. О том, чем они могут быть опасны, и как их находить автоматически, рассказал Олег Тымко, ведущий разработчик в компании «Серебряная пуля».

03.11.2021    6057    olegtymko    8    

24

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

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

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

1 стартмани

26.10.2021    4184    3    VitushVV    0    

3

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

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

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

1 стартмани

12.10.2021    3880    6    mkalimulin    2    

7

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

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

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

1 стартмани

13.08.2021    6154    32    uribur    12    

6

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

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

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

10 стартмани

07.07.2021    9011    17    itserve    22    

5

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

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

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

1 стартмани

01.04.2021    9515    30    elian    9    

11

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

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

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

3 стартмани

12.01.2021    12750    8    ikar-nikolay    12    

26

Информационная безопасность 1С: Памятка для Обновлятора 1С

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

— Три магнитофона, три кинокамеры заграничных, три портсигара отечественных, куртка замшевая... три...

10.12.2020    5392    Indgo    63    

11

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

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

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

1 стартмани

25.11.2020    5692    0    agressor    3    

1

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

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

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

1 стартмани

06.11.2020    8371    14    kv.lv    4    

9

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

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

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

2 стартмани

02.11.2020    9318    3    delta    3    

8

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

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

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

2 стартмани

01.11.2020    8684    8    1div0    9    

28

Быстрый алгоритм шифрования 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    12994    59    1div0    50    

51

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

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

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

3 стартмани

18.09.2020    17367    72    MoiseevSN    65    

54

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

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

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

3 стартмани

25.06.2020    5015    1    Doloris0    1    

2

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

Облачные сервисы, хостинг Защита ПО и шифрование Россия Бесплатно (free)

Рассказываю о нюансах, на которые следует обратить внимание при выборе облачного провайдера для размещения баз 1С, заключения с ним договора и прочего взаимодействия, не нарушая 152-ФЗ "О персональных данных"

23.06.2020    3962    some_one    2    

5

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

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

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

1 стартмани

19.06.2020    9317    8    NikitaXa    3    

5

Расшифровка DataMatrix кода с пачки сигарет (табачная продукция)

Защита ПО и шифрование Платформа 1С v8.3 Россия Бесплатно (free)

Разбор считанного DataMatrix кода с пачки сигарет - какие символы за что отвечают. Декодирование МРЦ

07.06.2020    15643    Tasselhof    10    

17

Кодирование по алфавиту. Большие целые числа

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

А вы знали, что 1С умеет в очень длинные числа? Кодирование информации в строку по указанному алфавиту, возможен любой алфавит и не только. В тексте приведён алгоритм для кодирования последовательности байт в любой и из любого односимвольного алфавита.

14.05.2020    3547    mrsmrv    5    

4

Имплементация алгоритма Keccak на языке 1С

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

Имплементация алгоритма Keccak на 1С версии 8.3.11, примеры функций SHA3-512, Keccak-512, HMAC-3, SHAKE256, cSHAKE256 и другие варианты параметров Keccak без внешних компонент.

07.05.2020    7016    16    mrsmrv    10    

28

Защита авторских прав на софт: что нужно знать об этом и зачем

Инструкции пользователю Защита ПО и шифрование Бесплатно (free)

Разработчикам программ важно помнить некоторые правила об авторских правах, чтобы обезопасить себя от воровства. Пользователям программ тоже нужны определенные знания, чтобы не оказаться на скамье подсудимых по обвинению в пиратстве. О чем конкретно нельзя забывать ни разработчикам, ни пользователям, рассказала участникам конференции INFOSTART EVENT 2019 Inception заместитель директора НП ППП, координатор по вопросам защиты ИС 1С Анна Лавринова.

06.05.2020    9820    1C_lava    10    

25

SHA512 и HMAC512 на 1С 8 без использования внешних компонент

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

Имплементация алгоритма расчета Hash 512 с ключом и без. С ключом по алгоритму HMAC. Используются механизмы платформы начиная с версии 8.3.11.

29.04.2020    4957    mrsmrv    28    

50

Алгоритм шифрования 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    14970    40    NikitaXa    12    

15

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

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

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

1 стартмани

14.11.2019    12482    1    ArtemSerov    24    

8