Могу ли я защитить свое приложение ASP.NET от декомпиляторов? - PullRequest
2 голосов
/ 19 февраля 2009
  1. Я также знаю, что ASP.NET при публикации может быть скомпилирован
  2. Я знаю, что .NET-приложения компилируются в MSIL, и их легко можно перевести на любой язык .NET с помощью таких инструментов, как .NET Reflector от Red Gate.
  3. Я хочу разработать и доставить сайт ASP.NET, где покупатель будет размещать сайт, но не может получить доступ к коду.

Есть ли способ сделать это?

Ответы [ 14 ]

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

Какую версию VS вы используете? В VS2005 SP1 появился новый тип проекта, который называется Web Deployment. Щелкните правой кнопкой мыши на имени веб-сайта в обозревателе решений, и вы увидите опцию «Добавить проект веб-развертывания» - это добавит в ваше решение новый проект, который создаст одну DLL и изменит страницы aspx для ссылки на него.

Когда вы создаете решение, оно создает в папке проекта веб-развертывания версию сайта с одной DLL. Скопируйте это на сервер, настройте вашу базу данных и любые разрешения файловой системы (например, для загрузки и т. Д.), И вы в отъезде.

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

Может быть, я ошибаюсь, но я не уверен, что IIS будет обслуживать любые файлы из папки bin (в любом случае это не для меня, и я предполагаю, что это сделано так же, как вы не можете загрузить веб .config - он также не будет даже перечислять содержимое каталога). Если это правильно, то я не уверен, что у хакера есть способ получить dll, если он не может получить доступ к серверу в файловой системе.

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

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

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

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

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

Вы идете по правильному пути. DLL - большая помощь, но ее можно декомпилировать, чтобы хотя бы получить ее.

Использование Обфускатора, такого как Дотфускатор, является хорошим дополнительным шагом. Этот FAQ является хорошей отправной точкой для понимания Обфускаторов

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

...