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

Администрирование - Защита, права, пароли

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

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

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

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

 После выполнения в том же каталоге создается файл защищенный файл обработки с добавленным "_P" к имени. 

Рекомендации по усилению защиты:

1. Не давайте осмысленные имена важным экспортным методам и переменным типа "ЭтоПравильныйСерийныйНомер"

2. Используйте экспортные методы только для вызова локальных методов:

 
 ПРИМЕР

3. Шифруйте (например при помощи capicom) или вычисляйте важные значения (если таковые есть), присваиваемые переменным.

 
 методы для работы с capicom

4. Будет лучше, если в важных местах для проверки условий добавите функции:

 
 ПРИМЕР

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

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

Наименование Файл Версия Размер
Защита модулей:
.epf 106,62Kb
10.05.18
0
.epf 106,62Kb Скачать

См. также

Комментарии
1. Андрей Калякин (kalyaka) 244 11.05.18 10:00 Сейчас в теме
Антитезис: обработка сделает все возможное чтобы максимально затруднить использование Ваших решений :) Если Вы пишете простой, понятный, сопровождаемый код, то Вы все делаете неправильно! Обработка решит Вашу проблему, но и Вы можете помочь ей, следуя рекомендациям "правильного" написания кода, данным в статье.

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

Применение же такой обработки для защиты решений, встраиваемых в другие системы с открытой архитектурой не вижу смысла.

Защита же интеллектуальной собственности имеет смысл, если эта собственность имеет очень большую ценность с одной стороны и большую стоимость создания с другой - иначе при наличии спроса вероятнее найдется "свободное" решение и будет использоваться оно, а не закрытое. "Свободное" решение выигрывает за счет использования потенциала большого количества участников свободных сообществ (например github, infostart), а защищенное лишено таких возможностей.
Terve!R; lunjio; bulpi; Kott01; +4 1 Ответить
2. Вадим . (ice-net) 4 11.05.18 10:14 Сейчас в теме
Для защиты решений от "неоплаты" вполне себе годная вещь. Плохо, что есть вероятность что-то сломать при кодировании.. Код закрыт?
5. Борис Данилин (boris.danilin) 24 11.05.18 12:13 Сейчас в теме
(2) да, вероятность поломки есть и её не избежать. Код закрыт.
4. Борис Данилин (boris.danilin) 24 11.05.18 12:09 Сейчас в теме
(1) Не первый раз обсуждается и всё равно разработчики нет нет - да и пытаются как то защитить свои труды зачем то. Демо версии обфусцируют, пароли на модули ставят и делают поставки без текстов.
8. Денис Жуков (d.zhukov) 166 12.05.18 09:00 Сейчас в теме
(1) Приведите мне хотя бы одну причину, почему я не должен защищать свое коммерческое решение, в которое вложены огромные труды? Знаете ли, есть куча желающих перетянуть основной механизм, после просто навешать своих кнопочек и выдавать за собственную разработку, сделав цену немного ниже моей. Мне что в этом случае делать, как пострадавшему от плагиата и потери потенциальной прибыли? радоваться "звездочке", которую он мне поставил скачав мою обработку? нет уж спасибо)
9. Андрей Калякин (kalyaka) 244 12.05.18 21:47 Сейчас в теме
(8) Я исхожу из интереса потенциального покупателя Вашего ПО. Если покупатель заинтересован в использовании ПО, то его могут интересовать следующие его характеристики: качество, безопасность, сложность.

Качество - это потенциальные риски неоправданных ожиданий и дополнительных затрат.

Безопасность - потенциальные угрозы ПО: уничтожение данных преднамеренное или нет, кража данных.

Сложность - риск потенциальных затрат на сопровождение и также наличие ошибок.

Данное решение увеличивает риски по приведенным характеристикам. Т.о. конкурентных преимуществ защита ПО путем закрытия кода не будет приносить и при прочих почти равных условиях выбор будет в пользу открытого ПО.

Еще есть такой эффект как "коммодитизация ПО", который выдавливает коммерческие программные продукты в пользу отрытого ПО (см. подробнее в Николас Карр "Блеск и нищета ИТ")

Кстати, можно проанализировать выложенное на Инфостате коммерческое ПО и посмотреть продажи ПО с отрытым кодом и закрытым. Я попробовал посмотреть и заметил, что если код открыт, то это прямо упоминается в описании, а если закрыт - обычно нет.
10. Денис Жуков (d.zhukov) 166 13.05.18 06:47 Сейчас в теме
(9) Качественно реализованное решение прямо сказывается на результат его работы. не думаю что большинство полезет в модуль объекта для оценки данной характеристики. На счет безопасности.. ну начнем с того, что язык 1с не предназначен для поиска паролей или пин-кодов на компьютере пользователя. Тем более если хотя бы один покупатель решения заметит подозрительные процессы и заявит об этом на инфостарте, поверьте проблем разработчику хватит. Потенциальные затраты покупатель может выявить сам, да и в любом случае можно заранее все уточнить у разработчика.
3. Monkey Coder (yurii_host) 1676 11.05.18 10:34 Сейчас в теме
Я использовал эту, и ее модификацию для управляемых форм (эту).

Чем ваша обработка лучше, чем ее аналоги, уже проверенные временем?
6. Борис Данилин (boris.danilin) 24 11.05.18 12:21 Сейчас в теме
(3) Это не аналоги. Изменить обфусцированный код модуля 1С значительно проще, чем разбираться в скомпилированном байт-коде.
grumagargler; +1 Ответить
7. Семерка Семерка (raietchie) 11.05.18 12:21 Сейчас в теме
(3) +
Monkey Coder, очень хорошо себя зарекомендовала ...
11. Юрий Тимофеев (Tatitutu) 3778 13.05.18 15:16 Сейчас в теме
11 лет продаю коммерческое решение - MAGAZKA - программа для розничного магазина
Основной код закрыт , но это не мешает никому - тех.поддержка 24 часа 7 дней в неделю 365 дней в году

Все "детские" болезни вылечены.
Любой объект можно заменить на свой.
внешние обработки и отчеты и внешние печатные формы.

14 стран , более 4000 клиентов ...
И только свои коллеги программисты иногда "сетовали" на то что код закрыт - остальным - главное чтобы качественно работало
12. Валерий Калинин (klinval) 254 24.05.18 13:52 Сейчас в теме
(11)
Основной код закрыт , но это не мешает никому ...
И только свои коллеги программисты иногда "сетовали" на то что код закрыт - остальным - главное чтобы качественно работало

Обращались ко мне уже давно по вопросу доработки Вашей программы. Закрыто как по мне на самом деле много. Сделал для себя такой вывод, т.к. помочь по абсолютному большинству вопросов не смог из-за закрытости кода. Отправил к Вам.
Оставьте свое сообщение