Защита авторства MQL кода в МТ5. security certificates - страница 6

 

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

Мы разработали очень легкую, автоматическую и достаточно надежную систему купли/продажи MQL5 программ с защитой:

  1. продавец выставляет свой код на продажу и указывает цену
  2. покупатель выкачивает перепакованное демо, тестируется в тестере, но не может использовать этот код физически в терминале
  3. покупатель покупает программу в перепакованном под его железо виде, она запустится только на его компе (для покупки достаточно нескольких кликов)
  4. продавец смотрит отчеты о продажах и подсчитывает профит
  5. всю работу по денежным расчетам делаем мы
В результате продавец не напрягается, вся работа по защите делается автоматически. Покупатель получает программу элементарно в несколько кликов и не парится генерацией, передачей, наложением ключей. Если лицензия слетит, то он сможет переактивировать ранее купленную программу на новом оборудовании до 3х раз.
Документация по MQL5: Программы MQL5
Документация по MQL5: Программы MQL5
  • www.mql5.com
Программы MQL5 - Документация по MQL5
 
Renat:

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

Мы разработали очень легкую, автоматическую и достаточно надежную систему купли/продажи MQL5 программ с защитой:

  1. продавец выставляет свой код на продажу и указывает цену
  2. покупатель выкачивает перепакованное демо, тестируется в тестере, но не может использовать этот код физически в терминале
  3. покупатель покупает программу в перепакованном под его железо виде, она запустится только на его компе (для покупки достаточно нескольких кликов)
  4. продавец смотрит отчеты о продажах и подсчитывает профит
  5. всю работу по денежным расчетам делаем мы
В результате продавец не напрягается, вся работа по защите делается автоматически. Покупатель получает программу элементарно в несколько кликов и не парится генерацией, передачей, наложением ключей. Если лицензия слетит, то он сможет переактивировать ранее купленную программу на новом оборудовании до 3х раз.

давайте оттачивать.

Ведь это серьезно.

Чем больше деталей от Вас тем нам спокойней.

 
api:


 

То, что построено одним, может быть поломано другим.

Строго говоря, абсолютной защиты не существует и ее никогда не реализуют.

Именно поэтому я написал "Вообще, я весьма скептически настроен по поводу защиты от декомпиляции советников/индикаторов. Думаю, что это, скорее всего, недостижимая мечта."

если уйти  в дебри то есть конечно и ASM , код ...

правда при нынешних объемах мало кто будет сидеть и разбирать логику переводя из asm в Си++ или хотя бы получить алгоритм

например вариант получения Microsoft Office в исходный вариант кода !

как раз если начать на версии 2007 , то когда выйдет версия 2057 ( по годам ) может быть будет готово

особенно если будет делать один человек


  как правило проще поняв алгоритм написать что то свое


 
Renat:

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


Ваша идея хорошая и ее можно реализовать.


Просьба всем желающим высказаться о желаемых способах защиты.



один из способов,  код прячется например на сервере,  который выдает на выходе некоторые данные,  получая на вход некоторые данные

код в руки не попадает! только результаты.

 
vicondi:

"Продавать советников..." -  для тех, кто не умеет использовать МТ по прямому назначению - торговле.

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

нереально решить  ВСЕ! , что может быть полезно в терминале!

 
Renat:

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

Если лицензия слетит, то он сможет переактивировать ранее купленную программу на новом оборудовании до 3х раз. 

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

Как вариант, можно организовать в компилированом коде защищенную закрытую секцию, доступ к которой возможен только при наличии пользовательского доверенного сертификата от разработчика кода, привязанного к конкретному счету, ДЦ и/или еще чему нибудь. При этом с MQ практически снимается обязанность проводить мероприятия по обеспечению защиты кода MQL. Это будет уже прерогативой самого разработчика пишущего чего либо на MQL. МТ теперь должен будет заниматься только проверкой сертификатов и диcпетчеризацией доступа в  закрытую часть кода MQL. Типа есть сертификат - можно закрыть часть кода или весь код вообще, нет сертификата - весь код в открытой секции. Ну и в компилятор MQL придется встроить механизм закрывающий код сертификатом разработчика. Как говорится "простенько и со вкусом"... :) На сегодняшний день это один из самых надежных и доступных методов защиты ПО известных мне. Где брать сертификаты? Да на том же VerySign или ему подобных сервисах (кому где удобнее или выгоднее будет) профессионально занимающихся этим ремеслом. 

 
ir0407:

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

Как вариант, можно организовать в компилированом коде защищенную закрытую секцию, доступ к которой возможен только при наличии пользовательского доверенного сертификата от разработчика кода, привязанного к конкретному счету, ДЦ и/или еще чему нибудь. При этом с MQ практически снимается обязанность проводить мероприятия по обеспечению защиты кода MQL. Это будет уже прерогативой самого разработчика пишущего чего либо на MQL. МТ теперь должен будет заниматься только проверкой сертификатов и диcпетчеризацией доступа в  закрытую часть кода MQL. Типа есть сертификат - можно закрыть часть кода или весь код вообще, нет сертификата - весь код в открытой секции. Ну и в компилятор MQL придется встроить механизм закрывающий код сертификатом разработчика. Как говорится "простенько и со вкусом"... :) На сегодняшний день это один из самых надежных и доступных методов защиты ПО известных мне. Где брать сертификаты? Да на том же VerySign или ему подобных сервисах (кому где удобнее или выгоднее будет) профессионально занимающихся этим ремеслом. 

1. Привязка к железу приводит к определенным неудобствам. Но на данный момент (при достаточно хорошей организации) это вполне эффективный и надежный способ защиты.

Вопрос только к чему привязывать будем. Предлагаю также увеличить число "инсталляций" с 3 до 10 (как минимум).

2. Уверен в том, что как раз наоборот, все работы по защите должны выполняться MQ. Возможно и привязка к торговому счету должна быть и ограничение по срокам использования (но это уже как дополнительные опции, по желанию разработчика).

 
Как будто есть другие варианты защиты?
 
Renat:
Как будто есть другие варианты защиты?

Если рассматривать с точки зрения программиста пишущего для трейдеров на MQL

mql5  - скорее всего простоит дольше - может очень долго - но не факт, что не сделают декомпилятор.

mql4 - защиты кода нет к сожалению - только некоторые методы дают небольшой запас прочности


Можно не привязываться к железу в некоторых случаях,

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

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

----

другой вариант

В контексте MT4/MT5 MQL4/MQL5 + DLL привязку можно делать не к железу  а к номеру счета (номерам)  , для реалов  и/или фамилия  имя   ,  по варианту отчество

этот путь самый простой  в плане защиты (именно для данной специфики) - мобилен не требует привязки к железу.

И мальчики с фауспатроном ( в виде декомпилятора MT4) отпадают.

Остаются только более серьезные парни знающие ASM, умеющие ломать на уровне дебагера ,различных логеров , декомпиляторов, других  продвинутых схем,

а их уже меньше и услуги их дороже.

 
Renat:

Для начала распишите, пожалуйста, в деталях свой механизм с ключами и всем механизмом взаимоотношений между покупателем и продавцом.  ...

к примеру


покупатель: находит в интернете информацию , пишет хочу купить

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

покупатель: оплачивает и высылает данные для персонализации , номер счета или фио которые и являются ключиком

продавец: отправляет товар привязанный по персональным данным.


в идеале это все!

у меня такие случаи есть,  и не так мало

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