软件保护方案 >> .NET 平台
.NET 是 Microsoft 推出的新一代战略框架,也是 Microsoft 未来 10 年的战略规划中重要组成部分。短短几年的发展,.NET 已经在桌面应用、Web 应用、企业级应用乃至移动应用等开发领域得到了广泛的使用,众多开发人员和专业公司已将 .NET 作为首选的开发平台。
易学易用的开发工具、多元化语种、高开发效率、统一编程模型,统一运行库给 .NET 开发人员带来了很多惊喜。但是,.NET 上最突出的架构特性 MetaData (元数据)及相关的 IL 运行机制在提供了超乎寻常的便利的同时,也带来了一个非常敏感的缺点 -- .NET 程序集非常容易被反编译,而这个缺点也成了许多重视知识产权保护的 .NET 开发者心中最大的顾虑之一。
当您在 Microsoft .NET 框架下编写软件时,您的软件产品并没有编译成为本地代码 EXE 程序,而是被翻译成一种称作通用中间语言( Common Intermediate Language, CIL )的东西。CIL 是一种介于源代码和本地代码之间的语言,当您的软件启动时,.NET 框架会解析这种语言运行,而不是像机器码那样直接运行,这样一来,您软件产品的源代码就可以被类似 .NET Reflector 的工具从编译好的 .NET 程序集中轻易地复制出来。显而易见,商业软件如果不应用任何保护就发布给最终用户的话,知识产权很容易被侵犯并出现盗版问题。
我们为您推荐的软件保护方案拥有多样化的安全特性及高度透明性,可以有效地减少由于盗版给您的投资和盈利带来的风险,并能为您带来积极的投资回报。
当前常用的保护技术:
- 模糊技术(Obfuscation)。
主要包括名称模糊和流程模糊,将可理解的源代码变的晦涩难懂,用来混乱破解者的思维; - 编译到本地代码(Native code)。
这种保护方式可以有效的阻止利用反射机制(Reflect)的工具的反编译,缺点是无法跨平台运行;对于破解者来说,则需要同时懂得 .NET 虚拟机和 Win32 汇编知识,要求很高; - 把代码隐藏在资源中。
将程序集代码放在资源中加密,运行时动态解密,这种保护方式的加密强度很高。

