如何保护.NET程序集免受反编译?

如何保护.NET程序集免受反编译?

我开始使用C#时学到的第一件事就是最重要的一件事。您可以使用Reflector或其他工具反编译任何.NET程序集。许多开发人员都不知道这个事实,当我向他们展示他们的源代码时,他们中的大多数都感到震惊。

防止反编译仍然是一项艰巨的任务。我仍在寻找一种快速,简便,安全的方法。我不想混淆我的代码,所以我的方法名称将是a,b,c左右。反射器或其他工具应该无法将我的应用程序识别为.NET程序集。我已经了解了一些工具,但它们非常昂贵。有没有其他方法来保护我的应用程序?



慕尼黑的夜晚无繁华
浏览 712回答 3
3回答

翻过高山走不出你

在这里工作,我们使用PreEmptive Solutions的Dotfuscator。虽然不可能保护.NET程序集100%Dotfuscator让我觉得很难。我带来了很多混淆技术;交叉装配重命名重命名方案重命名前缀增强的重载归纳增量混淆HTML重命名报告控制流字符串加密事实证明,对于小公司来说,它们并不是非常昂贵。他们对小公司有特殊定价。(不,我不是为PreEmptive工作;-))当然还有免费软件替代品;

大话西游666

如何防止任何C#应用程序的反编译几乎描述了整个情况。在某些时候,代码必须被转换为VM字节码,然后用户可以获得它。机器代码也没有太大的不同。像IDA Pro这样的好的交互式反汇编程序/调试 程序可以使任何本机应用程序透明化。调试器非常智能,可以使用AI来识别常见的API,编译器优化等。它允许用户从机器代码生成的程序集中重新构建更高级别的构造。IDA Pro也在某种程度上支持.Net。老实说,在从事逆向工程(兼容性)项目几年之后,我从经验中得到的主要是我可能不应该过多担心人们窃取我的代码。如果有人想要它,无论我实施什么方案,都不会很难得到它。
打开App,查看更多内容
随时随地看视频慕课网APP