Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Studio
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
netBool
248 / 250 / 149
Регистрация: 16.11.2010
Сообщений: 942
Записей в блоге: 9
Завершенные тесты: 5
1

.NET native компиляция, рефлектор и различные ОС

15.01.2017, 12:30. Просмотров 776. Ответов 6

Доброе время суток!
Вот уже несколько лет программлю на .NET VS2010 и подошел вплотную к проблеме защиты исходного кода программы. Стал копать в сторону обфускаторов, но ничего того, что бы не взламывалось, я не нашел. Я уже всеръез задумался над переносом основной части программы на обычный С++. Дело это долгое, тем более, что из неуправляемого кода очень трудно обращаться к .NET-объектам... И тут мне попалась статейка про то, что появилась .NET native компиляция, которая вроде как все компилирует все в двоичный код без промежуточного. В связи с чем у меня возник ряд вопросов. Я скачал VS2015, дабы поюзать это новшество, установил на свою 7-ку. Но к сожалению, не встал SDK Windows 10 (может, мое железо уже старое, не знаю). А насколько я понял, чтобы компилировать в .NET NATIVE нужно, чтобы стояла 10-ка либо ее SDK. В общем вопросы, которые меня волнуют, следующие:
1) Действительно ли .NET native компилируется только из под Windows 10? И если да, будет ли работать на Windows 7/8 и других?
2) Кто-нибудь пробовал открывать программы, сделанные с .NET native, открывать рефлектором? И отпадает ли тогда проблема обфускации?
Если кто пробовал, пожалуйста поделитесь своим опытом
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2017, 12:30
Ответы с готовыми решениями:

Использование .NET Native
Привет всем! Недавно узнал о .NET Native, который позволяет компилировать...

.NET Native: только для Windows Store?
Не могу найти информацию за 2016-2017 год, кто знает возможно ли сейчас делать...

.NET Native: только для Windows Store?
Все вот очень ждали эту фишку. А она только для Windows Store apps :cry:...

Оптимизация производительности C#.NET (Алгоритм, Многопоточность, Debug, Release, .Net Core, Net Native)
Решил поделится своим небольшим опытом по оптимизации вычислений на C#.NET. НЕ...

Microsoft .NET Native
.NET Native compiles C# to native machine code that performs like C++. You will...

6
OwenGlendower
Супер-модератор
Эксперт .NET
9689 / 8432 / 3613
Регистрация: 17.03.2014
Сообщений: 16,892
Записей в блоге: 1
15.01.2017, 13:33 2
netBool, технология .NET Native предназначена только Windows Store приложений под Windows 10. Были сообщения что планируется добавить поддержку и обычных приложений включая даже ASP.NET, но пока это не сделано. Так что применять его как средство защиты пока не получится.
0
netBool
248 / 250 / 149
Регистрация: 16.11.2010
Сообщений: 942
Записей в блоге: 9
Завершенные тесты: 5
15.01.2017, 14:46  [ТС] 3
Цитата Сообщение от OwenGlendower Посмотреть сообщение
netBool, технология .NET Native предназначена только Windows Store приложений под Windows 10. Были сообщения что планируется добавить поддержку и обычных приложений включая даже ASP.NET, но пока это не сделано. Так что применять его как средство защиты пока не получится.
Я читал об этом, но не могу понять, как это происходит на практике. Разве .NET native не компилирует программу в обычный exe-шник, который копируется на клиентский компьютер и запускается оттуда? Если да, тогда по идее его можно переустановить на любой другой компьютер?
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
15.01.2017, 14:53 4
Цитата Сообщение от netBool Посмотреть сообщение
Я уже всеръез задумался над переносом основной части программы на обычный С++.
А это ничего не даст.
Программы на C++ как ломали в два счета, так и будут ломать.
Разница, конечно, есть, но она для хакеров несущественна.
0
netBool
248 / 250 / 149
Регистрация: 16.11.2010
Сообщений: 942
Записей в блоге: 9
Завершенные тесты: 5
15.01.2017, 19:05  [ТС] 5
Цитата Сообщение от Убежденный Посмотреть сообщение
А это ничего не даст.
Программы на C++ как ломали в два счета, так и будут ломать.
Разница, конечно, есть, но она для хакеров несущественна.
Я исхожу из того, что людей, шарящих в двоичном коде и ассемблере, на порядок меньше, чем в C# и ему подобным + даже спецу надо будет приложить определенные усилия, чтобы например получить алгоритм проверки ключей активации. + получить исходный код уж точно не получится. Что же касается .NET - то на рефлекторе исходный код получить можно одним кликом. Даже думать не надо И для этого не нужно быть хакером. Я не вижу преград для какого-нибудь программиста-троешника просто вписать себя в авторы в окне "о программе" -можно даже чуть изменить интерфейс - и откомпилировать программу.. В механизм генерации ключей даже вникать не надо. Удалить его в один клик и выложит программу в интернет. Ну или начать продавать от своего имени, изменив местоположение нескольких кнопок в интерфейсе. Ну как-то так...
0
OwenGlendower
Супер-модератор
Эксперт .NET
9689 / 8432 / 3613
Регистрация: 17.03.2014
Сообщений: 16,892
Записей в блоге: 1
15.01.2017, 21:23 6
Цитата Сообщение от netBool Посмотреть сообщение
Разве .NET native не компилирует программу в обычный exe-шник, который копируется на клиентский компьютер и запускается оттуда? Если да, тогда по идее его можно переустановить на любой другой компьютер?
Я не пробовал её применять и не могу уверенно говорить что мы получаем на выходе, но по идее ты прав. Здесь только одна трудность - подобная компиляция возможна только для приложений использующих специальную версию .NET для т.н. универсальных приложений. Плюс есть еще версия для .NET Core. То есть взять произвольное приложение и откомпилировать его с помощью .NET Native не получится. Ждем когда Microsoft выкатит версию без этих ограничений!
0
Usaga
Эксперт .NET
5129 / 3489 / 615
Регистрация: 21.01.2016
Сообщений: 13,872
Завершенные тесты: 2
16.01.2017, 07:32 7
netBool, обфускаторы только защищают исходники твоего приложения (затрудняют декомпиляцию). От взлома (правки какой-то части функционала, к примеру вынос лицензирование) они не могу защитить. Тут что С++, что шарп - разницы нет. И так уж повелось, что мало-мальски качественные обфускаторы для шарпа только за денюжку. Бесплатные так себе работают.
0
16.01.2017, 07:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2017, 07:32

Передача объектов COM из NET в native и обратно
Всем доброе утро. Интересует вопрос передачи данных между двумя языками. ...

Visual Basic 5 компиляция в P-Code и в Native Code - различия
Из одного и того же исходного кода: скомпилировано два exe-файла один в...

Создать одну .DLL из нескольких (Native и .NET)
Всем привет! Можно ли сделать одну .DLL из нескольких, разных платформ/языков?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru