В помощь пользователям КЗК 2

31.01.10

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

Задача:
Защитить внеш. обработку или отчет с помощью КЗК 2 - передать клиенту с тем что бы он мог ее запустить, но без копирования файла precomp.dll в каталог ИБ.

Так же может применяться и для блоков конфигурации.

 

Решение

Использовать разработку:

Размещение двоичных данных в объектах 1С

//infostart.ru/public/14459

Посмотреть на "живой" пример можно скачав

//infostart.ru/public/download.php?file=64469

Способ:

1)   Обрабатываем файл precomp.dll обработкой  из "Размещение двоичных данных в объектах 1С" и получаем файл картинки. Вставляем этот файл в первую таблицу (если их несколько) в внеш. обработке в любое место. Картинка вставляется как объект картинка. Присваиваем ей имя "precomp"

2)   Далее обрабатываем код обработки с помощью КЗК 2 получаемзашифрованный код и блок с вызовом загрузки модуля защиты.Например:

// Текст автоматически вставлен при компиляции с помощью "Комплекса защиты конфигурации (версия 2.0)"

Попытка      // провека на загруженность компоненты Прекомпилятор,      // чтобы избежать зацикливания при окончании срока лицензии      Лицензия = СоздатьОбъект("КЗК2.Лицензия");Исключение      // загрузка компоненты Прекомпилятор      Если ЗагрузитьВнешнююКомпоненту("precomp.dll") = 0 Тогда           // при неудаче вывод предупреждения пользователю            Предупреждение("Компонента прекомпиляции недоступна!");      Иначе           // после удачной загрузки создаем внутренний объект компоненты            Лицензия = СоздатьОбъект("КЗК2.Лицензия");            // запускаем служебный метод, который перекомпилирует и перезапустит модуль            Лицензия.ПерезапуститьМодуль();           // ВНИМАНИЕ!             // Метод ПерезапуститьМодуль() является служебным и предназначен           // для вызова только из внешних обработок из стартера скомпилированной обработки.            // Самостоятельный вызов этого метода где-нибудь еще может привести к падению 1С:Предприятия      КонецЕсли;КонецПопытки;

 

//[BEGIN COMPILED]//Далее идет закодированный текст модуля 

3) в самый верх вставляем код извлечения файла precomp.dll из картинки в каталог ИБ. Текст можно копировать.

// выгрузка компонентов защиты "Комплекса защиты конфигурации (версия 2.0)"Попытка           глWSH = СоздатьОбъект("WScript.Shell");       ИмяФайла = "precomp.dll";      ИдентификаторФайла = "precomp";      РазмерФайла = "61440"; //- это размер файла-картинки из обработки получения картинки               Если ФС.СуществуетФайл(КаталогИБ()+ИмяФайла) = 0 Тогда            //РаспаковатьBin(ИмяФайла,ИдентификаторФайла,РазмерФайла)            КаталогФормы="";            ИмяФормы="";            РасположениеФайла(КаталогФормы,ИмяФормы);            ИмяВременногоФайла=КаталогИБ()+ИмяФайла;            ТекстСкрипта="            |Sub Main            |     Dim FSO,F            |     Set FSO = CreateObject(""Scripting.FileSystemObject"")            |     Set F = FSO.OpenTextFile("""+КаталогФормы+ИмяФормы+""",1)            |     Str = """"            |     BeginFind = 0            |     Do            |           Char = F.Read(1)            |           Str = Str & Char            |           If BeginFind = 0 Then            |                If Right(Str,"+СокрЛП(СтрДлина(ИдентификаторФайла))+")="""+ИдентификаторФайла+""" Then            |                       BeginFind = 1            |                       Str = """"            |                 End If            |           Else            |                 If Right(Str,2) = ""BM"" Then            |                       F.Skip(1076)            |                       Str=F.Read("+СокрЛП(РазмерФайла)+")            |                       F.Close            |                       Set F=FSO.CreateTextFile("""+ИмяВременногоФайла+""")            |                       F.Write(Str)            |                       F.Close            |                       Exit Do            |                 End If            |           End If            |     Loop While F.AtEndOfStream=0            |End Sub            |";            VBS=СоздатьОбъект("MSScriptControl.ScriptControl");             VBS.Language="vbscript";             VBS.Timeout=-1;             VBS.AddCode(ТекстСкрипта);             VBS.Run("Main");      КонецЕсли; Исключение      глWSH = 0;      Сообщить("> Не удалось создать объект ""WScript.Shell""       |Ничего страшного... можно продолжать работу...       |Сообщите Программисту 1C!","i");КонецПопытки;

 

******************************************

Все. Когда пользователь откроет такую обработку с работает начальный код, который выгрузит из картинки библиотеку и поместит в каталог ИБ. Последующий код найдет, существующий уже, файл precomp.dll и загрузит защиту КЗК 2 в 1С. Далее обработка откроется и защищенный код будет успешно скомпилирован. 

См. также

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

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

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

2 стартмани

09.03.2022    5654    3    ge_ni    9    

2

Криптография: внешняя компонента для 1С 7.7

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v7.7 Абонемент ($m)

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

1 стартмани

08.06.2020    9050    27    mdbruyfn    10    

9

1С7 + MD5

Защита ПО и шифрование Платформа 1С v7.7 Оперативный учет 7.7 Конфигурации 1cv7 Абонемент ($m)

Шифрование MD5 появилось в 1991 году (опубликовано в 1992), но и в XXI-м веке в 1С7 функция шифрования так и не появилась...

1 стартмани

11.01.2019    8678    10    vakham    2    

3

Злоумышленник зашифровал базы 1С и другие файлы

Информационная безопасность Защита ПО и шифрование Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Звонит пользователь, на экране сообщение ваши данные зашифрованы, введите пароль, пишите письма и т.д.

1 стартмани

08.11.2014    40157    44    aleksch21    85    

47

Пример кодирования строки средствами 1С в BASE64

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

Вспомнил свою старую обработку. Кодирование строки в base 64. Может пригодится для обмена с сайтами из 1с, где это требуется протоколом.

1 стартмани

02.09.2013    24285    9    _Vovik    2    

4

Внешняя обработка «Кинт: Обезличиватель 1.0»

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

Обезличивание текстовых данных любых информационных баз на платформе «1С:Предприятие 7.7».

1 стартмани

31.12.2010    18378    111    kint    7    

17

Скрыть персональные данные сотрудников (ЗиК)

Защита ПО и шифрование Кадровый учет Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Абонемент ($m)

Обработка очищает или заменяет личную информацию сотрудника (Зарплата и Кадры)

1 стартмани

02.09.2010    18565    103    gucci76    15    

18

Сохранение файлов в конфигурации и обработках 1С: Предприятие 7.х

Защита ПО и шифрование Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Дальнейшее решение проблемы с сохранение файлов в конфигурации и обработках 1С: Предприятие 7.х

1 стартмани

17.05.2010    21434    152    VRP    10    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2706 28.01.10 13:09 Сейчас в теме
2. Ёпрст 1063 28.01.10 13:15 Сейчас в теме
Ну и ?
А что принципиально нового то ?...
Давно ужо все пихают в ert всё что не поподя - файло,ВК и т.д...
Тот же формекс или 1c++
3. АЛьФ 28.01.10 14:19 Сейчас в теме
Я вот тут подумал: может делать подобное внедрение прямо в модуль обработки при компилировании?
36. АЛьФ 01.02.10 09:57 Сейчас в теме
Так как пользователи КЗК относятся к мысли в (3)?
37. IamAlexy 344 01.02.10 10:12 Сейчас в теме
38. alexk-is 6533 01.02.10 10:48 Сейчас в теме
(36) Можно конечно, но актуальнее будет выпустить КЗК для 8.1.
...или обещенного 3 года ждут? :)
39. IamAlexy 344 01.02.10 10:58 Сейчас в теме
(38) скоро будет три.. недолго осталось :)
40. SvSoft 80 03.02.10 11:25 Сейчас в теме
(36) Ну, как пользователь КЗК2, скажу следующее:
Если тебе, Альф, не влом, то в виде опции, почему бы и нет ;)
41. Automatik 914 30.05.10 15:37 Сейчас в теме
(36) АЛьф, сделайте возможность встраивать precomp.dll, никак пользователь не может запустить защищенную обработку. Не могу понять, что он не так делает.
4. Artem N 91 28.01.10 14:32 Сейчас в теме
Декомпилятор для 1С 7.7 уже написан. Всё бесполезно ;)
5. JohnyDeath 301 28.01.10 15:55 Сейчас в теме
6. Artem N 91 28.01.10 16:06 Сейчас в теме
(5) Релиз пока не вышел :-)
Есть картинка только :-)
20. АЛьФ 29.01.10 14:49 Сейчас в теме
2(6) Судя по картинке, декомпилятор этот делается на основе демки КЗК. Если это так, то автора ждет неприятный сюрприз на реальных защищенных обработках. И его желание финансово что-нибудь поиметь с этого вполне может обернуться не очень хорошими последствиями для здоровья.
21. Artem N 91 29.01.10 18:38 Сейчас в теме
(20) На картинке вообще testcases, неужели не очевидно? :) Задачи поломать КЗК2 автор не ставил.
(19) Извини, так получилось. Но в (7) ты сам меня поддержал ;)
22. АЛьФ 30.01.10 10:05 Сейчас в теме
2(21) "Задачи поломать КЗК2 автор не ставил" - очень странно видеть такое утверждение в комментариях к теме о КЗК в контексте декомпилятора. С учетом того, что в 7.7 и декомпилировать-то нечего, если не используется КЗК.
Abadonna; +1 Ответить
23. Artem N 91 30.01.10 16:16 Сейчас в теме
(22) Если в настройках КЗК2 "Дополнительная обработка скомпилированного кода" флажок установлен, то декомпилятор, понятно, не декомпилирует :-) Потому что он для этого не предназначен.
А вот если этот флажок сброшен, то на выходе получаем девственно чистый код...

Но я продолжаю придерживаться точки зрения (4), потому что деобфуксация возможна ;)
24. АЛьФ 30.01.10 16:44 Сейчас в теме
2(23) Попробуй. За руки никто не держит. Пример конфиги со скомпилированным глобальником я тебе выслал. Как получишь из него "девственно чистый код", милости просим.
26. Artem N 91 30.01.10 17:07 Сейчас в теме
(24) Автору писькой меряться не с руки :D Да и тебе не 20 лет вроде :| Поэтому "на слабо" поведётся тот, у кого будет желание доработать декомпилятор, выпущенный под BSD-лицензией.
27. АЛьФ 30.01.10 18:22 Сейчас в теме
2(26) Да никакого "на слабо". Подобные "декомпиляторы" были еще до выпуска КЗК 2.0, еще на этапе его первоначального публичного тестирования. Если интересно, можешь покопать архивы Мисты и Одинэссии на эту тему. Просто не вижу в этом повода для бравады типа (4). Еще раз: будет чем реально похвастать - милости просим.
7. script 128 28.01.10 17:06 Сейчас в теме
А про декомпилятор информация откуда :?:
8. Artem N 91 28.01.10 17:26 Сейчас в теме
9. Donat 28.01.10 18:45 Сейчас в теме
А что автор говорит по поводу релиза?
Будет ли он открытым и когда?
10. Artem N 91 28.01.10 19:38 Сейчас в теме
(9) Релиз будет, факт.
По поводу открытости вопрос сложный. Скрывать там особо нечего (написано всё это, хе-хе, на C#), но и финансовый вопрос интересен. Когда -- думаю, в очередной период сдачи налогового расчёта по авансовым платежам по транспортному налогу :D

P.S.: Декомпилятор не работает без запущенного экземпляра 1С. Фича! :)
15. Tatitutu 3855 29.01.10 13:31 Сейчас в теме
(10)
P.S.: Декомпилятор не работает без запущенного экземпляра 1С. Фича!

а на рисунке (6) НЕТ запущеннного )))
да рисунок...
11. script 128 28.01.10 20:41 Сейчас в теме
Я эту тему создавал не для обсуждения декомпилятора :evil:
Делайте отдельную тему и мусорте там
12. WKBAPKA 214 29.01.10 11:48 Сейчас в теме
вот если бы для 8.1 была бы приблуда, а так для 7.7. уже не актуально
13. gavril 44 29.01.10 12:28 Сейчас в теме
(12) +1
обидно что пообещанное на конец 2009-го так и не вышло :(
14. WKBAPKA 214 29.01.10 12:55 Сейчас в теме
2(13): обещаного 2 года ждут ;)
16. script 128 29.01.10 13:39 Сейчас в теме
Задолбали короче говоря...
Какая польза от этого декомпилятора то
Серьезных коммерческих продуктов с помощью КЗК все равно никто не делает.
Многие как и Я пользуются КЗК что бы временно защитить разработку которая была сделана на условиях оплаты по факту. Что бы тебя не кинули
После оплаты я код всегда открываю. Многие делают точно так же.
Оставлять код закодированным просто не удобно. Приходишь к клиенту нужно что то поправить а опа код закрыт исходников нет....
По этому давайте прекратим эту тему про де компилятор вообще.
17. Tatitutu 3855 29.01.10 14:06 Сейчас в теме
(16) Как скажешь...
- тему твою в форуме поднял
- плюс поставил
- комментарий написал
и все для того чтобы в лицо сказали "ЗАДОЛБАЛИ"
хорошо хоть не послал :cry: и на том спасибо.

Красиво пишешь , но не верю ... слова расходятся с делом.

ответ тогда следует читать в (2) там все четко написано
18. script 128 29.01.10 14:09 Сейчас в теме
Извините кого обидел - но тему декомпилятора я не поднимал.
19. script 128 29.01.10 14:10 Сейчас в теме
Напостил про декомпилятор Artem N
25. iov 406 30.01.10 16:58 Сейчас в теме
Итак подведя итог ПОИМЕТЬ халяву желание не убить!
и желание сделать красиво - практично - безапасно (но с оплатой труда) тоже. Как результат ? правильно основное правило надо делать продукт взлом которого в разы дороже и сложнее чем просто купить (потом (когда обьем продаж спадет ) -открывать код (и делать закрытый продукт с новыми функциями)- как рекламно распространительный ход работает на ура).
28. Abadonna 3958 30.01.10 20:04 Сейчас в теме
11.script 28.01.2010 20:41:29
Я эту тему создавал не для обсуждения декомпилятора
Делайте отдельную тему и мусорте там

Автор-то прав, однако :D
29. artbear 1448 31.01.10 10:25 Сейчас в теме
(28) Согласен, автор прав!
Предупреждаю ВСЕХ - Буду модерить все дальнейшее в ветке не по теме!
30. Abadonna 3958 31.01.10 10:26 Сейчас в теме
(29) Ага, только, думаю, "они больше не будут" ;)
31. artbear 1448 31.01.10 12:01 Сейчас в теме
(30) Если автор темы попросит, могу скрыть все сообщения не по теме
32. alexk-is 6533 31.01.10 12:59 Сейчас в теме
(0) Почему бы тексты модулей в описании не покрасить? :)
artbear; script; +2 Ответить
33. script 128 31.01.10 14:52 Сейчас в теме
Почему бы тексты модулей в описании не покрасить?

Покрасил :D
34. artbear 1448 01.02.10 08:13 Сейчас в теме
(33) Что скажешь на (31) ?

(32) ОФФ. Скрытая реклама :) :D ?
35. alexk-is 6533 01.02.10 08:51 Сейчас в теме
(34) Я намекнул на качество оформления и направление, в котором можно его улучшить. Автор прислушался к рекомендациям и поправил публикацию. Материал стал выглядеть лучше. Как пользователь КЗК 2.0 я оценил материал как полезный. Для меня полезный и, что не мало важно, неплохо оформленный. За что собственно и поставил плюс.
...и это несмотря на то, что при оформлении публикации не использовалась Разукрашка, что видно по HTML-коду страницы.
Оставьте свое сообщение