是否无法保护.net代码(知识产权)?

JL.*_*JL. 6 .net code-security

我曾经在JavaScript中工作很多,而且真正困扰我的雇主的一件事是源代码太容易被盗了.即使有混淆,也没有什么真正帮助,因为我们都知道任何有能力的开发人员如果愿意,都能够阅读该代码.

JS Scripts是一回事,但是那些在IP(知识产权)上投入了数百万美元的SOA项目呢.我喜欢.net,尤其是C#,但我最近又回答了这个问题:"如果我们将这个编译好的程序交给我们的客户,他们的开发人员可以对其进行逆向工程吗?" 我已经不遗余力地对代码进行了模糊处理,但我知道对于另一位坚定的C#开发人员来说,获取代码并不需要那么多.

所以我认真地提出了这个问题,是否无法保护.net代码?

我的考虑因素如下:

  1. 即使是常规的本机可执行文件也可以反转,但并非每个开发人员都具备能够执行此操作的技能.拆解本机可执行文件要比.net程序集更难.
  2. 混淆只会让你到目前为止,但它确实有点帮助.
  3. 为什么我从未见过微软公开承认用.net写的任何东西都会受到相对容易的IP盗窃?为什么我从未在任何Microsoft网站上看​​到过一些反措施培训?为什么VS带有社区混淆器作为可选组件?好吧也许我刚刚在这里度过了难关,但在大多数开发人员优先列表中并不是很高.
  4. 有没有计划在任何未来版本的.net中解决我的问题?

我不是在敲网.但是我想要一些现实的答案,谢谢你,标记为主观和社区的问题!

Ree*_*sey 10

所有代码都可以进行逆向工程.

.NET降低了这个标准(只需尝试Reflector!),但是混淆会再次提升它.一个好的混淆器会提高标准,以防止除了一个非常专注,积极主动的人以外的所有人对你的代码进行逆向工程.

话虽如此,我个人更愿意关注质量.我运行一个小型ISV,我们使用.NET - 混淆是很重要的,但如果你能提供高质量的产品,那么如果有人试图对你的代码进行逆向工程,这并不重要.

甚至,假设,如果他们能够通过一个复杂的项目对所有事情进行逆向工程,他们将在实际交付具有市场竞争优势的东西方面落后数年......