Примеры: Защищайтесь, господа разработчики! - страница 3

 
jartmailru:

  Уважаемый Scriptong, Вы изменили показания :-). Ваше начальное предложение- сделать все без сообщений, сюрпризом :-).

Уважаемый следователь ;) Мы с вами говорим не о прошлом, а о будущем. Поэтому с каждым шагом я его пытаюсь улучшить. Вы мне проблему - я вам ее решение. Как говорится, было бы желание.

А от приведенного высказывания я не отказался, вы опять прочитали все через слово. Я против ввода в коде условия типа

if (ключ != правильный) Comment("Программа несанкционировано скопирована!!")

Если в коде будет такое условие, то взломщику будет проще. Мною предложено выводить в начале программы окно со считанной информацией, чтобы не допустить  использование неправильного ключа. В этом окне независимо от "правильности" копии программы будет выведено сообщение о возможных последствиях несанкционированного копирования. То есть программа сама не сможет определять, рабочая она или нет. Но это и не нужно. Если номер счета, под который программа лицензирована, правильный (а он для контроля выводится на экран пользователю), то никаких проблем с работой программы не будет.

Так что показания в силе. Ищите нестыковочки дальше :)

 
Scriptong:
Я против ввода в коде условия типа
if (ключ != правильный) Comment("Программа несанкционировано скопирована!!")

Если в коде будет такое условие, то взломщику будет проще.

Scriptong совершенно прав - так влоб писать конечно нельзя. Ну нельзя же так буквально воспринимать написанный мною код. Я написал так просто для того чтобы показать какая именно ветка выполняется. По хорошему нужно сделать две (а то и больше) разные по написанию кода проверки. В самой первой - выдать предупреждение. Для отмазки такой же код (ключ != правильный) написать еще гдето чтобы взломщик думал что он нашел место переключения. А в рабочих функциях где определяется что делать а что - нет, проверка должна быть написана по другому (счет != разрешенный || сервер != рабочий) и просто молча сработать внутри кучи другого кода.
 

Да проблема есть и как всегда палка... Вот подскажите как защитится начинающему от советников, которые продают как прибыльные, они хорошо закодированные, а в них простой мартин? Таких случаев море. И интелектуальная собственность нет слов  , дожна быть защищена.Но дело в том, что настоящей интелектуальной собственности практически нет. Просто в 99,99% взята чья-то отработанная идея, отполирована и выставляется на продажу как своя.  Вот у вас продается стакан Оанды. Но ведь Вы же не платите за идею и даже за лицензию наверняка нет. Хотя продкт в оригинале платный.

Я к чему - хороший торговый продукт продавать никто не будет. Я во всяком случае такого не припомню. Не принято у нас делиться. Боимся друг друга. Или просто зависть . Продается либо морально устаревший продукт, либо кот в мешке. Поэтому проблема больше надумана. И еще если взглянуть с высока в Китае 2/3 миллионеров это трейдеры форекс и фондов. Но они всегда , если есть интересная находка делятся между собой и наваливаются все вместе на проблему, шлифуют и пользуются. И все, что тут изобретается давно есть и потому Китайцы уже далеко от нас впереди.

А у нас даже новичек обратиться с проблемой, таких советов наслушаеся от умников. 

Надо вначале обсуждать что именно прятать и от кого. Воэможно вопрос как и отпадет сам собой.

 
goldtrader:

Представлены неплохие методы защиты алгоритма и исходного кода. Кстати имхо не хуже справляется с этим обфускатор. Методов защиты советника от несанкционированного использования не увидел. В любом случае на выходе после MQLEnigma имеем те же функции, на которых основана защита советника: TimeCurrent(), AccountNumber(), AccountName(), TerminalCompany(), IsDemo(), IsOptimization(), IsTesting(). Достаточно пройтись по декомпилированному советнику поиском и нейтрализовать эти функции.

Или я что-то неправильно понял?

Всё правильно, только это ещё пол-беды. Другой вариант поправить сам terminal.exe так чтобы IsDemo всегда был true.

А вообще эта тема старая, и хорошо проработана. Лучшее решение с фронта защиты программного обеспечения это компиляция в исполняемый код

и последующая виртуализация с помощью Themid-ы или VMProtect-а.


Так что ждём MQ5.

 

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

Хотя я лично пишу так, чтобы мне самому было удобно разбираться, и предлельно упрощаю и оптимизирую код, а не наоборот.

Ни о каких защитах даже не задумываюсь. Т.к в основнном это эксперименты для себя. Хотя и есть вполне прибыльные эксперименты, если поймать настроение рынка.

Вот к примеру:

 допустим,  у меня есть  система, и написанный под неё советник. 

К примеру. получается оптимизировать систему. что она начинает уверенно работать постоянно, тогда такой расклад:

Вопрос: как защитить такой код?

Ответ: Бесполезно. После его распространения, слишком большой стимул, чтобы его сломать.

Вопрос: А стоит ли её распространять?

Ответ: Вот именно, А нафиг?

Вопрос: Тогда зачем там защита, чтоб посидеть, поняпрягать себе мозг? 

Ответ: Да нафиг там защита не нужна, лучше это время потратить на оптимизацию стратегии.

И так будут думать если не большинство то многие имеющие что то подобное.


Несколько мыслей по этому поводу:

1. Как ни защищай, при желании сломают. (просто чем круче защита, тем больше нужно времени и  тем сильней нужен программер для взлома)

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

3. Если кто-то написал что- то действительно стоящее, он задумается,  а стоит ли это распространять (касаемо MQL и трейдинга), ведь как известно, прибыльная система которая становится общедоступной (пусть и на платной основе) перестаёт быть прибыльной. 

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

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

 
Slepoy:

Просто в 99,99% взята чья-то отработанная идея, отполирована и выставляется на продажу как своя. Вот у вас продается стакан Оанды. Но ведь Вы же не платите за идею и даже за лицензию наверняка нет. Хотя продкт в оригинале платный.

Не путайте понятия ;) я не продаю данные Оанды, мой скрипт просто распознает картинку которая открыто опубликована на их сайте. И лицензию от них на распознавание картинки мне не нужно. Алгоритм распознавания этой картинки я выписал собственноручно "с нуля" - смотрел на пиксели и разбирал по одному. Так что я честно продаю свой собственный сервис (распознавание картинки и отображение ее на графике).

 
Защита кода зависит только от разработчиков MT4 или МТ5, только они в силе придумать как защитить код советника, индикатора или скрипта. Я к примеру посоветовал им использовать алгоритм AES, его вполне достаточно, от взлома, его использует автор программы WinRAR. А пароль (типа к архиву) это сумма (на уровне ассемблера) реального счета покупателя и кода, который даст продавец советника, который вводится в исходные данные советника. Как реализовать зто, через глобальные переменные МТ4, или специальные дополнительные файлы (имя.ex4 плюс имя.es4, где es4-это ключ, в сумме к примеру дают исходный код плюс реальный счет покупателя советника). Вот только я согласен, что сначала никто на реал не будет ставить, то есть проблема в том, чтобы его сначала покупатель захочет потестировать на демо, на определенный срок. А при тестировании на демо без ограничения срока, можно использовать советники, копирующие сигналы с демо на реал.
 

Если к сути вернуться, т.е. для чего она вообще нужна, эта защита? Чтоб деньги за свой труд получить. (Оставлю в стороне вопрос: зачем вообще продавать, что приносит прибыль.)

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

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

 
Svinozavr:

Если к сути вернуться, т.е. для чего она вообще нужна, эта защита? Чтоб деньги за свой труд получить. (Оставлю в стороне вопрос: зачем вообще продавать, что приносит прибыль.)

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

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

 
ForexTools:

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

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

Конечно, если речь идет по первородстве, то да. Я же говорил об исключительно коммерческой стороне проблеме. Вы ведь ее тоже в т.ч. имели ввиду?

Если человек разумен и честен, то он, конечно, заплатит. Но чем проще будет заплатить, тем больше таких разумных и честных людей будет. Это, знаете ли, как с налогами. Я об этом. Согласен, что это выходит за рамки вашей статьи, но логично из нее следует. Получать оплату за свой труд - ведь вы об этом тоже в статье упоминали. Просто еще один способ получения денег за свой труд.

Здесь не буду, а в личку кину ссылку на сервис, который любую вашу прогу делает СМС активируемой. Может, вам это будет интересно.

Причина обращения: