Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2011, 21:55   #1
Zed32
Пользователь
 
Регистрация: 12.01.2011
Сообщений: 11
По умолчанию Защита NET кода

Здравствуйте,
Создал проект на NET.
Но как оказалось при помощью Net reflector с моих dll&exe можно с легкостью вытащить исходный код (мало того хоть на С++ или Delphi синтаксисе).
Может кто подскажет как защитить код от взлома?

ps. предлагают переименовать названия методов, класов, переменных китайскими иероглифами - но это не выход, код все равно можно прочитать.
Zed32 вне форума Ответить с цитированием
Старый 18.03.2011, 04:54   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
Может кто подскажет как защитить код от взлома?
защита должна быть построена так, что опубликование исходного кода/алгоритма ничем бы не помогало хакеру. Можно поиграться с обфускаторами, если хочется закрыть именно алгоритм.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 18.03.2011, 12:52   #3
OrcXCyber
Web-программер
Пользователь
 
Аватар для OrcXCyber
 
Регистрация: 05.11.2009
Сообщений: 49
По умолчанию

А для .NET языков существует обфускация?
В случае с Java - великолепно!
OrcXCyber вне форума Ответить с цитированием
Старый 18.03.2011, 12:56   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

она существует и в .NET, но так же как и в Java, лишь ухудшает читабельность кода.
(лично декомпилировал пару прог на Java, по мне так читабельность не очень упала)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.03.2011, 16:51   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Да никак нельзя, особенности платформы. Даже если какой-то жутко умный обфускатор так нагадит, что проект невозможно будет собрать, всегда можно написать инлайн-патч, работающий с незащищёным нативным кодом после mscorjit. Т.е. фактически при использовании только managed-кода самая крутая защита будет эквивалентна незащищённому native-приложению. От кражи кода это ещё как-то помочь может, но от взлома программы вряд ли.

Судя по ценам, разработчики защит ориентируются именно на энтерпрайз, для которых взлом конкретного продукта не так страшен, как кража идей/технологий.
пыщь

Последний раз редактировалось JTG; 18.03.2011 в 16:54.
JTG вне форума Ответить с цитированием
Старый 19.03.2011, 16:29   #6
Zed32
Пользователь
 
Регистрация: 12.01.2011
Сообщений: 11
По умолчанию

Обфускаторы полностью бесполезны.
Даже dotfuscator - не дает никакого результата, хоть и читать код стало хуже (могли б хоть переименовать названия функций как то пострашнее)
а Skater obfuscator - вообще безполезен.


Это цена за кросплатформенность, но в майкросовт могли б хоть шифровать код как то для фреймворка (подпись добавлять, и тп...). Сами ж ведь против опенсоурс.
Zed32 вне форума Ответить с цитированием
Старый 19.03.2011, 16:56   #7
Zed32
Пользователь
 
Регистрация: 12.01.2011
Сообщений: 11
По умолчанию

http://www.foss.kharkov.ua/g1/projec...t/Default.aspx - неплохой обфускатор, но толку как и от всех остальных мало

Вывод: Надо писать на Qt
Zed32 вне форума Ответить с цитированием
Старый 29.03.2011, 02:54   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Вывод: Надо писать на Qt
нельзя сравнивать нативный код и управляемый.
это очень разные вещи, переходя в dotNET(как и прочие управляемые архитектуры) надо учитывать это.

мне кажется что вышло так от того, что в проце инструкций куда больше чем в IL.
(хотя помоему тут еще сама архитектура IL виновата, надо посмотреть про нее будет)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита кода Php Shyt Свободное общение 27 31.07.2010 10:13
Защита кода GvR Общие вопросы Delphi 7 17.11.2009 03:08
Защита кода -=L.Morgan=- Общие вопросы Delphi 4 29.06.2009 13:10
защита кода С++ Ceprey Общие вопросы C/C++ 3 25.03.2008 22:09