| Автор |
Сообщение |
Сообщения: 15
Страна: Украина |
 30.04.2008 в 09:42
До недавнего времени у меня неплохо получалось удовлетворять все запросы заказчиков, используя C# и Visual Studio - 2005, пока один из них не потребовал защитить свою программу. Вот тут-то все и началось. До сих пор не могу найти оптимального решения - все перепробованные способы или требуют кучу денег или приводят к неработоспособности программы. Может кто-нибудь даст полезный совет в этом вопросе?
|
Сообщения: 86
Страна: Россия |
 30.04.2008 в 09:51
От чего вы хотите защитить свой продукт?
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 09:56
От декомпиляции, например, ildasm, то есть скрыть исходный код от просмотра.
|
Сообщения: 289
Страна: Россия |
 30.04.2008 в 10:10
p_fateev, оставьте эту идею. NET это не то, что можно хорошо защитить)
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 10:23
Я уже готов с этим согласиться, но многочисленные разработчики обфускаторов, предлагающие свои продукты за бешеные деньги, вероятно, имеют на этот счет иное мнение...
|
Сообщения: 939
Страна: Россия |
 30.04.2008 в 10:32
Можно некоторые ключевые функции программы вынести в DLL (ActiveX или Native).
|
Сообщения: 5
Страна: Казахстан |
 30.04.2008 в 10:35
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 10:45
Заказчику нужна программа, требующая регистрации (проверки рег. ключа), поэтому частичная защита не подходит, так как даже если фукции проверки регистрационного кода вынести, в любом случае их можно будет обойти
|
Сообщения: 1657
Страна: Украина |
 30.04.2008 в 10:49
Цитата (p_fateev): До сих пор не могу найти оптимального решения - все перепробованные способы или требуют кучу денег или приводят к неработоспособности программы. Может кто-нибудь даст полезный совет в этом вопросе?
А можете ли пожалуйста привести пример таких систем, которые "требуют кучу денег", и сколько именно они стоят?
Может быть "куча денег" - это вовсе не куча, а мелочевка для заказчика?
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 10:53
Спасибо за ссылку, я уже не раз перечитывал эту статью.
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 10:55
Например, Inquartos ® Obfuscator стоит 8000 рублей. При этом бесплатная ограниченная версия "калечит" программу. Я не думаю, что советовать заказчику этот вариант - отличная идея.
|
Сообщения: 1657
Страна: Украина |
 30.04.2008 в 11:32 [Отредактировано: 30.04.2008 в 11:34]
8000 руб (350 USD) - мелочи для любого разумного заказчика, если он конечно не студент.
Это разовая трата, и при этом приобретается продукт, который можно использовать для всех своих проектов.
А разработка подобного же решения с нуля своими силами выйдет неизмеримо дороже.
Ведь стоимость разработки не очень мощного .NET обфускатора - не менее 2-3 человеко-месяцев (даже если считать по джуниорскому рейту 10 USD в час, бюджет будет не менее 4000 USD).
Другой вопрос, что оно, возможно, кривое, и что-то "калечит".
В этом случае нужно выбрать другой солюшен, или с пообщаться с их саппортом, чтобы посмотреть на платную версию в работе.
|
Сообщения: 15
Страна: Украина |
 30.04.2008 в 11:48
В принципе, я согласен с тем, что мне, как .NET разработчику, не помешало бы иметь среди своего инструментария какой-нибудь более-менее приличный обфускатор (купленный за средства какого-нибудь заказчика  , но в данной ситуации проект малобюджетный, поэтому хотелось бы найти и соответствующее решение.
|
Сообщения: 21
Страна: Эстония |
 02.05.2008 в 09:05
|
Сообщения: 86
Страна: Россия |
 02.05.2008 в 09:34
Так все таки от декомпиляции или просмотра исходных текстов? Ищите вы все же обфускатор.
А вы пробовали декомпилить свое творчество, видели исходные тексты? Насколько они "похожи" на оригинал?
|
Сообщения: 15
Страна: Украина |
 03.05.2008 в 12:16
Еще раз о сути вопроса: есть программа, написана на C#. Необходимо защитить программу от возможности внешнего вмешетельства, а именно обхода метода, проверяющего наличие и валидность серийного номера. Большое спасибо всем, кто откликнулся на мое сообщение, но мне хотельсь бы услышать совет от кого-нибудь, кто также сталкивался с такой проблемой и кому удалось все-таки ее решить. Я не сказал бы, что все сводится к поиску обфускатора - есть и другие решения этой проблемы (например, http://www.codeproject.com/kb/cpp/softwarekey.aspx), но если кто-нибудь мне скажет, что с успехом польуется каким-нибудь обфускатором и доволен этим - это тоже будет тот совет, которого я ожидал.
|
Сообщения: 15
Страна: Украина |
 03.05.2008 в 17:20
Warvick: за Dotfuscator спасибо, достойный вариант.
|
Сообщения: 98
Страна: Россия |
 03.05.2008 в 23:22
Как человек, занимавшийся декомпиляцией всего и вся скажу вам откровенно - нихера у вас не получится. Грамотный кракер если даже не получит исходный код, который можно скрыть обфускатором, то за день-два изучит байт-код обычным декомпилером и по нему восстановит алгоритм генерации ключа, либо сделает битхак на пару-тройку команд и обойдет всю проверку. Защитить ПО чисто программными методами невозможно. А уж ПО на .NET и подавно.
|
Сообщения: 1657
Страна: Украина |
 03.05.2008 в 23:40 [Отредактировано: 03.05.2008 в 23:45]
akkort, конечно, 100% защиты нет, но можно код усложнить.
Например, нормальный обфускатор не только делает код нечитаемым, но и добавляет в него избыточный код, который ничего не делает. Бессмысленные присваивания переменных, небольшие циклы, куски крипто-алгоритмов.
Да, это несколько ухудшает производительность продукта... но зато тот, кто исследует код, вынужден тратить очень много времени на исследование огромного количества сложных, запутанных и бессмысленных конструкций.
Таким образом, на то, чтобы разобраться в подобном коде, можно тратить месяцы и годы, тем более учитывая, что в случае с .NET разбираться придется в IL, а не в высокоуровневых исходниках.
|
Сообщения: 98
Страна: Россия |
 04.05.2008 в 00:01
tvv, про месяцы и годы - это вы загнули. Неделя. А для профи со своими наработками, либо если решение стандартное, а программист в этом ничего не понимал - два-три дня. Про технологии снятия всего этого писать даже лень.
|