我正在寻找一种技术或工具,我们可以用它来混淆或以某种方式保护我们编译的c#代码。目标不是用户/数据安全,而是阻碍我们软件中某些技术的逆向工程。
这不适用于网络,但适用于桌面应用程序。
那么,您知道有哪些工具可用于此类事情吗? (他们不需要自由)
他们有什么样的表现影响?
在开发期间使用调试器时,这会产生任何负面影响吗?
我们在现场记录问题的堆栈跟踪。混淆会如何影响这个?
答案 0 :(得分:26)
这是来自Visual Studio Marketplace的混淆器的很好的列表 混淆器
在混淆代码时,我没有发现任何性能问题。如果您只是发送基于文本的堆栈跟踪,则可能在翻译方法名称时遇到问题。
答案 1 :(得分:0)
还有一些工具也会对混淆的DLL进行“反混淆” - 我建议将需要保护的部分转换为非托管组件。
答案 2 :(得分:0)
http://xheo.com/products/code-protection
过去为我做过工作。
答案 3 :(得分:-3)
你在浪费时间沿着这条路走下去。如果您有不希望任何人看到的代码,您需要将其关在门外。例如,仅使用Web服务接口在您自己的服务器上执行该代码。
模糊代码只能阻止最随意的人。正如视频游戏行业很久以前所倾向的那样,没有任何代码可以安全地破解。