[发明专利]一种在软件保护装置中简化实现.Net虚拟机的系统和方法有效
申请号: | 200810113144.2 | 申请日: | 2008-05-28 |
公开(公告)号: | CN101593258A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 保护装置 简化 实现 net 虚拟机 系统 方法 | ||
技术领域
本发明属于信息安全领域,尤其涉及一种在软件保护装置中实现.Net虚拟机的系统和方法。
背景技术
.Net是微软的新一代技术平台,是全新的基于互联网的跨语言软件开发平台,顺应了当今软件工业分布式计算、面向组件、企业级应用、软件服务化和以Web为中心等大趋势。.Net并非开发语言,但是在.Net开发平台上可以支持多门开发语言。.Net最突出的一个特点是它能够使用户通过Web与众多智能设备相交互,同时确保用户而不是应用程序控制这个交互。这就使得微软.Net体验是极具个性化、综合化的体验,这种体验通过与XML Web服务相连的智能设备来实现。这些智能设备是一种具有Web功能的工具,如个人电脑、掌上电脑、智能电话,在这些设备中配上软件,这些软件使得它们在与用户、网络、信息及其它设备和服务的交互过程中更加智能化。
.Net语言的编译分为两个阶段,首先高级语言被编译成一种称作IL(中间代码)的中间语言,与高级语言相比,IL更像是机器语言,然而,IL却包含一些抽象概念(比如:类、异常),这也是这种语言被称为中间语言的原因。高级语言在初次被编译时,编译器做两件事:首先把编译得到的IL存储在DLL或EXE中,然后为类的每个方法创建一个stub函数,此函数会调用即时编译器,并将自身的地址作为参数传给编译器。即时编译器则从DLL或EXE中获取相应的IL,编译成机器语言,并将内存中的原零时调用函数替换成机器语言。stub函数再调用编译器,将自身编译为本地机器语言。JIT是一个典型的即时编译器,JIT编译器在每段代码执行前进行编译,编译的结果为本地静态机器码,如x86指令程序的运行环境下的机器码。
.NET Framework没有限制应用程序的类型,它可以实现开发的应用程序包括:Windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。由此.NET Framework的设计方式保证它可以用于各种语言比如:C#语言、C++、Visual Basic、JScript,甚至一些旧的语言,如COBOL。.NET Framework功能实现主要在于它包含一个非常大的代码库和.NET公共语言运行库(CommonLanguage Runtime,CLR),代码库使得客户可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码,而.NET公共语言运行库负责管理用.NET库开发的所有应用程序的执行。所以,使用.NET Framework编写应用程序,实质就是使用.NET代码库编写代码,编程语言被目标操作系统能够理解,需要编译代码,将.NET Framework代码库中的代码变译成Microsoft的中间语言。
所谓虚拟机,可以把它想象成一台用软件来模拟的机器,在这台机器里有处理器、内存、寄存器等各种硬件,模拟执行各种指令,在这台机器上运行的软件对运行环境没有特殊要求,所以虚拟机对在它上运行的程序是透明的。例如,x86虚拟机模拟的是x86指令程序的运行环境,c51虚拟机模拟的是c51指令程序的运行环境
软件保护装置是一种通过标准的个人计算机接口提供信息加密处理的便携式设备。它内置单片机或智能卡芯片,可以存储密钥或数字证书,利用软件保护装置内置的密码算法实现对信息的加密功能。软件保护装置能够很好地保护软件版权,防止盗版。加密锁(又称加密狗或软件狗)是一种常见的软件保护装置。
在现有技术中,虚拟机一般是用于PC机的。对于软件保护装置,由于存储空间、内存有限,在其中安装虚拟机有一定的难度。而且,即使在其中实现了虚拟机,也难以用其来运行代码。
发明内容
为解决现有技术中,软件保护装置存储空间和内存有限,虚拟机难以在软件保护装置中实现的问题,本发明提供了一种在软件保护装置中实现.Net虚拟机的系统和方法。
一方面,本发明提供了一种在软件保护装置中实现.Net虚拟机的系统,具体包括:内存管理模块、指令解析模块、加载模块、系统库模块和接口库模块;
所述内存管理模块连接于所述加载模块,用于管理内存的分配、回收及复用;
所述指令解析模块连接于所述加载模块、系统库模块及接口库模块,用于在软件保护装置中写入的代码在软件保护装置中运行时,将代码运行时的中间指令(IL指令)解析成虚拟机所能运行的指令;
所述加载模块连接于所述指令解析模块,用于写入软件保护装置中的代码在软件保护装置中运行时,根据所述指令解析模块的需要将指定的内容加载到内存中;
所述系统库模块连接于所述指令解析模块,用于在软件保护装置中模拟主机上的系统库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810113144.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型太阳能电池
- 下一篇:水源采暖、空调、热水三用机