2008-09-12 70 views
18

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

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

那么,你知道有任何工具可以做这种类型的事情吗? (他们不需要免费)

他们有什么样的性能影响?

在开发过程中使用调试器时会产生任何负面影响吗?

我们在现场记录堆栈问题的痕迹。混淆会对此产生什么影响?

+0

重复:http://stackoverflow.com/questions/2525/best-net-obfuscation-tools-strategy – 2009-08-21 13:52:00

回答

0

还有一些工具也会对混淆的DLL进行“反混淆” - 我建议将需要保护的片段转变为非托管组件。

+4

在这一点上,我们将转向解组器,就像他们在计算机上破解复制保护一样游戏。 – 2008-09-12 21:58:43

+0

@Jonathan Allen:它被称为反汇编,而不是反汇编。顺便说一句,你不需要拆卸。HexRays有一个很好的C/C++ DECOMPILER(参见IDA Pro Advanced)。 – 2016-12-11 08:38:25

16

这是混淆器从msdn 模糊处理

混淆我的代码时,我还没有看到任何性能问题。如果你只是发送文本basted堆栈跟踪,你可能会有翻译方法名称的问题。

+0

这将是很高兴有链接。如果你有机会,你可以添加它们吗? – spoulson 2008-09-14 16:52:06

0

你正在浪费你的时间走下去的路径。如果你有不希望任何人看到的代码,你需要保持密闭。例如,只能使用Web服务界面在您自己的服务器上执行该代码。

混淆你的代码只会阻碍最随意的人。随着视频游戏产业的发展很久以前,没有任何代码是安全的。