混淆或者保护.Net程序集的最佳方法

时间:2020-03-05 18:52:31  来源:igfitidea点击:

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

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

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

如果有的话,它们会对性能产生什么样的影响?

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

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

解决方案

回答

有些工具也可以对模糊的DLL进行"去模糊化"处理,我建议将需要保护的部分变成一个不受管理的组件。

回答

这是来自msdn的混淆器的一个很好的列表
混淆器

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

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

回答

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

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

回答

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

过去为我完成了工作。