Подтвердить что ты не робот

Как обфускать веб-приложение перед публикацией?

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

Я хочу обфускать все результирующие сборки, прежде чем публиковать их на веб-сервере в меню "Опубликовать".

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

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

4b9b3361

Ответ 1

Существует несколько продуктов обфускации.

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

Вот несколько DotFuscator documentation.

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

Ответ 2

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

Ответ 3

Смотрите это сообщение: Защитите .NET-код от обратного проектирования?

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

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

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

Ответ 4

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

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

Ответ 5

Некоторые obfuscators будут поддерживать выполнение obfuscation как часть процесса сборки, так что опубликованное приложение уже запутано.

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

Ответ 6

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