Здравствуйте, squid, Вы писали:
S>Здравствуйте, ARMSoft, Вы писали:
ARM>>3. хочешь все в одном флаконе за денги — юзай платные обфускаторы xenocode, smart assembly. Дорого? Остальные, как правило, УГ.
S>А eziriz .NET Reactor — УГ? Вроде фичастый и не очень дорогой.
По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.
smart assembly выглядит очень и очень — только не шифрует dll'ки.
Здравствуйте, sha1dy, Вы писали:
S>По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.
ты в этом уверен? вроде у них список покупателей сурьезный. да и опций защиты много, выглядит вроде нормально. и как это и принято в защитах всегда есть флажок который твою прогу крэшит
Здравствуйте, squid, Вы писали:
S>Здравствуйте, sha1dy, Вы писали:
S>>По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.
S>ты в этом уверен? вроде у них список покупателей сурьезный. да и опций защиты много, выглядит вроде нормально. и как это и принято в защитах всегда есть флажок который твою прогу крэшит
ну можешь сам посмотреть что там за эгзешник генерируется.
а про список customer'ов — ну не верю, что Microsoft пользуется этим говном — где это у них был продукт на .net'е обфусцированный? мне кажется, список расчитан на лохов — не упоминание проектов, ничего. ну сколько покупателей полезут проверять, да и куда? зато как красиво смотрится.
да и нету упоминания обфусцируют ли они WPF/Silverlight и т.д. Взгляни на сайт http://www.smartassembly.com/ и почувствуй разницу, да и redgate не просто так их купил недавно.
Здравствуйте, sha1dy, Вы писали:
S>ну можешь сам посмотреть что там за эгзешник генерируется.
я в этом не шарю...
S>а про список customer'ов — ну не верю, что Microsoft пользуется этим говном — где это у них был продукт на .net'е обфусцированный? мне кажется, список расчитан на лохов — не упоминание проектов, ничего. ну сколько покупателей полезут проверять, да и куда? зато как красиво смотрится.
согласен.
S>да и нету упоминания обфусцируют ли они WPF/Silverlight и т.д.
там написано .Net 3.5.
S>Взгляни на сайт http://www.smartassembly.com/ и почувствуй разницу, да и redgate не просто так их купил недавно.
ты сам сказал что dll не умеют... мне оно без надобности.
Здравствуйте, CRT, Вы писали:
CRT>Есть протекторы для Net Framework CRT>например eziriz.com, xenocode.com и др. CRT>насколько хорошо они защищают, сказать не могу, не изучал этот вопрос
Интересно, а есть здесь люди, которые реально пробовали эти протекторы? Я некоторое время назад пытался изучать этот вопрос, прикручивая защиту к dll плагина. Ничего работоспособного получить не удалось вообще.
Здравствуйте, algol, Вы писали:
A>Интересно, а есть здесь люди, которые реально пробовали эти протекторы? Я некоторое время назад пытался изучать этот вопрос, прикручивая защиту к dll плагина. Ничего работоспособного получить не удалось вообще.
Здравствуйте, squid, Вы писали:
S>Здравствуйте, sha1dy, Вы писали:
S>>ну можешь сам посмотреть что там за эгзешник генерируется.
S>я в этом не шарю...
S>>а про список customer'ов — ну не верю, что Microsoft пользуется этим говном — где это у них был продукт на .net'е обфусцированный? мне кажется, список расчитан на лохов — не упоминание проектов, ничего. ну сколько покупателей полезут проверять, да и куда? зато как красиво смотрится.
S>согласен.
S>>да и нету упоминания обфусцируют ли они WPF/Silverlight и т.д.
S>там написано .Net 3.5.
Это ничего не говорит, WinForm есть и в .Net 3.5. У smartassembly написано более четко.
S>>Взгляни на сайт http://www.smartassembly.com/ и почувствуй разницу, да и redgate не просто так их купил недавно.
S>ты сам сказал что dll не умеют... мне оно без надобности.
ты хочешь шифровать dll? это настолько в этом протекторе топорно сделано, что любой с ICE сделает дамп расшифрованных dll за 5 минут. В .Net мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.
Здравствуйте, sha1dy, Вы писали:
S>Это ничего не говорит, WinForm есть и в .Net 3.5. У smartassembly написано более четко.
в WPF есть что-то сверхестественное? попробовал, работает...
S>ты хочешь шифровать dll? это настолько в этом протекторе топорно сделано, что любой с ICE сделает дамп расшифрованных dll за 5 минут. В .Net мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.
Здравствуйте, squid, Вы писали:
S>Здравствуйте, sha1dy, Вы писали:
S>>Это ничего не говорит, WinForm есть и в .Net 3.5. У smartassembly написано более четко.
S>в WPF есть что-то сверхестественное? попробовал, работает...
обфусцирует xaml код?
S>>ты хочешь шифровать dll? это настолько в этом протекторе топорно сделано, что любой с ICE сделает дамп расшифрованных dll за 5 минут. В .Net мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.
S>ты какую версию мучал?
непомню, если честно — было это где то год назад — может сейчас действительно клевещу.
Здравствуйте, sha1dy, Вы писали:
S>обфусцирует xaml код?
без понятия. а XAML с каких пор кодом стал?
S>непомню, если честно — было это где то год назад — может сейчас действительно клевещу.
3.x ломали, даже мануалы нашел, 4.x — уже нет. пара фич добавилось, вроде положительно все.
вообще, единственный минус — размер сборок раза в 2 больше становится. в остальном вроде нормально все. тестю на Win7 x64, самый плохой для протекторов вариант
, т.к. хотелось бы обсудить не что-то абстрактное, а именно зашиту под NET. Ко мне как-то обратился человек, и сказал, что взломал мою программу за 10 минут. Я удивился, стал сам разбираться. И вправду, поколдовав полтора часа, я понял как это просто (ildasm -> notepad -> ilasm).
AN>Такое явно не годится. Нашёл в инете netObf, бесплатную версию обфускатора. Упаковал прогу. Ничего непонятно в ildasm. Нашёл в инете деобфускатор, который приводит имена в более читаемые. Прогнал через деобфускатор. Далее notepad -> ilasm. И прога опять сломана.
AN>Сделал программу более запутанной, часть алгоритмов стал шифровать внутри программы через динамические сборки, сделал привязку к серверу (сайту). Т.к. я знал, что делать, я опять быстренько всё отломал. У неподготовленного крякера это выйдет чуть дольше.
AN>Какие еще есть варианты? Или может я что-то упустил? AN>Заранее спасибо за любые советы.
Качественную защиту .NET-приложений построить сложнее, чем для native.
Тут важно понять, что вам именно нужно. Какой уровень защищенности вы хотите достичь? Нужна ли вам система лицензирования? Что вы собираетесь защищать в своей программе? Сколько готовы вы заплатить за защиту? Сколько стоит вам приложение? Универсальных решений нет — нужно исходить из ваших потребностей и возможностей.
Обфускаторы — это утилиты для !запутывания! кода и данных. В основном они ограничиваются переимнованием имен классов, методов, полей и других объектов; шифрованием строк и констант; простейшими преобразованиями графа потока управления.
Протекторы .NET — это уже какая-никакая защита (то есть банально ildasm -> notepad -> ilasm цикл не пройдет). В большинстве своем протекторы пытаются строить защиту на основе наработок для Native. Но из-за особенностей JIT-компиляции проще поддается взлому чем их Native-сородичи.
Модная направление в сфере защиты .NET (да и не только .NET) делать защиту, построенную на принципе виртуальной машине. Грубо говоря, методы с MSIL заменяются на вызову к этой новой виртуальной машине, и во время первого вызова необходимого метода происходит транслирование кода защищенной виртуальной машины в MSIL. Защищенная виртуальная машина сейчас строиться по гибридной managed-unmanaged технологии..
Если бы я строил защиту .NET, то я бы построил многорубежную защиту — обязательно обфусцировал сборки, чтобы избавиться от избыточных метаданных, которые очень пригодяться злоумышленнику; затем защитил критические методы с помощью защищенной виртуальной машины, а сверху exe-файл приложения накрыл еще и протектором. После этого я еще раз проверил функциональность своего уже защищенного приложения (не стало ли оно падать?), а также померил профайлером его быстродействие.
Если я бы хотел воспользоваться качественным бесплатным обфускатором, то выбрал бы Eazfuscator.NET (на первом месте) или Phoenix Protector (это тоже обфускатор — хоть называется протектором)
Если у меня были некоторые СВОИ средства (500-700$) — то платные брендовые (Dotfuscator, SmartAssembly, WiseOwl, 9Rays) я бы покупать не стал — они по уровню защищенности не стоят своих денег. Да, GUI иногда красивый, но по защите ничего интересного.
Протекторы .NET Reactor, CodeVeil — уже более интересно, но слышал, если просечь фишку, по которой они сторояться — взлом приложений, защищенных ими, можно поставить на поток
У Microsoft есть свой SAS-продукт для защиты .NET — с точки зрения защищенности достаточно интересен.
Есть еще интересные защиты для .NET c применением электронных ключей — у Alladin — HASP, у Актив — Guardant.
Ладно, всего не расскажешь, будут вопросы — отвечу.
Здравствуйте, olerysc, Вы писали:
O>Протекторы .NET Reactor, CodeVeil — уже более интересно, но слышал, если просечь фишку, по которой они сторояться — взлом приложений, защищенных ими, можно поставить на поток
Здравствуйте, olerysc, Вы писали:
O>Протекторы .NET Reactor, CodeVeil — уже более интересно, но слышал, если просечь фишку, по которой они сторояться — взлом приложений, защищенных ими, можно поставить на поток
Здравствуйте, Alexey Neorov, Вы писали:
AN>Здравствуйте, A-bracket, Вы писали:
AB>>Здесь на форуме утверждалось что mono может компилировать .net приложение в нативный код. AB>>Но я это не проверял. ( http://www.mono-project.com/AOT )
AN>Где-то проскакивала инфа (подтвердить как-то не могу), что нэтивное делается под конкретную систему, и на другом компе просто не запустится.
Здравствуйте, Alexey Neorov, Вы писали:
AN>Какие еще есть варианты? Или может я что-то упустил? AN>Заранее спасибо за любые советы.
#if !DEMO
//...
//...#else
MessageBox.Show("disabled in demo, please visit http://www.mysite.com/ordernow.html to get your password protected download");
#endif