我们的要求是能够将我们的 DLL 与 ClickOnce 集成。 Dotfuscator 很好地完成了混淆工作,但混淆后的 DLL 无法在客户端使用 ClickOnce 进行部署。在我们这边,我们可以完美地处理它。此外,混淆的程序集有时会导致我们的 .NET CF 应用程序崩溃。结果是一个解决方案,它创建一个临时源并在使用 VS 编译之前对其进行混淆。这确保了编译后的程序集可以与 ClickOnce 集成并与 .NET CF 完全兼容。混淆 C# 源代码(而不是程序集)的最佳工具是什么?
{SmartAssembly} - 简单、高效、出色,并且不仅仅是混淆。
我们目前将其与 ClickOnce 一起使用,并且它支持 Compact Framework - 您只需添加后期构建脚本即可完成。它还具有不同的安全级别,因此您可以简单地通过反复试验来获得最兼容的保护级别。
在大多数情况下,如果您问这个问题,则说明您使用了错误的语言(和框架)。 许多使 .NET 强大的东西与混淆不兼容,因此您不妨使用本机 C++。
ClickOnce 可能是一个例外,但我认为它仍然会严重限制您可以使用的混淆级别。
如果您确实想保护您的 IP,您应该托管一个 Web 服务,这样您的专有代码就永远不会离开您的计算机。 一旦你的代码在别人的 CPU 上运行,你就失去了隐藏它的机会。
查看我公司的 SD C# 混淆器。
你不需要混淆源代码,你只需要一个支持ClickOnce的程序集混淆器。 Crypto Obfuscator 支持这一点 - 它在构建过程中执行混淆,因此最终出现在 ClickOnce 清单和设置中的程序集已经被混淆。