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

02.09.19

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

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

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

Наименование Файл Версия Размер
Запутывание кода 1С
.epf 53,54Kb
106
.epf 1.0 53,54Kb 106 Скачать
Запутывание кода 1С. Поддержать автора
.epf 53,54Kb
1
.epf 1.0 53,54Kb 1 Скачать
Запутывание кода 1С. Поддержать автора
.epf 53,54Kb
1
.epf 1.0 53,54Kb 1 Скачать

За основу взята обработка [2 in 1] «Обфускация кода 1С» и «RegExp Тестер».

Запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ (Википедия).

 

Обработка позволяет проводить обфускацию кода 1С в несколько этапов:

  1. Предварительная обработка исходного кода:
    • Удаление комментариев;
    • Удаление областей и пустых строк;
    • Заполнение настроек. Настройки могут быть описаны в тексте исходного кода.
  2. Добавление условий триал периода. Для этого указывается дата триал периода - после которой обработка перестанет работать и сообщение триал периода которое будет выдаваться. При добавлении ограничений по триал периоду добавляются дополнительные процедуры, что может увеличить текст модуля.
  3. Заполнение дерева запутывания и формирования таблицы соответствий идентификаторов имен процедур, функций и переменных. В настройках можно указать список имен которые будут оставаться неизменными.

    Идентификаторы можно сформировать несколькими способами:

    • Уникальный идентификатор - Например: bf9ee4cee2a04be1b5d029f3456dc126;
    • Символ + счетчик -  Например: i35 (удобно для нахождения по таблице соответствия исходного имени идентификатора);
    • Количество символов - Например: iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.
  4. Получение обработанного кода 1С.

Все можно выполнить по нажатию одной кнопки.

 

 
 Органичения

Инструкции предпроцессора и комментарии с кавычками (для обхода этих ограничений и сделал возможность замены строк кода)

Для шифрования строк требуется capicom.dll, скачать можно с сайта Майкрософт.

RegExp должен быть доступен на сервере.

 

Для обхода ограничений по комментариям с кавычками можно использовать замену строк исходного кода на текст обрабатываемый корректно и возвращать его обратно при получении результата. Например заменить "https://infostart.ru/public/959902/" на "СайтПроекта", а потом вернуть обратно.

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

 

В тексте исходного кода можно указать настройки запутывания кода 1С.

Настройки указываются в формате: //#<Имя настройки><Пробел><Значение настройки>

 
Список возможных настроек в тексте модуля:

Демонстрация работы на обычных и управляемых формах:

Работа в управляемом интерфейсе:

1) Обфускация кода 1С по одной кнопке.

2) Обфускация кода 1С поэтапно:

  • Получение "Кода" из "Исходного кода": Удаляются комментарии, Удаляются области, Заменяются строки указанные в настройках, Устанавливаются настройки;
  • Добавление "Триал перида" в код;
  • Заполнение дерева запутывания с разными вариантами индетификаторов;
  • Обфускация кода 1С.

Работа в обычном интерфейсе:

1) Обфускация кода 1С по одной кнопке.

2) Обфускация кода 1С поэтапно:

  • Получение "Кода" из "Исходного кода": Удаляются комментарии, Удаляются области, Заменяются строки указанные в настройках, Устанавливаются настройки;
  • Добавление "Триал перида" в код;
  • Заполнение дерева запутывания с разными вариантами индетификаторов;
  • Обфускация кода 1С.

 

 
 История изменения версий
 
 Версия 1.0 от 25 августа 2019

 

Тестирование проводилось на конфигурациях:

  • Зарплата и управление персоналом: 3.1.10.78 КОРП;

Релиз платформы: 8.3.13.1809 - в коде использовал "Области" и "СтрЗаменить" - поэтому версия платформы должна быть выше 8.3.6, работать будет и без БСП.

 

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

 

См. также:

Массовое создание справок 2-НДФЛ для сотрудников в разрезе ОКТМО/КПП. ЗУП 3.1, ЗКГУ 3.1, KA 2, ERP 2, БП 3

Анализ ролей пользователей БСП

Анализ прав доступа БСП 2+

Запутывание Обфускация Защита Секретность код RegExp Регулярные выражения

См. также

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

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

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

1 стартмани

09.02.2023    2224    9    aximo    4    

2

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

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

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

2 стартмани

30.01.2023    1657    1    olevlasam    3    

3

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

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

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

1 стартмани

04.12.2022    2984    12    keyn5565`    0    

13

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

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

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

2 стартмани

31.08.2022    3832    7    vit59    2    

6

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

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

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

10 стартмани

16.06.2022    10299    79    ZhokhovM    12    

40

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

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

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

2 стартмани

09.03.2022    5654    3    ge_ni    9    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1351 02.09.19 16:30 Сейчас в теме
(0) зачем это нужно?
dunpil; chebser; SerVer1C; +3 1 Ответить
6. leoxz 254 02.09.19 19:30 Сейчас в теме
(1)для защиты своих разработок. Чтобы после определенной даты планируемой оплаты обработка перестала работать.
Вам никогда не приходилось самим вытаскивать дебиторку с заказчиков?

Да этот метод не даёт 100% гарантии защиты, можно байт код разобрать, но думаю не честный заказчик наврятли не заплатив одному программисту наймёт другого, чтобы он разбирался в защищённом коде. Тем более, что этот метод защиты занимает один клик.
1psspam; manlak; +2 Ответить
2. VmvLer 02.09.19 16:31 Сейчас в теме
скорее бы уже боты вытеснили живых программистов и все ЯП, кроме асма и байт-кода ушли в историю.

тогда будет только работа, а не придумывание всякой ерунды.
3. RustIG 1351 02.09.19 16:34 Сейчас в теме
(0) понимаю, что хочется защитить свой продукт, но хотелось бы пофилософствовать на эту тему - насколько выигрышна такая стратегия разработки кода? всем заранее спасибо за предоставленные ответы
4. VmvLer 02.09.19 16:46 Сейчас в теме
(3) 100500 раз обсуждали тут, на мисте и пр..
вывод - "запутывания кода" от лукавого.
ybatiaev; SerVer1C; +2 1 Ответить
5. brr 182 02.09.19 17:42 Сейчас в теме
(3) Иногда это единственная возможность получения денег за работу. Не будьте сказочным эльфом, ирл достаточно жадных упырей для которых кинуть кого то вроде спорта.
user1628996; user1296489; lefthander; manlak; sansys; user1274438; CyberCerber; leoxz; acanta; +9 Ответить
7. RustIG 1351 02.09.19 19:34 Сейчас в теме
(3), (5) так не работайте с такими, и всем рассказывайте про таких, отдайте конкурентам - много не потеряете... не доводите дебиторку до больших сумм... какие у вас примеры из жизни? у меня вот 120 тыс однажды полгода не платили, 60 тыс до сих пор и 5 тыс не заплатили.... но продолжать работать с ними - себе хуже делать....
pm74; Cерый; +2 1 Ответить
10. leoxz 254 02.09.19 20:36 Сейчас в теме
(7)А что хорошего, когда вы подарили 60 тыс? Почему кто-то должен работать за бесплатно?
Когда то на 1CLanser - видел сообщение от разработчика - что заказчик не честный и он поменял ник уже несколько раз, т.е. разработчик тратит время на месть чтобы следить за заказчиком, а зачем в это время можно курсы 1С посмотреть например?

"так не работайте с такими" - 100 % не угадаешь я такого способа не знаю....
"и всем рассказывайте про таких" - мне не хочется тратить на это время, есть более интересные занятия.
user1628996; cleaner_it; sulfur17; d.zhukov; +4 Ответить
24. RustIG 1351 03.09.19 09:56 Сейчас в теме
(10)
А что хорошего, когда вы подарили 60 тыс?

я 10 раз окупил потери, переместив акцент на работу с теми, кто платит.
надо искать долгосрочные отношения и чтобы, когда работаете и не переживаете "залпатят/не заплатят".

(10)
"и всем рассказывайте про таких" - мне не хочется тратить на это время, есть более интересные занятия.

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

(10)
"так не работайте с такими" - 100 % не угадаешь я такого способа не знаю....

риски есть в любых делах, просто минимизируйте их - разбейте проект на подзадачи с оплатой фактически выполненных работ. Поясните в устной форме, что надо проверить друг друга на состоятельность - вас на профпригодность, Заказчика на финансовую состоятельность.
9. leoxz 254 02.09.19 20:27 Сейчас в теме
(3)Можно открыто сказать что это не дает 100 % защиты - можно взломать через байт код (например если модуль исключен), если в форме там код исключить нельзя, значит можно посидеть и разобрать этот код (я так и сделал при анализе обработки [2 in 1] «Обфускация кода 1С» и «RegExp Тестер»).

Вопрос только во времени, если провести эту защиту стоит нажать одну кнопку, а разобрать потом нужно много времени (иногда больше чем написать заново), почему бы не применить защиту.
26. o.kovalev 114 03.09.19 12:05 Сейчас в теме
Самое главное это долгосрочные доверительные и дружеские отношения с заказчиком, тогда и запутывать ничего
не не нужно будет.

Если бы мне как заказчику такое принесли, то сомневаюсь на дальнейшее сотрудничество, пойди разбери что за "бомба" там вшита, а с ненадежными и дело иметь не нужно.
Darklight; +1 Ответить
8. Denis_CFO 48 02.09.19 19:48 Сейчас в теме
Название функции "ф2021()" уже само является обфускацией :)
11. leoxz 254 02.09.19 20:39 Сейчас в теме
(8)после выполнения обработки, еще интереснее))
,а если серьезно - 2021 это номер символа куда вставляется процедура.
12. Denis_CFO 48 02.09.19 20:42 Сейчас в теме
А дополнение к времени использования можно добавить:

 
ТекстДемо = "";
Если КлиентНеНадёжен() Тогда
ТекстДемо = " ПЕРВЫЕ 3 ";
КонецЕсли;

ТекстЗапроса = "Выбрать " + ТекстДемо + " ТМ.Ссылка Из Таблицы КАК ТМ"

Показать
13. Denis_CFO 48 02.09.19 20:44 Сейчас в теме
(12) к этому:
Комментарии и пожелания по улучшению обработки приветствуются.
15. leoxz 254 02.09.19 20:49 Сейчас в теме
(13)Осталось сделать базу надежных заказчиков)) - это идея для следующей разработки))
14. leoxz 254 02.09.19 20:47 Сейчас в теме
(12)вы не написали самое главное - описание функции - КлиентНеНадёжен() )))

При работе с обработкой другой сценарий, вначале задаем дату после которой код перестанет работать, если до этого времени прошла (или после того как обработка перестала работать :)) оплата то передаем доработки с открытым исходным кодом.
16. Denis_CFO 48 02.09.19 20:53 Сейчас в теме
(14)
описание функции - КлиентНеНадёжен() )))


Так тут всё просто:

З = Новый Запрос("Выбрать П.Ссылка Из Документы.ПлатежноеПоручение КАК П ГДЕ П.Сумма = 150000 И П.Дата <= ДатаВремя(ТекущаяДата()) И П.Контрагент.ИНН = "12345567890"");
Возврат З.Выполнить().Выбрать().Пустой();
18. leoxz 254 02.09.19 21:02 Сейчас в теме
(16)тогда, лучше отправлялось письмо президенту, о не добросовестном закачке - эффективнее))
17. Denis_CFO 48 02.09.19 21:00 Сейчас в теме
(14)
другой сценарий

такое уже делал раньше. Потом стал клиентов лучше отбирать.
Но тема интересная, в силу концепции 1С об открытости кода.

Иногда это нужно.
19. SerVer1C 748 02.09.19 21:37 Сейчас в теме
Сколько уже можно про это говорить: обфускация исходника 1С без отклонения от потока выполнения - это почти бесполезное занятие. Для защиты надо обфусцировать п-код!
20. leoxz 254 02.09.19 21:55 Сейчас в теме
(19)подскажите такую обработку или методику для обфускации п-кода.
21. SerVer1C 748 02.09.19 22:03 Сейчас в теме
Тут кто на что горазд. Но есть и коммерческие решения, типа WiseAdvice.
22. leoxz 254 02.09.19 22:55 Сейчас в теме
(21)по вопросу вскрытия кода я уже отвечал выше, открыть можно. Вопрос только во времени. Сомневаюсь, что не честный заказчик не заплативший за разработку начнёт заниматься декомпиляцией кода 1с.

Декомпилировать обфусцированный код, тоже то ещё удовольствие, все же имена переменных изменены.
25. RustIG 1351 03.09.19 10:07 Сейчас в теме
(22) были случаи, когда модули паролились,в итоге в одной мед.программе я перестал использовать типовой календарь (сетку расписания) врачей, написал свою сетку расписания https://infostart.ru/public/664095/, таким образом родилось вполне адекватное решение на тех же самых регистрах, запись и чтение регистров я написал СВОИ

как только вижу закрытый модуль, то сразу его обхожу - пишу свои методы, кроме случаев,

когда работа связана с внешним оборудованием или матем. алгоритмами.
28. d.zhukov 1392 03.09.19 12:17 Сейчас в теме
(25)
как только вижу закрытый модуль, то сразу его обхожу - пишу свои методы, кроме случаев,

Главное чтоб ваш работодатель не знал, что вы изобретаете велосипед за его счет)
p.s. про безопасность можете не писать. это далеко не всегда оправдывает подобные решения
38. leoxz 254 05.09.19 13:48 Сейчас в теме
(25)
(36)
обфускации, полученной из байт

Elisy, каким способом это было сделано?
31. Darklight 32 03.09.19 13:14 Сейчас в теме
(22)Обычно нет нужды разбираться глубоко в обфускированных исходниках - когда они есть - для того, чтобы просто снять защиту - тут да, чисто финансовый вопрос - если разработка дорогая и очень нужная заказчику - он её вскрорет за существенно меньшие средства (либо своими силами - затрты на время своих сотруджников мало кто считает), либо сторонними.

Конечно же, когда исходники восстановить автоматически не возможно (как в ряде коммерческих решений защиты), когда часть кода зашифрована и выполняется после расшифровки как "выполнить" (увы - создавать внешние обработки из потока пока нельзя - а было бы круто), или располагается во внешних компонентах, или, как шик - вообще вынесена в HASP ключ - где алгоритм и выполняется. Тогда да - такая защита действительно очень трудна для вскрытия - мало кто на это решится, даже для очень дорогих разработок!

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

И помните - что более менее серьёзным заказчикам важно видеть код целиком - чтобы в нём не было встроенных "зловредов" - без этого они разработку могут даже не смотреть - отдел ИБ всё равно не пропустит!
23. leoxz 254 02.09.19 22:58 Сейчас в теме
(21)про WiseAdvice читал, netlenka1с тоже предлагает обфускацию п-кода. это коммерческие решения в живую их не использовал.
27. d.zhukov 1392 03.09.19 12:15 Сейчас в теме
Как ваша программа поведет себя в строке типа
Запрос = Новый Запрос
?
Какие слова зашифрует, подскажите плз
29. leoxz 254 03.09.19 12:22 Сейчас в теме
(27)
Какие слова зашифрует, подскажите плз

i1414 = Новый Запрос
или
a763cfbb-f94f4c678e130e96a3a7f353 = Новый Запрос

Замениться переменная на новое имя идентификатора.
30. d.zhukov 1392 03.09.19 12:28 Сейчас в теме
(29)
мя идентифик

И ваша обработка поймет, что третье слово "Запрос" заменять не нужно? или ее надо как то обучить этому?
CyberCerber; +1 Ответить
33. leoxz 254 03.09.19 13:53 Сейчас в теме
(30)Что Вас так удивляет?
Например:
Процедура СуперЗапрос()
   
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ 1";

КонецПроцедуры

Будет в результате:
 Процедура i10() i11=Новый Запрос;i11.Текст="ВЫБРАТЬ 1";КонецПроцедуры  
alex_bitti; +1 Ответить
32. Darklight 32 03.09.19 13:16 Сейчас в теме

Для обхода ограничений по комментариям с кавычками можно использовать замену строк исходного кода на текст обрабатываемый корректно и возвращать его обратно при получении результата. Например заменить "https://infostart.ru/public/959902/" на "СайтПроекта", а потом вернуть обратно.


Поясните, пожалуйста, что тут за проблема и как она решается?
34. leoxz 254 03.09.19 15:03 Сейчас в теме
(32)Комментарии при обработке удаляются. строковые данные при этом должны остаться. как написать это условие на регулярных выражениях я еще не придумал.

Получается у нас могут быть ситуации:
Случай 1: //"Текст"
Случай 2: "ВЫБРАТЬ 1  //Комментарий"
Случай 3: "ВЫБРАТЬ 2" //Комментарий

Код по случаю 1 будет удален полностью как комментарий и это правильно.
По случаю 2 получиться:
"ВЫБРАТЬ

без закрывающих кавычек, что приведет к ошибкам при работе.

По случаю 3 получиться:
"ВЫБРАТЬ 2"

что тоже правильно.

Резюмируя: комментарии удаляются полностью, там где они должны остаться для корректной работы программы и делается подмена (можно задать в настройках), а потом в результате заменяется обратно.

В примере "https://infostart.ru/public/959902/" - будет заменен на "https: - что не корректно, поэтому он вначале заменяется на корректно обрабатываемую строку "СайтПроекта".

Еще нюанс с многострочным текстом, он переводиться в одну строку - если нужно сохранить исходное форматирование, то работаем с ними точно так же.
36. Elisy 948 05.09.19 10:34 Сейчас в теме
Вот пример еще одной обфускации, полученной из байт-кода
Прикрепленные файлы:
39. leoxz 254 05.09.19 14:05 Сейчас в теме
(36)
Вот пример еще одной обфускации, полученной из байт-кода

Elisy, подскажите каким методом сделали такую защиту.
40. Elisy 948 06.09.19 06:21 Сейчас в теме
(39) Этот пример прилетел ко мне не онлайн-декомпилятор. Каким способом он был получен, не знаю.
37. Yury1001 1470 05.09.19 11:41 Сейчас в теме
Ну не плохо, не плохо. Делал себе такую лет 12-15 назад на 7.7, использовал в качестве имен переменных различные сочетания букв «ООООО» латиницы и кириллицы, получалось очень лампово. Потом пришел к тому, что кроме меня это никому не мешает.
Ностальгия.
41. МимохожийОднако 141 08.09.19 09:26 Сейчас в теме
Публикация обфускаторов и подобных методов защиты вне зависимости от качества почему-то вызывает ощущение шизофрении. Они конечно имеют право на жизнь, но как-то нехорошо и неуютно
42. leoxz 254 08.09.19 14:48 Сейчас в теме
(41)Наверно на это несколько причин:
1) Конфигурации типовые распространяются с открытым исходным кодом. Складывается впечатление, что все коды должны быть открыты, потому что такая политика вендора.
2) Средств защиты доработок сама платформа предоставляет мало (Пароль на модули и исключение исходных текстов из поставки).
3) Проще разобраться в поведении системы когда имеются исходные коды.

Но,
1) Сама платформа себя хорошо защищает и не предоставляет исходные коды.
2) Отраслевые конфигурации созданные даже партнерами 1С хорошо защищены.
3) Например в ЗУП 3.1.10 появилась вставка:
// Copyright © 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode

1С довольно щепетильно относиться к своим правам и понимает, что интеллектуальная собственность стоит денег. И будет свои права защищать.

Поэтому, понятен ажиотаж в темах защиты разработок: с одной стороны платформа не дает 100% способов защиты исходных текстов, с другой и 1С и сторонние разработчики стремятся защитить свои разработки.
43. Region102 09.09.19 19:24 Сейчас в теме
1. Не работайте с клиентами без договора!!!
2. Не работаете с клиентами без предоплаты!!!

Вот вы разработали тиражное решение с закрытым кодом, вы его поддерживаете получаете +100500 млн рублей, а завтра бац и покинули этот мир. Думаю все ваши клиенты скажут вам огромное спасибо.

Те кто шифруют код в принципе не понимают элементарных вещей, кто хочет кинуть или халявы, никогда не заплатит. Мне таких клиенты встречались, я даже думаю, что мои разработки по инету ходят и мои курсы на складчинах висят, но таковых всего 1-5% от общего числа. Чем больше вы даете бесплатно, тем больше вы получаете от жизни обратно.
44. d.zhukov 1392 12.09.19 11:42 Сейчас в теме
(43)
1. Не работайте с клиентами без договора!!!
2. Не работаете с клиентами без предоплаты!!!


1. вы о чем? o_O
2. подскажите, плз. какую предоплату брать с клиента, чтоб заранее компенсировать вероятное выкладывание им моих работ на бесплатных для скачивания ресурсах?
45. Den75Ch 12.09.19 11:55 Сейчас в теме
47. Region102 13.09.19 06:31 Сейчас в теме
(44) разрабатывая интеллектуальную собственность, будте готовы к пиратству, или на вашем компьютере нет ни одной пиратской программы/книги? Еще раз повторю, те кто ищет пиратскую версию никогда не купят вашу лицензионную продукцию.
49. d.zhukov 1392 13.09.19 06:40 Сейчас в теме
(47)
или на вашем компьютере нет ни одной пиратской программы/книги?

Те ребята еще более активно ведут борьбу с пиратством и используют системы шифрования гораздо более мощные чем мы)

кто ищет пиратскую версию никогда не купят вашу лицензионную продукцию

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

Ну и в конце концов. если бы не коммерческая реализация продукта и защита от копирования, я бы вряд ли стал его развивать и тратить время на его поддержку (как и любой квалифицированный программист).
51. Region102 13.09.19 06:45 Сейчас в теме
(49)
Ну и в конце концов. если бы не коммерческая реализация продукта и защита от копирования, я бы вряд ли стал его развивать и тратить время на его поддержку (как и любой квалифицированный программист).


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


(49)
(отслеживал по никам на тематических форумах)


Рад что на это у вас есть время


(49)
Те ребята еще более активно ведут борьбу с пиратством и используют системы шифрования гораздо более мощные чем мы)


Общался с крупными разработчиками, конкретно из Jetbrains, пиратов они не любят, но относятся к ним спокойно.
52. d.zhukov 1392 13.09.19 06:50 Сейчас в теме
(51)
Общался с крупными разработчиками, конкретно из Jetbrains, пиратов они не любят, но относятся к ним спокойно.

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

Рад что на это у вас есть время

а без этого никак. нужно оценить риски и принять соотв.меры

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

возможно. не знаком с вами)
DJ_Codebase; +1 Ответить
53. leoxz 254 13.09.19 15:09 Сейчас в теме
(51)
Общался с крупными разработчиками, конкретно из Jetbrains, пиратов они не любят, но относятся к ним спокойно.

Что значит относятся к ним спокойно? - значит их исходные коды можно копировать и использовать?

Коллеги, в данном вопросе мне нравиться пример 1С.
- покажите мне исходные коды платформы, (к комментарию (46) ) ))
- защита 1С (программные, физические), мы все знаем, что ее можно сломать, но 1С же от этого не начинает раздавать свои исходные коды в открытом виде.
- например конфигурация ТОИР - попробуйте ее открыть)) там даже в коде написано "Если вы удалите эту проверку, это вам НЕ поможет, программа все равно работать не будет...".

Если крупные фирмы защищают свою интелектуальную собственность, почему это не должны делать фрилансеры и программисты 1С?
54. Region102 13.09.19 19:37 Сейчас в теме
(53) вы либо реально не понимаете контекста, либо утрируете. Имеется ввиду программное обеспечение разработанное с помощью 1С, или IDE от Jetbrains. Давайте ещё сайты начнём шифровать.

Уверен, что ПО с открытым исходным кодом зарабатывает больше. Так как клиент зачастую выбирает отрытые коды, когда есть альтернатива.
57. leoxz 254 15.09.19 08:11 Сейчас в теме
(54)
Давайте ещё сайты начнём шифровать.

В таком случае покажите мне исходные коды движка Инфостарт.
59. Region102 15.09.19 12:13 Сейчас в теме
(57) вот мне интересно, вы реально думаете, что на инфостарт мир клином сошелся? Вы с web разработкой знакомы? Судя по исходному коду главной страницы инфостарт, сайт сделан на "движке" Битрикс. Идете https://www.1c-bitrix.ru/download/cms.php по этой ссылке и скачиваете исходники движка и тыкните мне там пальцем в закрытый код. Хотя вы наверное опять напишите, что у вас нет штата юристов.

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

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

Желаю вам удачи, ведь разработать продукт это одно, а вот суметь продать его - это совершенно другое!
55. Region102 13.09.19 19:38 Сейчас в теме
(53) покажите мне закрытый исходный код в 1С:ERP
56. leoxz 254 15.09.19 08:10 Сейчас в теме
(55)Зачем закрывать код в ERP?
1C ERP защищает по другому, в коде есть вставка:
// Copyright © 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode

Когда у меня в подчинении будет столько же юристов сколько у 1С, наверно я рассмотрю и другие способы защиты.
58. Region102 15.09.19 11:56 Сейчас в теме
(56)
Когда у меня в подчинении будет столько же юристов сколько у 1С, наверно я рассмотрю и другие способы защиты.


Кто хочет ищет возможности, кто не хочет ищет отговорки. Мое отношение к закрытому коду однозначное, код должен быть открыт и защищен авторским правом.

При наличии конкуренции, и похожего функционала, клиент купит разработку с открытым кодом. Вопрос про открытый код мне задают примерно 80-90% покупателей моих разработок.

И я вам скажу еще одну страшную вещь, я даже предоставляю бесплатные обновления без подписки на техническую поддержку. И по факту этой возможностью пользуются всего 2 моих клиента, остальных полностью устраивает текущий функционал.
46. d.zhukov 1392 12.09.19 11:58 Сейчас в теме
(43)
Вот вы разработали тиражное решение с закрытым кодом, вы его поддерживаете получаете +100500 млн рублей, а завтра бац и покинули этот мир. Думаю все ваши клиенты скажут вам огромное спасибо.

Те кто шифруют код в принципе не понимают элементарных вещей, кто хочет кинуть или халявы, никогда не заплатит. Мне таких клиенты встречались, я даже думаю, что мои разработки по инету ходят и мои курсы на складчинах висят, но таковых всего 1-5% от общего числа. Чем больше вы даете бесплатно, тем больше вы получаете от жизни обратно.


Это ваше мнение, которое вам кажется верным, но с вами многие не согласятся, так как у них есть на это свое, обратное вашему, которое тоже является справедливым
48. Region102 13.09.19 06:34 Сейчас в теме
(46) Да, это мое мнение, и чужое мнение я уважаю, вот только справедливости в мире нет ))) и искать ее не стоит. И судя по вашему обратному мнению, вы считаете что от жизни надо только брать и не давая ничего взамен. И клиенты, купившие разработку, всегда говорят разработчику спасибо, за закрытые исходные коды )
50. d.zhukov 1392 13.09.19 06:42 Сейчас в теме
(48)
е не стоит. И судя по вашему обратному мнению, вы считаете что от жизни надо только брать и не давая ничего взамен.

нет вы не правы) поспешный вывод
60. vis_tmp 32 27.09.19 12:25 Сейчас в теме
Извините, если было описано, но я не нашёл - подходит ли обработка для модулей форм, отчетов и обработок в т.ч. внешних ?
61. leoxz 254 27.09.19 13:02 Сейчас в теме
(60)
Извините, если было описано, но я не нашёл - подходит ли обработка для модулей форм, отчетов и обработок в т.ч. внешних ?

Обработка работает только с текстом модулей (не меняет сами отчеты и обработки).
Модули форм с директивами компиляции обрабатываются. Остальные модули так же обрабатываются.

Здесь важно другое, часть идентификаторов не должна заменяться.
Например для внешней обработки, нельзя заменять имена реквизитов обработки (чтобы в модуле с ней корректно работать). При обработке модуля обычной формы нужно оставить идентификаторы функций модуля без изменения, чтобы к ним можно было обратиться - за этим нужно следить и отключать изменение некоторых идентификаторов.
Чтобы каждый раз не проверять список не изменяемых идентификаторов их можно описать в параметрах в тексте модуля через парметр "GlobalVar "
//#GlobalVar Реквизит1, Реквизит2, Реквизит3, Функция4
62. vis_tmp 32 27.09.19 13:23 Сейчас в теме
(61)Спасибо, вроде бы, понятно
63. capitan 2466 19.12.19 11:50 Сейчас в теме
Из коробки не работает к сожалению.
Первое, что заметно невооруженным глазом -строки с https:// внутри считает комментариями
Еще некорректно обработала такую строку Если чСчетчик % 10 = 0 Тогда - заменило 10 на абракадабру
Поэтому плюс конечно поставлю, но за 4 стартмани пока покупать не буду)

И еще вопрос - если шифровать капикомом - то он понадобится потом на клиенте ?
64. leoxz 254 19.12.19 15:45 Сейчас в теме
(63)
https:// внутри считает комментариями

По https:// - писал выше как обходить, если вы знаете способ лучше, welcome
По шифрованию строк, если на УФ - то на сервере, если на обычном, и там и там может понадобиться (зависит, какой модуль обрабатываете)
65. capitan 2466 19.12.19 16:07 Сейчас в теме
(64)Уже знаю как лучше)
заменяете эти четыре комбинации на https:%, http:%, ftp:%, file:% потом возвращаете обратно

я имел в виду - клиенту который получит обработку, тоже нужен капиком, другими словами если я обработку обфусцирую с капиком и выкладываю к примеру сюда, то для ее открытия капиком понадобится или это только для шифрования вещь ?
66. leoxz 254 19.12.19 18:20 Сейчас в теме
(65)
я имел в виду - клиенту который получит обработку, тоже нужен капиком, другими словами если я обработку обфусцирую с капиком и выкладываю к примеру сюда, то для ее открытия капиком понадобится или это только для шифрования вещь ?

Если Вы шифруете строки то Да, нужно чтобы у получателей тоже была эта dll.

Благодарю за подсказку, попробую
Оставьте свое сообщение