[защита] .NET-приложений (C#)
От: Alexey Neorov Россия  
Дата: 27.03.10 07:57
Оценка:
Не хотелось бы смешивать текущую тему с этой
Автор: IntDex
Дата: 24.03.10
, т.к. хотелось бы обсудить не что-то абстрактное, а именно зашиту под NET. Ко мне как-то обратился человек, и сказал, что взломал мою программу за 10 минут. Я удивился, стал сам разбираться. И вправду, поколдовав полтора часа, я понял как это просто (ildasm -> notepad -> ilasm).

Такое явно не годится. Нашёл в инете netObf, бесплатную версию обфускатора. Упаковал прогу. Ничего непонятно в ildasm. Нашёл в инете деобфускатор, который приводит имена в более читаемые. Прогнал через деобфускатор. Далее notepad -> ilasm. И прога опять сломана.

Сделал программу более запутанной, часть алгоритмов стал шифровать внутри программы через динамические сборки, сделал привязку к серверу (сайту). Т.к. я знал, что делать, я опять быстренько всё отломал. У неподготовленного крякера это выйдет чуть дольше.

Какие еще есть варианты? Или может я что-то упустил?
Заранее спасибо за любые советы.
Re: [защита] .NET-приложений (C#)
От: Огнеплюх  
Дата: 27.03.10 08:15
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Какие еще есть варианты? Или может я что-то упустил?


А чем это вариант отличается от старинного exe->asm->notepad->exe ?
Re[2]: [защита] .NET-приложений (C#)
От: Alexey Neorov Россия  
Дата: 27.03.10 08:50
Оценка:
Здравствуйте, Огнеплюх, Вы писали:

О>А чем это вариант отличается от старинного exe->asm->notepad->exe ?


нельзя просто так сделать "exe->asm->notepad->exe", хотя бы за счёт "stolen bytes" (украденных инструкций), которые виртуализируются. Нужно потратить немало времени, чтобы распаковать такой exe. А тут в C# полностью исходный код на руках.
Re: [защита] .NET-приложений (C#)
От: MikePetrichenko Беларусь www.btframework.com
Дата: 27.03.10 09:12
Оценка: -1 :)
Здравствуйте, Alexey Neorov, Вы писали:

AN>Какие еще есть варианты? Или может я что-то упустил?


Все именно так и есть, для нативного .NET приложения.

AN>Заранее спасибо за любые советы.


Пишите на С++/CLR (mixed assembly) (если уж так необходим .NET). А еще лучше — нативные языки.
Bluetooth, IrDA, WiFi and Serial Ports SDK for .NET, ActiveX, C++ and VCL
Spektrum Telemetry Log File Viewer
Re: [защита] .NET-приложений (C#)
От: ov  
Дата: 27.03.10 09:42
Оценка: +2
AN>Какие еще есть варианты? Или может я что-то упустил?
если хочется надежности, то вариант, по большому счету, один: переписывай какой-то важный кусок программы в натив, выноси в отдельную длл-ку и защищай нативным протектором.
а под дотнет обычно дальше обфускации не идут, а это, как ты сам понял, не спасает.
Re: [защита] .NET-приложений (C#)
От: sembel Fast Version Control System
Дата: 27.03.10 09:48
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Какие еще есть варианты? Или может я что-то упустил?

AN>Заранее спасибо за любые советы.


вот "я спрятал" дот нет программу за одну минутку.

http://files.rsdn.ru/37574/dot.net.exe
Re: [защита] .NET-приложений (C#)
От: Sheridan Россия  
Дата: 27.03.10 11:05
Оценка: :))) :))
Приветствую, Alexey Neorov, вы писали:

AN> Какие еще есть варианты? Или может я что-то упустил?

AN> Заранее спасибо за любые советы.

Открыть исходники, опубликовать под gpl. Взлом станет бессмысленным.
avalon 1.0rc3 rev 306, zlib 1.2.3 (17.12.2009 01:06:14 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re: [защита] .NET-приложений (C#)
От: CRT  
Дата: 27.03.10 11:16
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Какие еще есть варианты? Или может я что-то упустил?

AN>Заранее спасибо за любые советы.

Есть протекторы для Net Framework
например eziriz.com, xenocode.com и др.

насколько хорошо они защищают, сказать не могу, не изучал этот вопрос
Re[2]: [защита] .NET-приложений (C#)
От: MikePetrichenko Беларусь www.btframework.com
Дата: 27.03.10 11:23
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Приветствую, Alexey Neorov, вы писали:


AN>> Какие еще есть варианты? Или может я что-то упустил?

AN>> Заранее спасибо за любые советы.

S>Открыть исходники, опубликовать под gpl. Взлом станет бессмысленным.


Равно, как и разработка подобного OpenSource GPL продукта.
Bluetooth, IrDA, WiFi and Serial Ports SDK for .NET, ActiveX, C++ and VCL
Spektrum Telemetry Log File Viewer
Re: [защита] .NET-приложений (C#)
От: 0K Ниоткуда  
Дата: 27.03.10 11:45
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Какие еще есть варианты? Или может я что-то упустил?


Ничего не упустил. Нужно чтобы кода было много. И добавить еще больше, пусть используемого на 90%, но без него нельзя. По всему коду втыкиваются защитные фишки. Все разные. С разной логикой. Должны выбрасывать исключение по хитрой логике, не всегда.

Таких фишек в одном проекте должно быть штук 150. Желательно разныех. Итого, после первых 20-50 штук у взломщика пропадет кайф их искать, нафиг нужно. У меня подобное было.
Re: [защита] .NET-приложений (C#)
От: Tee Moore  
Дата: 27.03.10 11:48
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Заранее спасибо за любые советы.

Нативный язык тоже не гарантия от взлома. Тут скорее помогут эзотерические языки программирования. Например Malbolge
Про виртуальную машину хороший человек уже все разжевал тут.
Удачи!
Re[3]: [защита] .NET-приложений (C#)
От: Огнеплюх  
Дата: 27.03.10 12:02
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Здравствуйте, Огнеплюх, Вы писали:


О>>А чем это вариант отличается от старинного exe->asm->notepad->exe ?


AN>нельзя просто так сделать "exe->asm->notepad->exe", хотя бы за счёт "stolen bytes" (украденных инструкций), которые виртуализируются. Нужно потратить немало времени, чтобы распаковать такой exe. А тут в C# полностью исходный код на руках.


А что мешает сборку обернуть в exe-файл да еще и с шифрованием
Re[2]: [защита] .NET-приложений (C#)
От: squid  
Дата: 27.03.10 13:11
Оценка: +2
Здравствуйте, Sheridan, Вы писали:

S>Открыть исходники, опубликовать под gpl. Взлом станет бессмысленным.


ты зачем в этот форум ходишь? запретный плод сладок? или наоборот, пропаганда?
Re: [защита] .NET-приложений (C#)
От: A-bracket  
Дата: 27.03.10 13:37
Оценка:
Здесь на форуме утверждалось что mono может компилировать .net приложение в нативный код.
Но я это не проверял. ( http://www.mono-project.com/AOT )
Re[3]: [защита] .NET-приложений (C#)
От: Sheridan Россия  
Дата: 27.03.10 13:48
Оценка:
Приветствую, squid, вы писали:

s> ты зачем в этот форум ходишь? запретный плод сладок? или наоборот, пропаганда?


Второе
avalon 1.0rc3 rev 306, zlib 1.2.3 (17.12.2009 01:06:14 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[2]: [защита] .NET-приложений (C#)
От: Alexey Neorov Россия  
Дата: 27.03.10 16:07
Оценка:
Здравствуйте, A-bracket, Вы писали:

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

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

Где-то проскакивала инфа (подтвердить как-то не могу), что нэтивное делается под конкретную систему, и на другом компе просто не запустится.
Re[4]: [защита] .NET-приложений (C#)
От: Alexey Neorov Россия  
Дата: 27.03.10 16:15
Оценка:
Здравствуйте, Огнеплюх, Вы писали:

О>А что мешает сборку обернуть в exe-файл да еще и с шифрованием


Как?
Re[2]: [защита] .NET-приложений (C#)
От: Alexey Neorov Россия  
Дата: 27.03.10 16:17
Оценка:
Здравствуйте, sembel, Вы писали:

S>вот "я спрятал" дот нет программу за одну минутку.


S>http://files.rsdn.ru/37574/dot.net.exe


Не запускал. В IDA вроде ничего особенного не нашёл. nmake?
Re[3]: [защита] .NET-приложений (C#)
От: sembel Fast Version Control System
Дата: 27.03.10 16:30
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Не запускал. В IDA вроде ничего особенного не нашёл. nmake?


Там hello world приложение, которое защищено дот.нет реактором.
Если написать определенное слово, то выскочит алерт.
Re: [защита] .NET-приложений (C#)
От: ARMSoft Украина  
Дата: 27.03.10 20:44
Оценка:
AN>Какие еще есть варианты? Или может я что-то упустил?
AN>Заранее спасибо за любые советы.

1. сколько не запутывай, это усложнит кряк на пару часов, не более.
2. чтобы не было ildasm->ilasm кури control-flow obfuscation в обфускаторах.
3. хочешь все в одном флаконе за денги — юзай платные обфускаторы xenocode, smart assembly. Дорого? Остальные, как правило, УГ.
4. хочешь прокачать скилы (читай: поиметь гемор) в этом деле и сам все контролировать — делай виртуальную машину. Сам хочу, но пока под .НЕТ не видел.
5. переходи на нейтив.
-------------------------
My professional profile
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
Re[2]: [защита] .NET-приложений (C#)
От: ylem  
Дата: 05.04.10 01:21
Оценка:
O>Если у меня были некоторые СВОИ средства (500-700$) — то платные брендовые (Dotfuscator, SmartAssembly, WiseOwl, 9Rays) я бы покупать не стал — они по уровню защищенности не стоят своих денег.

А про DNGuard есть мнение?

O>Есть еще интересные защиты для .NET c применением электронных ключей — у Alladin — HASP


Вы им для .net пользовались? Проблем с работоспособностью и драматического падения производительности не наблюдалось?

Спасибо.
Re[2]: [защита] .NET-приложений (C#)
От: 0K Ниоткуда  
Дата: 05.04.10 07:34
Оценка:
Здравствуйте, olerysc, Вы писали:

O>Есть еще интересные защиты для .NET c применением электронных ключей — у Alladin — HASP, у Актив — Guardant.


Ужос! Дорого, неудобно да еще и легко взломать.
Re[3]: [защита] .NET-приложений (C#)
От: olerysc Россия  
Дата: 08.04.10 11:55
Оценка:
Здравствуйте, ylem, Вы писали:

O>>Если у меня были некоторые СВОИ средства (500-700$) — то платные брендовые (Dotfuscator, SmartAssembly, WiseOwl, 9Rays) я бы покупать не стал — они по уровню защищенности не стоят своих денег.


Y>А про DNGuard есть мнение?




Y>Спасибо.


Спасибо за протектор — DNGuard 3.3 посмотрел. .NET защищают с помощью native-dll, которая подгружается во время старта .NET-приложения. Методы заменяются на стабы. Защита сделана по методу, который описывается в следующей статье: http://www.ntcore.com/files/netint_injection.htm. Нужо понимать, что метод использует недокументированные интерфейсы и работает по принципу "AS IS", но защищенность этого метода высока.
К сожадению, плохо защищена native-dll — можно и без применения отладчика разобраться в ее коде с помощью IDA Pro — можете сами попробовать.))
Протектор стоит дорого; метод не уникальный, а давно известный; опасный с точки зрения работоспособности защищенного приложения, мне данный продукт не внушает доверия.

O>>Есть еще интересные защиты для .NET c применением электронных ключей — у Alladin — HASP


Y>Вы им для .net пользовались? Проблем с работоспособностью и драматического падения производительности не наблюдалось?


Да для .NET в том числе. Падение производительности — да проблема существует, если защищать все функции (происходит частые обращения к ключу) — как большинство пользователей и делают. В новой версии нашей защиты — мы более строго контролируем данный вопрос — применяем свой профайлер .NET для выбора защищаемых функций, регулируем количество обращений к ключу и т.д. На тестовых приложениях работоспосбность сохранялась.
Re[3]: [защита] .NET-приложений (C#)
От: olerysc Россия  
Дата: 08.04.10 12:00
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Здравствуйте, olerysc, Вы писали:


O>>Есть еще интересные защиты для .NET c применением электронных ключей — у Alladin — HASP, у Актив — Guardant.


0K>Ужос! Дорого, неудобно да еще и легко взломать.


То, что защита дорогая по сравнению с другими методами — согласен.
Насчет "легко взломать" я бы не был так категоричен. Я бы сказал, что защита состоит из многих звеньев, каждое их которых подвержено атакам. Но нужно иметь высокую квалификацию, чтобы некоторые атаки реализовать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.