Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 10.11.15 04:16
Оценка:
Раз проги на C++ ломают на 1-2, то на C#, наверное, тем более? Как вы защищаете свои C# приложения?
Re: Как вы защищаете C# приложения?
От: Ambyte Россия  
Дата: 10.11.15 05:04
Оценка: 5 (1)
Здравствуйте, ivanchez0077, Вы писали:

I>Раз проги на C++ ломают на 1-2, то на C#, наверное, тем более? Как вы защищаете свои C# приложения?


NET Reactor + Enigma Virtual Box + Динамическое выполнение кода проверки лицензий
Re: Как вы защищаете C# приложения?
От: TheByteMan Россия  
Дата: 10.11.15 06:00
Оценка:
Здравствуйте, ivanchez0077, Вы писали:

I>Раз проги на C++ ломают на 1-2, то на C#, наверное, тем более? Как вы защищаете свои C# приложения?


Переносите бизнес логику в нативе либу, ее под протектор, не панацея явно, но хотя бы отобьет всяких кидисов любящих De4dot+Reflector.
Re[2]: Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 10.11.15 08:11
Оценка:
Здравствуйте, Ambyte, Вы писали:


A>NET Reactor + Enigma Virtual Box + Динамическое выполнение кода проверки лицензий


я в защите программ, в том числе на C#, ни бум-бум. где почитать можно об этом?
Re[2]: Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 10.11.15 08:12
Оценка:
Здравствуйте, TheByteMan, Вы писали:


TBM>Переносите бизнес логику в нативе либу, ее под протектор, не панацея явно, но хотя бы отобьет всяких кидисов любящих De4dot+Reflector.


тогда уж лучше все делать на native языке, не?
Re[3]: Как вы защищаете C# приложения?
От: Ambyte Россия  
Дата: 10.11.15 08:35
Оценка:
Здравствуйте, ivanchez0077, Вы писали:

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



A>>NET Reactor + Enigma Virtual Box + Динамическое выполнение кода проверки лицензий


I>я в защите программ, в том числе на C#, ни бум-бум. где почитать можно об этом?


Почитать всегда можно в Google, об этих технологиях много всего написано.
Re[3]: Как вы защищаете C# приложения?
От: Unhandled_Exception Россия  
Дата: 10.11.15 08:35
Оценка:
Здравствуйте, ivanchez0077, Вы писали:

I>тогда уж лучше все делать на native языке, не?


Лично мне в последнее время комфортнее UI на .net делать. А что-то важное действительно просто выносишь в отдельную dll.
Re[3]: Как вы защищаете C# приложения?
От: TheByteMan Россия  
Дата: 10.11.15 08:50
Оценка: 8 (2)
Здравствуйте, ivanchez0077, Вы писали:

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


I>тогда уж лучше все делать на native языке, не?


Нееее....знаю, это вам решать, GUI на C# попрятней писать, чем на С++, да и не только GUI, тем более можно перенести не всю бизнес логику, а лишь часть. К тому же можете вынести какую-то часть кода на сервер и в связке WCF, что в NET сделать очень просто, приделать аутентификацию со всеми вытекающими.
Можете еще к примеру воспользоваться C++/CLI с нативными вставками, на выходите получается довольно запутанная и трудно анализируемая связка, правдо и майтейнить такие приложения еще то удовольствия.
Если уж хотите использовать чисто .NET решения, могу порекомендовать использовать ConfuserEx, он open-source и позволяет создавать приблуды через систему плагинов, правда будьте готовы к false-positive от некоторых антивирусов — вирусописатели уже не те...
А, да, еще можете тришечки зачекати, когда Microsoft .NET Native пойдет в массы
Еще есть вариант с ngen, но насколько я помню, это нужно будет делать на каждой устанавливаемой машине, и вот на этапе генерации native кода из управляемой сборки, управляемое приложения можно достать без проблем, хотя я особо не вникал, может как-то там по другому, да и не для защиты она а для ускорения.
Отредактировано 10.11.2015 9:28 TheByteMan . Предыдущая версия . Еще …
Отредактировано 10.11.2015 9:21 TheByteMan . Предыдущая версия .
Отредактировано 10.11.2015 9:19 TheByteMan . Предыдущая версия .
Отредактировано 10.11.2015 9:13 TheByteMan . Предыдущая версия .
Отредактировано 10.11.2015 8:55 TheByteMan . Предыдущая версия .
Отредактировано 10.11.2015 8:54 TheByteMan . Предыдущая версия .
Re: Как вы защищаете C# приложения?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 10.11.15 11:00
Оценка: :)
Здравствуйте, ivanchez0077, Вы писали:

I> Как вы защищаете свои C# приложения?


Обфускаторами: коммерческим (9Rays.Net) и часть кода генерю своим. Раньше делал маленькую виртуальную машину (интерпретатор байткода), сейчас просто генерю код, который компилятор C# превращает в такую веселуху, что иные декомпиляторы просто падают или виснут, даже без обфускатора.
Re: Как вы защищаете C# приложения?
От: artkarma  
Дата: 10.11.15 17:15
Оценка: 8 (2) :)))
Здравствуйте, ivanchez0077, Вы писали:

I>Раз проги на C++ ломают на 1-2, то на C#, наверное, тем более? Как вы защищаете свои C# приложения?

Проги на C# ломают меньше так как недостаточно еще развита технология их взломов
Хорошо — навесная защита с двойной активацией limeLm и обфусцировать чем то новым
Re[2]: Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 10.11.15 19:17
Оценка:
Здравствуйте, artkarma, Вы писали:

A>Проги на C# ломают меньше так как недостаточно еще развита технология их взломов

точно? они ведь почти как тестовые файлы
Re[2]: Как вы защищаете C# приложения?
От: TheByteMan Россия  
Дата: 10.11.15 20:20
Оценка:
Здравствуйте, artkarma, Вы писали:

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


A>Проги на C# ломают меньше так как недостаточно еще развита технология их взломов


Вы лет так на 10 с гаком отстали от жизни. Есть целый арсенал программ для взлома .NET приложений и огромное количества статей по этому поводу. Да и по уровню сложности, взлом NET приложений, по сравнению с простым нативным приложениям, несравненно, в разы, проще.

A>Хорошо — навесная защита с двойной активацией limeLm и обфусцировать чем то новым


Видно, вы совсем далеки от этой темы, навесная защита снимается на раз-два, существует куча инструментов для этого — от универсальных(от NTCore к примеру) до специализированных(de4dot), а обфускаторы в контексте взлома .NET — это вообще детский лепет и ниочем.
Отредактировано 10.11.2015 20:39 TheByteMan . Предыдущая версия . Еще …
Отредактировано 10.11.2015 20:38 TheByteMan . Предыдущая версия .
Re[3]: Как вы защищаете C# приложения?
От: artkarma  
Дата: 10.11.15 21:05
Оценка:
Здравствуйте, ivanchez0077, Вы писали:

I>точно? они ведь почти как тестовые файлы


тестовые файлы? Поясните?
Возможно Вы имели ввиду текстовые? То там не текстовые
Re[3]: Как вы защищаете C# приложения?
От: artkarma  
Дата: 10.11.15 21:13
Оценка:
Здравствуйте, TheByteMan, Вы писали:

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


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


A>>Проги на C# ломают меньше так как недостаточно еще развита технология их взломов


TBM> Вы лет так на 10 с гаком отстали от жизни. Есть целый арсенал программ для взлома .NET приложений

Возможно,
огласите пожалуйста список из 10 популярных инструментов с ссылками я почитаю (дедот и рефлектор вычеркните)

или больше 2 рабочих отладчиков под MSIL-код (тоже с ссылками)

A>>Хорошо — навесная защита с двойной активацией limeLm и обфусцировать чем то новым


TBM>Видно, вы совсем далеки от этой темы, навесная защита снимается на раз-два, существует куча инструментов для этого — от универсальных(от NTCore к примеру) до специализированных(de4dot), а обфускаторы в контексте взлома .NET — это вообще детский лепет и ниочем.

Да наверно я безнадежно отстал...
Давайте я вам скину защищенную прогу именно такой навесной защитой и заобфусцированную уже несвежим обфускаторм . Вы её взломаете и поделитесь технологией быстрого взлома? Ок? За какое время Вы бы её взломали? Мне бы было интересно обсудить
Re[4]: Как вы защищаете C# приложения?
От: TheByteMan Россия  
Дата: 10.11.15 21:28
Оценка:
Здравствуйте, artkarma, Вы писали:

A>огласите пожалуйста список из 10 популярных инструментов с ссылками я почитаю (дедот и рефлектор вычеркните)


А что еще нужно для правки MSIL кода? Достать сборку, удалить мертвые(недостижимые) блоки инструкций если есть, закинуть в рефлектор — найти что нужно, подправить MSIL, собрать и вуаля. Взлом NET-а до ужаса примитивен, по крайне мере в большинстве случаев, в подавляющем большинстве случаев. Вы можете хоть написать свою VM поверх CLR, но как показывает реальная практика — вы просто потратите время, не особо то и улучшив положения вещей.

A>или больше 2 рабочих отладчиков под MSIL-код (тоже с ссылками)


Я лично не пользовался ни одним, потому что в этом тупа нет необходимости, вообще никакой необходимости нет.

A>Давайте я вам скину защищенную прогу именно такой навесной защитой и заобфусцированную уже несвежим обфускаторм . Вы её взломаете и поделитесь технологией быстрого взлома? Ок? За какое время Вы бы её взломали? Мне бы было интересно обсудить


Давайте, скидывайте. За какое время? А за какое время вы выпускаете апдейты своих программ? За минуту, две? Или месяц/пол года?
Отредактировано 10.11.2015 21:44 TheByteMan . Предыдущая версия . Еще …
Отредактировано 10.11.2015 21:37 TheByteMan . Предыдущая версия .
Отредактировано 10.11.2015 21:33 TheByteMan . Предыдущая версия .
Re[5]: Как вы защищаете C# приложения?
От: artkarma  
Дата: 10.11.15 21:44
Оценка:
Здравствуйте, TheByteMan, Вы писали:


TBM>Давайте, скидывайте.

Скинь мыло в приват у меня чёта не работает пишет что я робот
Re[4]: Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 11.11.15 05:25
Оценка: :)
Здравствуйте, artkarma, Вы писали:


A> тестовые файлы? Поясните?

A>Возможно Вы имели ввиду текстовые? То там не текстовые

текстовые
их легко дисассемблировать
даже помню exe открывал блокнотом и что-то было видно
Re: Как вы защищаете C# приложения?
От: dsorokin Россия  
Дата: 12.11.15 07:26
Оценка: 3 (1)
Здравствуйте, ivanchez0077, Вы писали:

I>Раз проги на C++ ломают на 1-2, то на C#, наверное, тем более? Как вы защищаете свои C# приложения?


Да вроде бы вполне неплох бесплатный DotFuscator Community Edition, встроенный в VisualStudio 2013 Community Edition. Если надо, все равно взломают, а здесь, хотя бы, помучаются.

Для себя только отметил две вещи, которые надо делать руками:

1) переподписать обфусцированные файлы через sn, а иначе не запустится на другой машине;

2) у файла exe убрать флаг, указав, что это — не библиотека, а иначе до черта останется необфусцированным.
Re[5]: Как вы защищаете C# приложения?
От: ivanchez0077  
Дата: 13.11.15 03:46
Оценка:
Здравствуйте, TheByteMan, Вы писали:


TBM>А что еще нужно для правки MSIL кода? Достать сборку, удалить мертвые(недостижимые) блоки инструкций если есть, закинуть в рефлектор — найти что нужно, подправить MSIL, собрать и вуаля. Взлом NET-а до ужаса примитивен, по крайне мере в большинстве случаев, в подавляющем большинстве случаев.


ну тогда как проверять, куплен у моей проги ключ пользователем или нет? Все равно в любом случае где-то в самой программе мне нужна будет строчка:

if (ключ не куплен)
message Купи ключ
else
// работаем....


Пропатчить C# исходники ведь элементарно, значит элементарно отключить эту проверку. И эту проверку, повторюсь, на сервер не вынесешь, все равно строчку "if (ключ не куплен)" нужно будет держать в программе по-любому.
Re[6]: Как вы защищаете C# приложения?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 13.11.15 04:13
Оценка:
Здравствуйте, ivanchez0077, Вы писали:

I>Пропатчить C# исходники ведь элементарно, значит элементарно отключить эту проверку. И эту проверку, повторюсь, на сервер не вынесешь, все равно строчку "if (ключ не куплен)" нужно будет держать в программе по-любому.


Например, объединить проверку с инициализацией каких-то важных данных, без которых все падает. Убрали или не прошли проверку — прога не работает. У меня так.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.