首页 > 解决方案 > C# 桌面应用程序。代码混淆。.Net Reactor 混淆的代码很容易被反混淆

问题描述

我们正在使用 C# 开发桌面应用程序(Windows 服务)。我们正在努力保护我们的知识产权,这就是我们决定使用 .Net Reactor 的原因

最初,它看起来像是一个强大的工具。混淆时,我选择了除“本机 exe 文件”之外的所有可用选项。(Necrobit, Anti ILDASM, Anti Tampering, Control Flow obfuscation, Obfuscation, String Encryption, Compress & Encrypt Resources)

我尝试使用 DotPeek 检查结果并对结果感到满意

但事实证明,有一个工具可以轻松地对所有程序集进行反混淆(出于明显的原因,我不会提及它是什么工具)。但我很好奇是否有人遇到过类似的问题。有谁知道保护将在客户端桌面/服务器上运行的 C# 代码的可靠方法

**请不要建议使用 C++ 重写应用程序

标签: c#obfuscationnet-reactor

解决方案


一般来说,编写软件的成本比购买使用它的许可证要高出许多数量级。同样,维护成本很高。因此,在大多数情况下,与运营成本相比,知识产权的价值较低。因此,很少有(如果有的话)用户会足够成熟和经济优势足以对您的软件进行逆向工程以用于他们可能拥有的任何目的。

此外,一般来说,如果您分发对某物的物理访问权,无论是电话、计算机还是编译的软件,您就不再对任何东西的安全性有任何期望。

因此,我认为你的努力是错误的。如果有特别有价值的算法或方法,可以考虑将服务器作为 API 托管,或者申请专利。如果您必须分发此特别文章,请与您的客户签订强有力的保密协议。让他们尝试从逆向工程中受益具有经济风险。


推荐阅读