Как защитить расширение 1с от копирования
Добрый день уважвемые знатоки :). Вот у меня такая ситуация. Разработана конфа что-то типа документооборота одинэсовского, но упрощенная. Клиенты которые заказывали эту конфу очень довольны и говорят их партнеры тоже себе такую хотят. У меня появилась идея продавать ее, но тут встал вопрос. Что помешает ей попасть в интернет и пойти по рукам?
У меня была думка привязать конфу при первом запуске к компу или к сети, но не могу найти вариантов как это сделать? Может кто знает?
И вообще, у кого-нить был подобный опыт? И как наиболее эффективоно защитить свое тварение?
На платформе 8.3
Забыл сказать, пока рассматриваю вариант только с закрытым конфигуратором. Т.е. заходить в модули смогу только я.тема сто раз обсуждена - никому твоя поделка не нужна, а сто процентной защиты несуществует
(0) Клиенты которые заказывали эту конфу не имеют права смотреть модули?
(8) Долбодятловский подход.
У тебя договор с ними есть ? В договоре прописано что все что ты делаеш принадлежит тебе ? Не авторство а именно весь код твой ?
Если нет - то ты не имеешь права вырезать его.
(12) если я покупаю у тебя конфу, то должен иметь право ее изменять как мне заблагорассудится
(0) Да вот только что было тема
(15) Мне код не нужно защищать, я не хочу чтоб моя конфа запускалась на друзих компах.
(13) 1)Код я не защищаю, про авторство есть пункт, ну там и про код написано, все обработки они не имеют права продавать или использовать на левых фирмах.
(19) А если у них компьютер сломается? Ещё раз конфу покупать?
(18) самая лучшая защита это невозможность самому настроить систему - видел такие разработки, вроде бы работают, но сам ты их хрен настроишь
(18) "я не хочу чтоб моя конфа запускалась на друзих компах" - мало ли чего ты не хочешь. А если у клиента комп сгорел, ему что, по новой у тебя лицензию покупать?
(18) Все равно не имеешь права. Статья ГК есть где прямо говорится о .
(16) он же будет продавать право на использование
никто никого не заставляет
(19) а приемники детекторные или гетеродинные? А может, тёплые ламповые?
(22) нет не нужно! Ребята, я у вас не юридической помощи прошу, а технический вопрос тут, как можно привязать конфу к компу или к сети.
(24) Право на использование, которое не позволяет пользоваться программой? :))
(29) право на использование..
но будет защита от незаконного использования..
главное не закрывать код
(0) и кому этот недодокументооборот нужен? при наличии полноценного?
Не хочу облако. Вообще есть же функции считывающие конфигурацию компьютера? (39)
(37) выложи хотя бы ключевые особенности твоей поделки, а то как-то скучно
(42) Да обычный документооборот, просто как мне кажется получился довольно удобный и простой в обращении.
(0) тоже переживал, код закрывал, а потом забил, все равно по итогам у всех кто купил код открыт.
(48) не стоит забывать, что защищенные конфигурации могут использоваться как триальные. Глупо выкладывать в общий демо-доступ обрезанные версии со словами - "купите, и будет вам то что надо, мы только в демо это убрали"
(0) смотри мой профиль
можно хасп прикрутить с проверкой в глобальном, а на глобальный модуль поставить пароль, я так делал, но то была семерка, но в восьмерке, что-то подобное можно сделать
(0) Уже упоминалось. Есть нормальный инструмент от 1С для партнеров - СЛК. Всё остальное - полумеры.
Суть - часть модулей выносится во внешние библиотеки, доступ к которым лицензируется.
Одна беда - оно только для партнеров. Кстати, почем они его партнерам продают, если используются программные лицензии, а не аппаратные?
(0) А вот интересный вопрос к чему можно привязать базу на компьютере и как эти данные надёжно получить?
(52) Он ломается, если знаешь как и нет специальных ухищрений за 10 минут.
(52) есть единственный нормальный инструмент - см мой профиль, и продается он всем желающим
Автор, ты готов обеспечить работу своего кода без ошибок на любой существующей И БУДУЩЕЙ операционке, в любом программно-аппаратом окружении, без сна и отдыха?
Тогда закрывай, и получай треть от продаж конечным потребителям, у которых нет программиста (2/3 отвалятся, т.к. не донесёшь информацию о нетленке, бОльшая часть остальных часть отвалятся из-за отсутствия главного преимущества 1с-ного кода, открытости и модифицируемости. Часть из купивших вернут его или заставят исправлять специфические ошибки.
Кстати, даже БИТ делает инструменты для деактивации своей защиты, и даёт их своим разработчикам. Видимо, черенок бывает убедителен.
(54) Почитал про технологию защиты. Всего лишь динамическая обфускация, затрудняющая написание универсального декомпилятора. Но вовсе не делающая его невозможным. А в отличие от разового взлома, взломаны будут одновременно все продукты.
(54) Но справедливости для, если бы мне было нужно - я бы, наверное, твой продукт купил. Потому что нужно здесь и сейчас, а когда взломают и взломают ли - бабка надвое сказала. Сильно зависит от темпов роста популярности продукта и защищаемых им продуктов.
(56) Rebelx в одном из роликов показывал взлом через утилиту для 7.7. Нашёл способ и проще, но по этическим причинам промолчу.
(56) при обфускации происходит потеря информации, так что часть данных никак не извлечь, а остальное может превратиться в такой 1С код, что его будет безумно сложно читать и желающих просто не найдётся.
(57) + Ыыыыы! Не, не купил бы :) Мне за глаза хватило бы GoldenKey, о котором я узнал с твоего сайта :)
(58) Речь ведь не об утечке идей, а о том, чтобы просто сделать защищенную конфигурацию работоспособной. Дорабатывать защищенный код ты и платной версии не можешь.
(58) Посмотрел на ролики про взлом. Они предельно невнятные. Говорится всего лишь о том, что автор якобы владеет методами взлома. Я вполне верю, что владеет. Но если этих методов нет в открытом доступе - такой защиты для меня достаточно.
(58) По этическим причинам, кстати, было бы неплохо уведомить авторов защит про найденные дыры безопасности. От этого выигрывают все. Заодно и bug bounty можно попробовать срубить.
(61) У кого как. Скорее обвинение во взломе получишь. И всё равно, на время расшифровки ведь ключ нужен, так что уязвимость небольшая.
(62) Ты о том, что при наличии ключа можно дампить расшифрованные блоки? От такого, наверное, стопроцентной защиты не существует. И это надо целенаправленно ломать конкретную конфу при наличии ключа.
(63) Нет, с дампами не получалось. Я говорю о получении внешней обработки, которая извлекается из файла dat и расшифровывается ключом.
(64) А что это даёт? Я не в курсе структуры СЛК просто. Что делает эта внешняя обработка? Она и содержит тексты шифрованных модулей?
Меня вот сильно заинтересовала концепция шифрования текстов запросов. Реализуется относительно легко и безболезненно. Спрятать несколько больших запросов в ключевых точках - этого вполне достаточно чтобы отбить охоту к халяве для поделок средней руки.
А для конфигураций с большими претензиями уже и СЛК не жалко.
Но при наличии хотя бы одной купленной версии, всё "ломается" мгновенно :) С другой стороны, купившие, как правило, не стремятся способствовать распространению пиратских версий. Ну, и минимум одну версию все-таки купят :)
(68) поэтому надо писать, так запросы, что-бы больше 10 пользователей не переваривало.
(68) Ну, конфигурации с лицензированием рабочих мест - это, ИМХО, уже другая лига. В которой СЛК вполне себе оправдывается.
На самом деле, пользователям нужна не столько программа, сколько поддержка. Поэтому, нормально написанные версии и покупаются, так как их могут настроить и доработать под нужды заказчика.
Защищают решение обычно не от жадных пользователей, а от конкурентов, так как кто-то может взять ваше решение, пересобрать его и продавать под своей маркой.
Причём, никакая защита не остановит тех, кто уже имел дело со взломом - они всё равно справятся.
Поэтому, защита должна быть такая, чтобы рядовой пользователь или недопрограммист её не осилил, и не больше.
(69) Вот повезёт тем, кто купит решение на сотню мест, сколько всего переписать придётся. :)
(70) Так кто сказал, что эти рабочие места в одной базе или на одном сервере? Всем друзьям-коллегам раздадут, если смогут.
(72) Я правильно понял, что претензии к СЛК только в части защиты внешних обработок?
Обычно, остальная целевая аудитория продукта - это не друзья-коллеги, а прямые конкуренты.
(73) Основная претензия, что она сама на клиентские места ставиться и обновляться не может. Только отдельным установщиком с правами администратора. Если вышло обновление защищённых частей, то операцию надо повторить.
Ключ стоящий у пользователя может расшифровывать обработки-отчёты и файлик с параметрами (по сути структура), а ещё хранить в себе данных 400 байт, которые можно читать-писать зная пароль, и стереть их даже без знания оного. Вроде всё что он может перечислил, маловато функционала.
А ещё помню, там какая-то хитровывернутость была с тем, что ключи в паре работали, а не отдельно.
Про глюки не знаю, но жалуются Чем защитить код тиражного решения .
(73) А партнёры? А дома поработать?
(74) С дистрибьюцией - проблема понятная и ожидаемая. Меня интересовала надежность защиты в основном режиме - вынесение общих модулей. Насколько я понял - тут никаких претензий к надежности защиты нет.
Да ну маловероятно это всё. Продукт ведь будет развиваться. Это каждый раз при выходе обновления специально обученный человек должен его ломать и дистрибьютить по партнерам? Плюс если что не так - то и поддержка на нем? Не проще ли платить за то же самое автору?
(72)
>> (69) Вот повезёт тем, кто купит решение на сотню мест, сколько всего переписать придётся. :)
угу, а оно еще и закрытое.
(0) Сейчас наблюдаю, как потребители изменяют разработанную мною конфигурацию. Кошмар. Идеологии программы они восстановить по текстам не могут. Ноу-хау осталось у меня.
+ нестоит забывать, что многое любят халяву , но немногие готовы раздавать купленное нахаляву.
Приведу простую статистику : у меня в дистрибутиве есть текстовый файл "Внимательно читаем" и в нем почти в самом конце. Спасибо за внимательность .Вам скидка на покупку 30% и спец.код.
За четыре года . только 34 клиента нашли- это очень очень маленький процент из общего количества.
Если мне звонят, и просят помочь, я сразу спрашиваю: пиратка?
- да
- до свидания.
Человек изначально не готов оплачивать работу программиста. Он не ценит мою работу.
+(79) и да, многие подходили и просили "скопировать" то Винду, то 1С - всем, до-свидания, причем аргументировано.
(0) забей. и выеденного яйца не стоит. все это стереотипы.
(0) и да лучшее решение - это свое решение.
И всегда нужно помнить , что защита - для законопослушного гражданина.
Думай дальше: сделать проверку на проверку "взлома" твоей программы.
Еще лучше проверку на проверку взлома.
(Эксперементируй)
Лучшая защита - это твоя подержка и развитие продукта.
(Ломанули - молодцы! И вот только теперь твоя проверка.обновиться нельзя (или только с твоей помощью)
П.С. К слову. У кого-то слышал: любая, самая лучшая идея стоит максимум 20 долларов. А вот стоимость ее реализации уже практически не ограничена.
(0) автор, уже спит и видит как к нему ломятся сотни, нет сотни тысяч клиентов, и суют и суют деньги много денег, только бы получить его нетленку.
встраивай тогда уж вирус-шифровальщик, что-бы с поддержки не слезли.
(0) лучшая защита это отсутствие документации по настройке:)
А если серьезно, то вполне можно ограничиться лицензионным договором.
Основным преимуществом 1С всегда был открытый код, только большие и малые 1С-долбодятлы стремятся убить это достоинство
Из-за гребенной защиты уже половину модулей переписал сам. Скоро от защиты то ничего не останется.
(87) +1 что интересно -защита ставится на конфигурации, которые сильно кастомизируется под бизнес-процессы заказчика и никаких обновлений от разработчика уже не ждут. Очевидно, что хащита это цепь для заказчика.
Поубивав-бы этих защитников :)
Честно говоря за то время что кромсаю этот акселот можно было уже свой взять и наваять. Так что уважаемый (0) автор нетленки. Никому на**** твоё решение не нужно. А если и нужно то только лишь с поддержкой.
(76) Нет, переписывать придётся разработчику или деньги возвращать.
(88) Не нравится не бери, не заставляют же.
(90) Ждём вашу версию акселота без защиты?
(91)
>>Не нравится не бери, не заставляют же.
Для этого надо, что нить свое сделать - а для этого мало умения на форуме возмущаться - надо еще, что то уметь делать - а с этим проблема.
>>Ждём вашу версию акселота без защиты?
Долго ждать придется - чуть больше чем вечность.
(93) Так ведь все очень просто - если проблема отсутствует - то зачем покупать чужое и хаять его на каждом углу?!
Гораздо проще написАть свое и наслаждаться жизнью :)
(93) Большинство решений не от 1С имеют защиту, к чему бы это.
Возражений против защиты много, но её всё равно разработчики ставят, а клиенты приобретают лицензии на решения с ней.
(94) +1
(94) . зачем покупать чужое и хаять его на каждом углу?! - с чего вывод о факте покупки чего-то чужого, перечисли углы нахаивания.
защита конфигураций вполне приемлема для ларечников, но применение защиты для систем с >10 пользователей считаю глупостью
(96) Лицензии на 300 и 500 мест от 1С тоже глупость?
(60) Ролики показывают, что методики существуют. И я точно знаю, что не только у меня, например с.м. (58)
(56) ты правильно написал - "динамическая обфускация". Она динамическая не только в пределах одного модуля. Она динамическая во времени - мы выпускаем обновления, а там алгоритмы меняются.
(95) Все, (!)абсолютно все(!) решения 1С имеют защиту от не лицензионного использования - такая защита встроена в платформу.
Можно проверять правомерность запуска обработки непосредственно в модуле самой обработки (вне процедур и функций) в зависимости от параметров ИБ, конфигурации, пользователя или свойств компьютера. Вызывать исключение, если правомерность не соблюдена по результатам проверки. Соответственно, форма обработки не будет открыта, так как будет вызвана ошибка еще на этапе инициализации модуля обработки. Модуль обработки, понятное дело, нужно запоролить.
(2) снести пароль модуля обработки не составляет особого труда.
(3) Копированием обработок или неправомерным их использованием, как правило, занимаются пользователи. Вряд ли они будут таким заниматься, так что какую-то долю пользователей это остановит. А для тех, кто сможет снять пароль, обычно чужие обработки не представляют интереса.
снести пароль модуля обработки не составляет особого труда.
Нормальная защита это порядочная морока. И для разработчика и для ломщика. :) Поэтому я ее не использую.
Если уж совсем надо и на ограниченный период, чтобы показать заказчику тестовый вариант, а доверия к заказчику нет, использую обфускацию.
(5) Вопрос не тестового варианта, а чтобы заказчик потом не пустил в тираж.
Вопрос не тестового варианта, а чтобы заказчик потом не пустил в тираж
привязку сделал к ИНН ( любые варианты ) , код обфускацировал, и отдал заказчику!
(13)На Инфостарте не общаешься непосредственно с заказчиком. Поэтому не можешь забить ИНН непосредственно в обработку. Также с любыми интернет продажами.
(7) Нету простого варианта. Те разработчики конфигураций, которые хотят защитить свои разработки от неправомерного использования давно перешли на лицензирование.
(9)Вопрос не конфигурации. А внешней обработки стоимостью 1000 - 1500. Чтобы людям было проще купить, а не заморачиваться со взломом.
(15) ну дак зашифруй модуль :) И пусть пользуются.. дарят и т.д. Самое главное это ТП , а сама обработка/разработка . ИМХО - дело десятое :) .. Чем чаще будут выходить обновления с новыми "плюшками" тем больше будут понимать что купить.. это выгоднее так как есть ТП и выгоднее и быстрее через ТП общаться чем звать "кодера" который открыв обработку увидев обфусицированный код .. через пару минут и закроет ее и скажет .. проще купить!
(16)Вопрос не в обфускации.Это само собой. Как раз хотелось бы чтобы не дарили или хуже того продавали.
А насчет обновлений. У меня многие обработки работают, несмотря на обновления конфигурации по нескольку лет.
насчет обновлений. У меня многие обработки работают, несмотря на обновления конфигурации по нескольку лет.
- да причем тут работают или нет :) Одна две фичи раз в квартал :) Можно к e-mail привязку сделать или по номеру заказа на ИС и т.д. Автополучение кода активации через почту и т.д. вариантов море :)
(19) Вот насчет этого пожалуйста поподробнее. Хочется выбрать оптимальный вариант.
(9)Хотя криптозащита, привязанная к компу или базе - это идея.
В 1С - 99 процентов функционала и идей кроется в кнопках, формах, последовательности действий.
Я бы сказал что именно последнее - самое главное. Именно то как сделаен визуальный интерфейс и налажена работа решения.
Вот это воруют.
Код вообще неважен, сколько важна сама работа.
ВЫВОД - закрытый код мало кого волнует. Основной тупик у тех кто не может сделать что то подобное, это как раз не могут наладить и построить джружелюбный интерфейс, а интерфейс ты никак не защитишь.
Даже иногда просто что то пытаются получить, только ради того чтобы понять какие реквизиты, форму сделать.
99 процентов 1Сников кодеры, но все забывают что формы и функционал кроется как раз в последовательности работы.
И вот это большинство не умеет.
Воруют не код, воруют МЕХАНИЗМЫ РАБОТЫ.
(29) а как же я?
У меня закрытые решения (код закрыт), ПО УМОЛЧАНИЮ.
Но я код сообщаю сразу же при первом требовании.
Так вот сколько у меня клиентов получают решения, и 1 процента нет тех кто бы попросил пароли.
Я специально сделал пароль. Потом все удивляются когда его видят. Но я его поставил как раз для того чтобы анализировать запросы от клиентов на предоставления пароля либо жалобы что код закрыт.
В итоге моя статистика такая, что и 1 процента нет тех кто бы спрашивал эти пароли. Вообще единицы. А продажи тысячами.
МОжет это также значит, что я реально сделал работающие программы, в которых нет нужды кому то ковырятся, функционал покрывает все задачи.
И да - удивительно что программисты моих клиентов добропорядочные. Даже очень часто других клиентов приводят.
И кидалова я в общем не наблюдал НИКОГДА.
А вот от тех кто становился ПАРТНЕРАМИ - три кидака, конкретных. Которые и своровали, и соврали, и клиентам врут.
Следующий вывод - работающие программисты более честные, чем партнеры, которые пальцем не ударив, просто хотели денег денег заработать с продаж.
Не стоит доверять тем кто говорит что хочет быть партнером и продавать наработки. Очень высокая вероятность кидалова от "продавцов".
И с недавних пор, появилась необходимость защищать нашу конфигурацию от воровства (различных швейных предприятий в Ивановской области немерено), мы провели небольшое исследование о методах защиты кода в 1С и результатами я спешу поделиться.
Штатные средства
Начнем со штатных средств защиты своего кода от копирования. Это можно сделать двумя способами.
Установить пароль на текст модуля.
Исключить текст модуля из поставки конфигурации.
При использовании этих методов код модуля превращается в байт-код, который можно декомпилировать (если захотеть) и некоторые инструменты в помощь начинающим есть в свободном доступе (правда они, насколько я знаю, предоставляют только базовые возможности).
Кроме этого, штатными средствами не удастся спрятать код модуля формы (хотя код модуля объекта спрятать можно).
Обфускация кода 1С
Использование внешних компонент
Неплохой метод для случаев, когда ценность представляет сам код (какой-либо уникальный алгоритм, например), а не вся конфигурация. Так как вынесение проверки легальности запуска конфигурации во внешнюю компоненту поможет не более чем установка пароля на модуль.
К минусам же, относиться необходимость переписать код 1С на другом языке (что тоже, зачастую, задача нетривиальная) и большие трудности с отладкой.
Решения сторонних разработчиков
Есть компании которые профессионально занимаются вопросом защиты интелектуальной собственности разработчиков на 1С. Примером можно привести компанию WiseAdvice.
Суть их метода сводится к вынесению части кода в отдельную обработку, которая храниться в каком-либо зашифрованном хранилище. Доступ к это части кода осуществляется при помощи специальной внешней компоненты, которая и определяет доступ к зашифрованной обработке.
К плюсам такого подхода относится высока надежность защиты кода (во многих подобных решениях код в расшифрованном виде появляется только в оперативной памяти и только в момент исполнения этого самого кода) и отсутствие необходимости переводить код 1С в код какого-либо другого языка программирования.
А к минусам стоит отнести саму необходимость выносить код во внешние обработки и некоторые другие сложности связанные с использованием подобных систем.
Делая вывод, можно сказать, что нет абсолютно надежного способа защитить свою конфигурацию от нежелательного запуска (поправьте, если не так). В то же время для защиты частей кода от копирования есть немало надежных решений.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 4, средняя оценка: 4,75 из 5)Читайте также: