关于C#:混淆或保护.Net程序集的最佳方法

关于C#:混淆或保护.Net程序集的最佳方法

Best method to obfuscate or secure .Net assemblies

我正在寻找一种技术或工具,可以用来混淆或以某种方式保护我们的已编译c#代码。 目标不是为了用户/数据安全,而是要阻止我们软件中某些技术的逆向工程。

这不是在Web上使用,而是在桌面应用程序上使用。

那么,您知道有什么工具可以做这种事情吗? (他们不必免费)

如果有的话,它们对性能有何影响?

在开发过程中使用调试器时,这会有负面影响吗?

我们在现场记录堆栈跟踪问题。 混淆会如何影响这一点?


这是来自Visual Studio Marketplace的混淆器的一个很好的列表
混淆器

  • 圆点
  • 加密混淆器
  • .NET的举止
  • DeployLX CodeVeil
  • Dotfuscator .NET混淆器
  • Salamander .NET混淆器
  • 语义设计:C#源代码混淆器
  • 智能装配
  • Spices.Net
  • 卸载
  • Xenocode Postbuild 2006
  • .NET反应堆

混淆我的代码时,我没有发现任何性能问题。如果仅发送基于文本的堆栈跟踪,则可能无法翻译方法名称。


http://xheo.com/products/code-protection

过去为我完成了工作。


有些工具还可以"混淆"混淆的DLL-我建议将需要保护的部分转换为非托管组件。


您在浪费时间沿着那条路走。如果您有不想让任何人看到的代码,则需要将其隐藏起来。例如,仅使用Web服务界面在您自己的服务器上执行该代码。

混淆代码只会阻止大多数人。由于视频游戏行业在很长一段时间前都处于低迷状态,因此没有代码可以安全破解。


推荐阅读