Как запутать веб-приложение перед публикацией? - PullRequest
11 голосов
/ 10 марта 2010

У меня есть решение Visual Studio 2008 с количеством библиотек DLL, и веб-приложение использует их в качестве основного проекта. Это коммерческое банковское и бухгалтерское программное обеспечение (тонкий клиент), и я не хочу, чтобы клиент получал доступ к источнику в обход моего.

Я хочу скрыть все полученные сборки перед публикацией их на веб-сервере через меню Опубликовать.

Как я могу это сделать? Как вставить запутывающий шаг перед сборкой и публикацией? Используете msbuild?

Редактировать: Спасибо всем за ответы! Но мой вопрос больше о конкретной задаче (запутывание в VS при публикации), чем о запутывании вообще.

Ответы [ 6 ]

5 голосов
/ 10 марта 2010

Существует несколько продуктов для запутывания.

Visual Studio поставляется даже с одним - DotFuscator , хотя есть другие .

Вот немного документации по DotFuscator .

Однако даже при обфускации решительный хакер сможет восстановить ваш код.

1 голос
/ 15 июня 2010

Некоторые обфускаторы поддерживают выполнение запутывания как часть процесса сборки, поэтому опубликованное приложение уже запутывается.

Crypto Obfuscator является одним из таких инструментов - он поддерживает интеграцию с MSBuild, что позволяет выполнять этап запутывания в рамках публикации или ClickOnce.

1 голос
/ 10 марта 2010

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

Сказав, что, если вы действительно хотите запутать свой код, вы можете попробовать Easfuscator.NET .

1 голос
/ 10 марта 2010

См. Этот пост: Защита кода .NET от обратного инжиниринга?

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

Если ваш код работает, вероятность того, что честный клиент попытается переписать его или подделать, невелика. Если клиент не честен, мало что можно сделать, чтобы это было эффективно.

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

1 голос
/ 10 марта 2010

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

0 голосов
/ 10 марта 2010

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

...