[发明专利]一种程序保护方法和装置有效
申请号: | 201611089509.3 | 申请日: | 2016-11-30 |
公开(公告)号: | CN108121898B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 王哲 | 申请(专利权)人: | 西门子公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵冬梅 |
地址: | 德国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 保护 方法 装置 | ||
涉及软件工程技术领域,尤其涉及一种程序保护方法和装置,用以防止程序被破解。在本发明实施例提供的一种程序保护方法中,一个目标程序运行在第一虚拟机上,该第一虚拟机的操作系统启动过程中,运行第一解密程序,所述第一解密程序用于对所述目标程序所在的所述第一虚拟机的第一分区进行解密,在解密所述第一分区后,运行所述目标程序。通过对目标程序所在的分区进行加密,使得非法人员在无法对分区解密的情况下,无法直接接触到目标程序,则无法破解目标程序。即使该虚拟机被非法进行硬盘映射,只要无法通过解密程序进行解密,非法人员就无法得到虚拟机内的目标程序,极大地降低了目标程序被破解的风险。
技术领域
本发明涉及软件工程技术领域,尤其涉及一种程序保护方法和装置。
背景技术
一个程序开发组织在完成程序开发,交付程序之后,程序由于运行在该程序开发组织的外部网络上,存在被破解的风险。
一种可能的情况是,一个程序被非法复制,非法复制者在接触到程序本身后,利用逆向工程(reverse engineering)等技术破解出程序代码。一旦程序代码被破解,则程序中的核心技术会被窃取,程序开发组织将蒙受巨大的损失。
发明内容
有鉴于此,本发明提供一种程序保护方法和装置,用以防止程序被破解。其中,通过采用分区加密等手段,避免程序本身被非法人员接触到,从而降低了程序被破解的风险。
第一方面,本发明实施例提供一种程序保护方法,用于防止一个目标程序被破解。其中,该目标程序运行在第一虚拟机上,具体的保护方法包括:在所述第一虚拟机的操作系统启动过程中,运行第一解密程序,比如:将第一解密程序放在虚拟机的操作系统的启动项中,或者作为操作系统代码的一部分写入操作系统中。其中,所述第一解密程序用于对所述第一虚拟机的第一分区进行解密,所述第一分区中包括所述目标程序;在解密所述第一分区后,运行所述目标程序。若无法解密第一分区,则目标程序无法运行。
通过对目标程序所在的分区进行加密,使得非法人员在无法对分区解密的情况下,无法直接接触到目标程序,则无法破解目标程序。其中,将目标程序置于一个虚拟机上,即使该虚拟机被非法进行硬盘映射,只要无法通过解密程序的解密,非法人员就无法得到虚拟机内的目标程序,极大地降低了目标程序被获取甚至破解的风险。
在一种可能的实现方式中,可以将第一解密程序设计为:在第一解密程序运行时,判断所述第一虚拟机的至少一个属性中每一个属性的取值与第二虚拟机该属性的取值是否相同,其中,所述第二虚拟机是预设的用于运行所述目标程序的虚拟机;若所述第一虚拟机的所述至少一个属性中的每一个属性的取值与所述第二虚拟机该属性的取值相同,则解密所述第一分区;若所述第一虚拟机中的所述至少一个属性中存在一个属性,该属性的取值与所述第二虚拟机该属性的取值不同,则保持所述第一分区被加密。
若第一虚拟机为合法被授权的虚拟机,即第一虚拟机即为第二虚拟机,那么在第一解密程序对虚拟机属性取值进行验证时,则可以验证通过,第一分区可以被解密。只有一个虚拟机自身才能获得自己的属性取值。因此,通过虚拟机属性取值的验证方法,可以确保虚拟机的合法性,即使虚拟机被非法进行硬盘映射,由于虚拟机属性取值无法通过验证,非法人员也无法解密,无法直接接触到目标程序,进而也就无法通过逆向工程等方法破解程序代码。
在一种可能的实现方式中,上述虚拟机的属性可包括:虚拟机的操作系统的用户名和密码。
进一步地,上述虚拟机的属性还可包括:虚拟机的处理器标识、硬盘标识、驱动标识以及用户自定义的标识(比如一个用户文件中的特定字节)等。
在一种可能的实现方式中,所述目标程序由Java编写或由一种解释型语言编写,所述解密程序由一种编译型语言编写。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子公司,未经西门子公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611089509.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基因组变异检测方法及检测装置
- 下一篇:一种应用程序防重打包方法和系统