Добавление лицензии в ваше веб-приложение .Net - PullRequest
1 голос
/ 06 января 2009

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

Итак, моя главная цель - защитить настоящие файлы

Т.е. Default.aspx Default.aspx.cs .... копирование в будущем, и я не смогу помешать им использовать его.

Спасибо

РЕДАКТИРОВАТЬ: Из чтения ответов я, кажется, думаю, что обфускатор, кажется, путь. Программа обфускатора работает только на exe или dll или на отдельных страницах?

Ответы [ 7 ]

1 голос
/ 06 января 2009

Я бы не стал запутываться: последние синтаксис-сахар , трюки во время компиляции и оптимизация в .Net 3.5 делают простой обратный инжиниринг уже довольно сложным.

Например, каждый раз, когда вы используете ключевое слово yield, он генерирует класс перечисления со сложной структурой и нечитаемым именем.

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

Я бы подписал все ваши сборки ключами - тогда, если они перевернут одну, они должны перевернуть все.

Я бы взял большую часть реальной логики приложения из веб-проекта и в библиотеки DLL, на которые ссылаются - ваш веб-проект действительно должен быть полностью посвящен пользовательскому интерфейсу. Это облегчает юнит-тестирование базовой логики и упрощает запутывание, если вы решите, что оно того стоит.

1 голос
/ 06 января 2009

Мне интересно, если простая прекомпиляция сработает в вашем приложении ASP.NET, мы делаем это здесь, в компании. Мы поставляем наши предварительно скомпилированные веб-модули, и никто не увидит, что находится в коде aspx, все файлы с выделенным кодом переведены в DLL.

подробнее здесь

1 голос
/ 06 января 2009

Один шаг, который вы можете сделать, это выпустить его как веб-приложение, а не как веб-сайт.

Отличия от asp.net

Что касается Default.aspx, я не знаю способа шифрования html-страниц, которые обслуживаются на стандартных веб-серверах, и в любом случае клиенты все равно смогут просматривать исходные тексты, если вы не напишите пишет всю страницу в JavaScript (ужасно управлять).

Лучше всего не включать какой-либо логический код приложения в aspx и компилировать ваши двоичные файлы с помощью обфускатора.

0 голосов
/ 06 января 2011

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

Я предлагаю вам выбрать подходящую вам лицензию (их много), а затем позаботиться о физической защите любым способом.

0 голосов
/ 06 января 2009

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

Вы можете запустить обфускатор над исходным кодом и распространять обфусцированную версию, существует множество примеров этого, особенно для javascript.

0 голосов
/ 06 января 2009

Мне было интересно, есть ли другой способ защитить ваш кислый код, кроме обфускатора или прекомпиляции.

Т.е. у вас есть список страниц Default.aspx Default.aspx.cs web.config

Где ваша основная цель состоит в том, чтобы запретить третьим лицам принимать ваш код, если у них есть доступ к исходному коду?

0 голосов
/ 06 января 2009

ваш веб-сайт может отправлять вам некоторую информацию о машине сервера при каждом входе пользователя в систему. Если информация о механике неверна, отмените регистрацию.

...