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

 
ForexTools:

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

А кто говорит, что все это без обратной связи? Делается такое очень просто. Перед запуском эксперта пользователю выводится информация о считанных данных, которые будут использованы для дешифрации и только после проверки правильности данных пользователь разрешает запуск - функция init дает добро на запуск start. В этом же окне выдать сообщение с разъяснением о том, чем грозит несоответствие номера счета, для которого продан эксперт и того, на котором запускается. Лицензированный же пользователь будет точно знать, что лицензия распространяется только на его номер счета. В результате, перед запуском ему достаточно проверить правильность определения экспертом номера счета.

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

 
Scriptong:

Делается такое очень просто....

не уговаривайте :) я лично так никогда делать не буду. программа либо всегда работает правильно, либо не работает вообще, но работать не правильно - я такого делать никогда не буду (себе дороже, ИМХО).
 
интересная статья, но все же ответа на вопрос: Как защитить свой код - я личено не нашел.!
 

ForexTools писал(а):

не уговаривайте :) я лично так никогда делать не буду. программа либо всегда работает правильно, либо не работает вообще, но работать не правильно - я такого делать никогда не буду (себе дороже, ИМХО).

Еще чего мне не хватало - кого-то уговаривать. Дело совершать тот или иной поступок - это личная прерогатива человека.

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

 
Vladon:
интересная статья, но все же ответа на вопрос: Как защитить свой код - я личено не нашел.!

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

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

 
jartmailru истину глаголит.
Мда... сцуки разные вскрывают ex4 там и тут...
Попадал как-то на одних ребят, что занимаются написанием защитных прог в этом отношении www.eaprotector.com но так больше чтобы кто то конкретно этим занимался... не находил...
 
Expert:
в этом отношении www.eaprotector.com ...

Привязка к железу может быть сделана чтением одного единственного ключика из системного реестра. Но это не самое хорошее решение. Как продать пользователю ОДИН продукт, чтобы он работал у него на домашнем компе, на работе и на ноуте в дороге? Каждый раз он пользуется только одним экземпляром. Если вы ему поверите и дадите три рабочие защиты, то ктото другой может точно также выудить у вас под этим соусом три экземпляра, и два из них продать комуто еще. Вобщем - каждая палка все равно имеет два конца :(
 
ForexTools:
  Привязка к железу может быть сделана чтением одного единственного ключика из системного реестра. Но это не самое хорошее решение. Как продать пользователю ОДИН продукт, чтобы он работал у него на домашнем компе, на работе и на ноуте в дороге? {...}
Я просто не стал в своем комментарии рассматривать более интересные варианты ;-).
 
Scriptong:

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

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

 

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

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

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