31

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

这不是用于网络,而是用于桌面应用程序。

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

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

在开发期间使用调试器时,这是否有任何负面影响?

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

4

4 回答 4

36

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

在混淆我的代码时,我没有观察到任何性能问题。如果您只是发送基于文本的堆栈跟踪,则在翻译方法名称时可能会遇到问题。

于 2008-09-12T21:56:48.470 回答
0

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

于 2008-09-12T21:02:21.067 回答
0

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

过去为我完成了这项工作。

于 2008-09-12T22:15:18.457 回答
-7

你走这条路是在浪费时间。如果你有不想让任何人看到的代码,你需要把它关在门后。例如,仅使用 Web 服务接口在您自己的服务器上执行该代码。

混淆你的代码只会阻止最随意的人。由于电子游戏行业很久以前就开始倾斜,没有任何代码可以安全地被破解。

于 2008-09-12T22:01:31.843 回答