Re[2]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 07:37
Оценка:
Здравствуйте, ARMSoft, Вы писали:


ARM>3. хочешь все в одном флаконе за денги — юзай платные обфускаторы xenocode, smart assembly. Дорого? Остальные, как правило, УГ.


А eziriz .NET Reactor — УГ? Вроде фичастый и не очень дорогой.
Re[3]: [защита] .NET-приложений (C#)
От: sha1dy  
Дата: 30.03.10 09:26
Оценка:
Здравствуйте, squid, Вы писали:

S>Здравствуйте, ARMSoft, Вы писали:



ARM>>3. хочешь все в одном флаконе за денги — юзай платные обфускаторы xenocode, smart assembly. Дорого? Остальные, как правило, УГ.


S>А eziriz .NET Reactor — УГ? Вроде фичастый и не очень дорогой.

По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.

smart assembly выглядит очень и очень — только не шифрует dll'ки.
Re[4]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 09:56
Оценка:
Здравствуйте, sha1dy, Вы писали:

S>По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.


ты в этом уверен? вроде у них список покупателей сурьезный. да и опций защиты много, выглядит вроде нормально. и как это и принято в защитах всегда есть флажок который твою прогу крэшит
Re[5]: [защита] .NET-приложений (C#)
От: sha1dy  
Дата: 30.03.10 10:03
Оценка:
Здравствуйте, squid, Вы писали:

S>Здравствуйте, sha1dy, Вы писали:


S>>По мне — УГ еще тот. Когда последний раз его смотрел запакованная программа оказалась дельфовой формой, которая распаковывала в памяти защифрованные dll и хостила winform. Может что изменилось, но меня это повергло в шок.


S>ты в этом уверен? вроде у них список покупателей сурьезный. да и опций защиты много, выглядит вроде нормально. и как это и принято в защитах всегда есть флажок который твою прогу крэшит

ну можешь сам посмотреть что там за эгзешник генерируется.

а про список customer'ов — ну не верю, что Microsoft пользуется этим говном — где это у них был продукт на .net'е обфусцированный? мне кажется, список расчитан на лохов — не упоминание проектов, ничего. ну сколько покупателей полезут проверять, да и куда? зато как красиво смотрится.

да и нету упоминания обфусцируют ли они WPF/Silverlight и т.д. Взгляни на сайт http://www.smartassembly.com/ и почувствуй разницу, да и redgate не просто так их купил недавно.
Re[6]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 10:05
Оценка:
Здравствуйте, sha1dy, Вы писали:

S>ну можешь сам посмотреть что там за эгзешник генерируется.


я в этом не шарю...

S>а про список customer'ов — ну не верю, что Microsoft пользуется этим говном — где это у них был продукт на .net'е обфусцированный? мне кажется, список расчитан на лохов — не упоминание проектов, ничего. ну сколько покупателей полезут проверять, да и куда? зато как красиво смотрится.


согласен.

S>да и нету упоминания обфусцируют ли они WPF/Silverlight и т.д.


там написано .Net 3.5.

S>Взгляни на сайт http://www.smartassembly.com/ и почувствуй разницу, да и redgate не просто так их купил недавно.


ты сам сказал что dll не умеют... мне оно без надобности.
Re[2]: [защита] .NET-приложений (C#)
От: algol Россия about:blank
Дата: 30.03.10 10:09
Оценка:
Здравствуйте, CRT, Вы писали:

CRT>Есть протекторы для Net Framework

CRT>например eziriz.com, xenocode.com и др.
CRT>насколько хорошо они защищают, сказать не могу, не изучал этот вопрос

Интересно, а есть здесь люди, которые реально пробовали эти протекторы? Я некоторое время назад пытался изучать этот вопрос, прикручивая защиту к dll плагина. Ничего работоспособного получить не удалось вообще.
Re[3]: [защита] .NET-приложений (C#)
От: ASX  
Дата: 30.03.10 10:35
Оценка:
Здравствуйте, algol, Вы писали:

A>Интересно, а есть здесь люди, которые реально пробовали эти протекторы?


эти нет, юзаю 9rays.net
Re[3]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 10:39
Оценка:
Здравствуйте, algol, Вы писали:

A>Интересно, а есть здесь люди, которые реально пробовали эти протекторы? Я некоторое время назад пытался изучать этот вопрос, прикручивая защиту к dll плагина. Ничего работоспособного получить не удалось вообще.


здесь нет. я cracklab читаю...
Re[7]: [защита] .NET-приложений (C#)
От: sha1dy  
Дата: 30.03.10 10:47
Оценка:
Здравствуйте, 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 мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.
Re[8]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 10:51
Оценка:
Здравствуйте, sha1dy, Вы писали:

S>Это ничего не говорит, WinForm есть и в .Net 3.5. У smartassembly написано более четко.


в WPF есть что-то сверхестественное? попробовал, работает...

S>ты хочешь шифровать dll? это настолько в этом протекторе топорно сделано, что любой с ICE сделает дамп расшифрованных dll за 5 минут. В .Net мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.


ты какую версию мучал?
Re[9]: [защита] .NET-приложений (C#)
От: sha1dy  
Дата: 30.03.10 13:03
Оценка:
Здравствуйте, squid, Вы писали:

S>Здравствуйте, sha1dy, Вы писали:


S>>Это ничего не говорит, WinForm есть и в .Net 3.5. У smartassembly написано более четко.


S>в WPF есть что-то сверхестественное? попробовал, работает...

обфусцирует xaml код?

S>>ты хочешь шифровать dll? это настолько в этом протекторе топорно сделано, что любой с ICE сделает дамп расшифрованных dll за 5 минут. В .Net мире главное это обфускация и, может быть, нативная имплементация кода, ответственно за ключи — хотя ничего из этого не спасет, если займутся кряком всерьез. А вот то, что не "угонят" исходники — это очень даже помогает.


S>ты какую версию мучал?

непомню, если честно — было это где то год назад — может сейчас действительно клевещу.
Re[10]: [защита] .NET-приложений (C#)
От: squid  
Дата: 30.03.10 13:38
Оценка:
Здравствуйте, sha1dy, Вы писали:

S>обфусцирует xaml код?


без понятия. а XAML с каких пор кодом стал?

S>непомню, если честно — было это где то год назад — может сейчас действительно клевещу.


3.x ломали, даже мануалы нашел, 4.x — уже нет. пара фич добавилось, вроде положительно все.

вообще, единственный минус — размер сборок раза в 2 больше становится. в остальном вроде нормально все. тестю на Win7 x64, самый плохой для протекторов вариант
Re: [защита] .NET-приложений (C#)
От: olerysc Россия  
Дата: 31.03.10 09:40
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Не хотелось бы смешивать текущую тему с этой
Автор: IntDex
Дата: 24.03.10
, т.к. хотелось бы обсудить не что-то абстрактное, а именно зашиту под 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.

Ладно, всего не расскажешь, будут вопросы — отвечу.
Re[2]: [защита] .NET-приложений (C#)
От: squid  
Дата: 31.03.10 11:01
Оценка:
Здравствуйте, olerysc, Вы писали:

O>Протекторы .NET Reactor, CodeVeil — уже более интересно, но слышал, если просечь фишку, по которой они сторояться — взлом приложений, защищенных ими, можно поставить на поток


на CrackLab про оба есть интересные вещи.
Re[2]: [защита] .NET-приложений (C#)
От: squid  
Дата: 31.03.10 11:04
Оценка:
Здравствуйте, olerysc, Вы писали:

O>Протекторы .NET Reactor, CodeVeil — уже более интересно, но слышал, если просечь фишку, по которой они сторояться — взлом приложений, защищенных ими, можно поставить на поток


на CrackLab про оба есть интересные вещи.
Re[3]: [защита] .NET-приложений (C#)
От: z3d  
Дата: 01.04.10 09:34
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Здравствуйте, A-bracket, Вы писали:


AB>>Здесь на форуме утверждалось что mono может компилировать .net приложение в нативный код.

AB>>Но я это не проверял. ( http://www.mono-project.com/AOT )

AN>Где-то проскакивала инфа (подтвердить как-то не могу), что нэтивное делается под конкретную систему, и на другом компе просто не запустится.


Вы про ngen.exe?

Тут обсуждается и приводится список альтернатив: http://stackoverflow.com/questions/140750/is-it-possible-to-compile-net-il-code-to-machine-code
Re[4]: [защита] .NET-приложений (C#)
От: squid  
Дата: 01.04.10 15:26
Оценка:
Здравствуйте, z3d, Вы писали:

z3d>Вы про ngen.exe?


z3d>Тут обсуждается и приводится список альтернатив: http://stackoverflow.com/questions/140750/is-it-possible-to-compile-net-il-code-to-machine-code


а если прямо в инсталлере отнгенить и закриптовать?
Re[5]: [защита] .NET-приложений (C#)
От: sha1dy  
Дата: 01.04.10 21:00
Оценка:
Здравствуйте, squid, Вы писали:

S>Здравствуйте, z3d, Вы писали:


z3d>>Вы про ngen.exe?


z3d>>Тут обсуждается и приводится список альтернатив: http://stackoverflow.com/questions/140750/is-it-possible-to-compile-net-il-code-to-machine-code


S>а если прямо в инсталлере отнгенить и закриптовать?

и прямо инсталятор распакуют вместе с чистыми IL сборками
Re[6]: [защита] .NET-приложений (C#)
От: squid  
Дата: 02.04.10 05:18
Оценка:
Здравствуйте, sha1dy, Вы писали:

S>>а если прямо в инсталлере отнгенить и закриптовать?

S>и прямо инсталятор распакуют вместе с чистыми IL сборками

а если и его зашифровать?

но ты прав, я это понял минуты через 3 после своего сообщения.
Re: [защита] .NET-приложений (C#)
От: zi  
Дата: 02.04.10 07:28
Оценка:
Здравствуйте, 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
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.