[发明专利]软件保护方法和装置在审

专利信息
申请号: 201710473369.8 申请日: 2017-06-21
公开(公告)号: CN107292131A 公开(公告)日: 2017-10-24
发明(设计)人: 孙吉平;周建辉 申请(专利权)人: 北京深思数盾科技股份有限公司
主分类号: G06F21/12 分类号: G06F21/12;G06F21/14
代理公司: 北京德琦知识产权代理有限公司11018 代理人: 孙清然,王琦
地址: 100193 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 软件 保护 方法 装置
【说明书】:

技术领域

发明涉及计算机应用技术,特别是涉及一种软件保护方法和装置。

背景技术

.NET代码即IL代码,由.NET运行时进行解释执行,由.NET编译器将源代码编译为IL代码。通过现有工具可自动反编译IL代码并还原为源代码形式。基于上述原因,破解者通常能够还原软件的核心算法,或通过修改代码等达到破解软件的目的。

目前,对.NET软件进行保护的方法有以下几种:

第一种是通过对.NET符号名称进行混淆,到达反编译后难以阅读的目的。由于这种方法不能对代码逻辑进行处理,因此,可以通过对算法的分析来破解软件。

第二种是对代码逻辑进行混淆。由于目前混淆的程度还比较低,算法逻辑依然可以阅读,无法抵御破解者攻击。

第三种是对.NET软件进行压缩、加密,软件执行前将其解压、解密再执行.NET代码。在这种保护方式下,可以通过转存得到原始.NET代码。

由此可见,上述现有的.NET软件保护方法,无法有效确保软件的安全性。

发明内容

有鉴于此,本发明的主要目的在于提供一种软件保护方法和装置,可以提高软件的安全性。

为了达到上述目的,本发明提出的技术方案为:

一种软件保护方法,包括:

a、根据.NET代码,生成相应的.NET数据结构,从所述.NET数据结构中抽取待保护方法代码;

b、将所述待保护的方法代码转换为虚拟化代码;

c、在抽取所述待保护方法代码的位置处添加用于调用x86/x64虚拟机的指令代码,所述x86/x64虚拟机用于执行所述虚拟化代码。

一种软件保护装置,包括:

抽取单元,用于根据.NET代码,生成相应的.NET数据结构,从所述.NET数据结构中抽取待保护方法代码;

转换单元,用于将所述待保护的方法代码转换为虚拟化代码;

替换单元,用于在抽取所述待保护方法代码的位置处添加用于调用x86/x64虚拟机的指令代码,所述x86/x64虚拟机用于执行所述虚拟化代码。

综上所述,本发明提出的软件保护方法和装置,通过对.NET代码中需要保护方法的代码进行处理,将需要保护方法的.NET代码转换为虚拟化代码,然后将需要保护方法的.NET代码替换为调用x86/x64虚拟机的指令代码。这样,经过上述处理的.NET代码运行后,当执行到要保护方法时,就会在x86/x64虚拟机中执行相应的虚拟化代码,在此期间被保护的方法代码将无法被反编译和调试,因此可以提高.NET程序的安全性,防止恶意篡改,对软件版权起到了保护作用。

附图说明

图1为本发明实施例的方法流程示意图;

图2为经过本发明实施例处理后的软件程序运行过程示意图;

图3为本发明实施例的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

本发明的核心思想是:将x86/x64本地代码的虚拟机保护技术移植到.NET保护,即通过将.NET代码转换为x86/x64虚拟机能够执行的代码,且.NET运行时调用x86/x64虚拟机执行算法逻辑,以达到无法有效还原.NET代码的目的,从而可以提高软件的安全性。

图1为本发明实施例的方法流程示意图,如图1所示,该实施例实现的软件保护方法主要包括:

步骤101、根据.NET代码,生成相应的.NET数据结构,从所述.NET数据结构中抽取待保护方法代码。

较佳地,所述根据所述.NET代码,生成相应的.NET数据结构包括:

获取所述.NET代码的.NET元数据;

解析所述.NET元数据,根据所包含的方法函数体,生成相应的.NET数据结构。

较佳地,所述生成相应的.NET数据结构之后还包括:

将所述x86/x64虚拟机添加至所述.NET数据结构的全局数组中;

将内存加载方法增加到所述.NET数据结构中,所述内存加载方法用于获取虚拟机入口地址并加载所述x86/x64虚拟机;

如果所述.NET数据结构中不存在.cctor方法,则将.cctor方法添加至所述.NET数据结构中,其中,所述.cctor方法中包括第二call代码和Marshal库;

所述第二call代码用于调用所述内存加载方法;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710473369.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top