[发明专利]基于.Net虚拟机的软件保护系统和方法有效
申请号: | 200810112977.7 | 申请日: | 2008-05-27 |
公开(公告)号: | CN101593257A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 net 虚拟机 软件 保护 系统 方法 | ||
技术领域
本发明属于信息安全领域,涉及一种基于.Net虚拟机的软件保护系统和方法。
背景技术
目前,随着计算机技术的发展,基于互联网的相关技术也越来越受到关注。其中,Microsoft公司的.Net Framework是Microsoft为在多个操作系统上实现开发多种类型的应用程序而创建的一个富有革命性的新平台。
.Net Framework没有限制应用程序的类型,它可以实现开发的应用程序包括:Windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。由此.Net Framework的设计方式保证它可以用于各种语言比如:C#语言、C++、Visual Basic、J#,甚至一些旧的语言,如COBOL。.Net Framework功能实现主要在于它包含一个非常大的代码库和.Net公共语言运行库(Common Language Runtime,CLR),代码库使得客户可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码,而.Net公共语言运行库负责管理用.Net库开发的所有应用程序的执行。所以,使用.Net Framework编写应用程序,实质就是使用.Net代码库编写代码,编程语言被目标操作系统能够理解,需要编译代码,将.Net framework代码库中的代码变译成Microsoft的中间语言。
所谓虚拟机,可以把它想象成一台用软件来模拟的机器,在这台机器里有处理器、内存、寄存器等各种硬件,模拟执行各种指令,在这台机器上运行的软件对运行环境没有特殊要求,所以虚拟机对在它上运行的程序是透明的。例如,x86虚拟机模拟的是x86指令程序的运行环境,c51虚拟机模拟的是c51指令程序的运行环境。
软件保护装置:是一种带有处理器和存储器的小型硬件装置,它可通过计算机的数据通讯接口与计算机连接。可预置加密算法,且相关的运算完全在装置内部运行,具有抗攻击的特性,安全性极高。
鉴于软件保护装置和虚拟机的出现,软件保护装置生产商(简称生产商)会在较高端的硬件设备中实现某种虚拟机功能,那么便可以在软件保护装置中直接运行与实现的虚拟机相对应格式的代码,例如,硬件生产商在件保护装置中实现了c51虚拟机,目前的应用方式就是将C语言通过KEIL编译成c51代码,存入软件保护装置中运行。
目前,可编程的较高端软件保护装置,保护软件的原理是将软件中的核心程序写入信息,并且不在主机上保留这一部分程序的副本。但现有的软件保护装置可以运行C51指令却不能够运行其他指令,所以在将运行非c51指令程序写入软件保护装置时,需将程序的源代码在Keil C51开发环境下编译成.hex文件,再将.hex文件转换成bin文件,bin文件是包含C51指令的,从而可以直接将bin文件写入到软件保护装置。但是若源程序不是由C语言编写的,需要将源程序中这一部分程序先改写成C语言的程序,再按照上述步骤来完成。在源程序相应位置,需要开发人员编写一个与源代码同种编程语言的通讯,以便源程序运行到这一位置时,能够寻找到软件保护装置,调用软件保护装置中的程序,完成整个程序的功能。由此可见,这一过程是相当繁琐的,且要求开发人员必须对C语言很熟悉,但是随着社会的发展,熟悉C语言的开发人员越来越少。
发明内容
鉴于现有技术在软件保护装置内部写入被保护软件的核心代码的过程烦琐,工作量大,对开发人员的要求也较高。本发明提供了一种基于.Net虚拟机的软件保护系统和方法。
一种基于.Net虚拟机的软件保护系统,其特征在于,所述系统包括处理设备和软件保护装置;
所述处理设备包括向导模块、集成开发模块和主机端微型框架模块,所述软件保护装置包括管理模块、接口模块、运行模块、函数库模块和加载模块;
所述向导模块分别与集成开发模块和主机端微型框架模块相连,用于根据用户需要,生成用户代码的模板,并将用户程序所引用的.Net类库指向主机端微型框架模块;
所述集成开发模块分别与向导模块、主机端微型框架模块、管理模块和接口模块相连接,用于开发被保护的软件;
所述主机端微型框架模块分别与向导模块和集成开发模块相连,用于和软件保护装置内的系统函数库相匹配实现软件保护装置的功能以用于用户进行程序调试;
所述管理模块分别与接口模块和集成开发模块相连接,用于管理软件保护装置的设置和文件系统;
所述接口模块分别与运行模块和所述处理设备的集成开发模块相连接,用于所述处理设备和所述软件保护装置之间的通信;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810112977.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:洗衣机离合器用轻型单向轴承
- 下一篇:给关键词添加附加信息的方法和系统