[发明专利]一种对.NET可执行程序进行保护的方法和系统有效
申请号: | 201410135281.1 | 申请日: | 2014-04-04 |
公开(公告)号: | CN103955635B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 net 可执行 程序 进行 保护 方法 系统 | ||
技术领域
本发明涉及信息安全技术领域,特别涉及一种对.NET可执行程序进行保护的方法和系统。
背景技术
.NET是微软公司用来实现XML、Web Services、SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的、联通的、适应变化的、稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。
在信息安全领域中,软件作为一种宝贵的财富,软件的安全性越来越受到单位、企业和个人的关注。.NET是作为微软的新一代技术平台,.NET统一了编程语言,无论程序使用C#,还是C++、VB编写,程序最终都会编译为.NET中间语言MSIL(Microsoft Intermediate Language)。MSIL是将.NET代码转化为机器语言的一个中间过程,它是一种介于高级语言和基于Intel的汇编语言的伪汇编语言。当用户编译一个.NET程序时,编译器将源代码翻译成Microsoft 中间语言 (MSIL),它是一组可以有效地转换为本机代码且独立于CPU的指令。当执行这些指令时,实时(JIT)编译器将它们转化为CPU特定的代码。由于公共语言运行库支持多种实时编译器,因此同一段MSIL代码可以被不同的编译器实时编译并运行在不同的结构上。从理论上来说,MSIL将消除多年以来业界中不同语言之间的纷争。在.NET的世界中可能出现下面的情况,一部分代码可以用EFFIL实现,另一部分代码使用C#或VB.NET完成,但是最后这些代码都将被转换为中间语言。这给程序员提供了极大的灵活性,程序员可以选择自己熟悉的语言,并且再也不用为学习不断推出的新语言而烦恼了。
编译为托管代码时,编译器将源代码翻译为 Microsoft 中间语言 (MSIL),这是一组可以有效地转换为本机代码且独立于 CPU 的指令。MSIL 包括用于加载、存储和初始化对象以及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。要使代码可运行,必须先将 MSIL 转换为特定于 CPU 的代码,这通常是通过实时 (JIT) 编译器来完成的。由于公共语言运行库为它支持的每种计算机结构都提供了一种或多种 JIT 编译器,因此同一组 MSIL 可以在所支持的任何结构 JIT上 编译和运行。编译后的.NET运行时,由虚拟机执行引擎把中间语言代码转换为机器代码。
虽然.NET提供了便利,但.NET编译后的程序集非常容易被反编译,比如利用Reflector工具几乎可以生成.NET程序的源代码。Reflector是由微软员工Lutz Roeder编写的免费程序。Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。除了能将IL(Intermediate Language,中间语言)转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。
目前对于.NET程序集的保护主要是基于纯软件的保护技术,常见的.NET保护软件有.NET Reactor、Dotfuscator等。基于纯软件的保护方法抗分析性较差。.Net自带工具Dotfuscator是领先的 .NET 模糊处理程序、压缩程序和水印处理程序,它有助于保护程序,使之免遭反向工程处理,同时使程序更小巧且更高效。Dotfuscator Professional Edition 4.9旨在阻止各种反编译器生成有用的输出,即便是那些最好的反编译器也不例外。它提供了全面、高效的 .NET 代码开发和部署过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410135281.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种耐光型超分子插层结构颜料及其制备方法
- 下一篇:一种阻燃塑料板的制备工艺