Вы можете использовать коммерческую версию Dotfuscator для автоматической маскировки приложения ClickOnce, добавив манифест развертывания ("foo.application") в качестве входных данных в ваш проект Dotfuscator.Dotfuscator позволит вам добавить любые необходимые исключения в сборки, содержащиеся в приложении ClickOnce, и создаст обновленные манифесты развертывания и приложения, содержащие запутанные сборки.
Бесплатная версия Dotfuscator, включенная в Visual Studio (включая Visual Studio 2010)) не имеет функции автоматической маскировки приложений ClickOnce.Чтобы получить работающее запутанное приложение ClickOnce, вам нужно будет заново создать или обновить манифесты ClickOnce, поскольку запутывание изменяет подписи сборок.
Вы можете использовать mage.exe или mageui.exe (входит в Windows / .NET SDK) для обновления манифестов ClickOnce.Если вы собираетесь использовать mage.exe, вы должны знать, что вы не можете использовать опцию «Использовать расширение файла .deploy» в опциях ClickOnce, поскольку она не распознает ее.
Предполагается, что ваше приложение ClickOnce называется«Foo» и имеет версию 1.0.0.0. Процесс, который вы хотите выполнить:
- Опубликуйте приложение ClickOnce в каталоге на диске
- Запустите Dotfuscator CE и добавьте сборкиВы хотите, чтобы вас запутали в каталоге bin вашего проекта
- Запутайте сборки.Обфусцированные сборки будут по умолчанию помещены в подкаталог с именем «Dotfuscated».
- Переустанавливайте ваши обфусцированные сборки с помощью sn.exe (только если вы изначально строго их назвали)
- Скопируйте обфусцированные сборки поверхЛучшие из них в каталоге ClickOnce publish \ Application Files \ Foo_1_0_0_0
Обновите манифест приложения и отмените его:
mage.exe -Update "Файлы приложения \ Foo_1_0_0_0 \ Foo.exe.manifest "-CertFile" c: \ Foo \ foo.pfx "-Password пароль
Обновите манифест развертывания и отмените его:
mage.exe -UpdateFoo.application -AppManifest "Файлы приложений \ Foo_1_0_0_0 \ Foo.exe.manifest" -CertFile "c: \ Foo \ foo.pfx" -Password пароль
Теперь у вас есть действующее приложениеи развертывание манифеста с использованием запутанных сборок.Вы также можете использовать инструмент MageUI.exe для выполнения тех же задач (и он знает, как обрабатывать сборки с расширением .deploy), но автоматизировать его не так просто.