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

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

1.一种软件保护方法,其特征在于,包括:

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

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

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

2.根据权利要求1所述的方法,其特征在于,所述调用x86/x64虚拟机的指令代码包括虚拟化代码参数、装箱代码、用于调用虚拟机方法的第一call代码和拆箱代码。

3.根据权利要求1所述的方法,其特征在于,所述生成相应的.NET数据结构之后还包括:

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

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

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

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

所述Marshal库用于将虚拟机入口地址作为参数生成调用虚拟机的方法,并将虚拟机方法保存到全局变量中。

4.根据权利要求1所述的方法,其特征在于,所述根据.NET代码,生成相应的.NET数据结构包括:

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

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

5.根据权利要求1所述的方法,其特征在于,所述步骤b具体包括:

根据分块标准,将所述待保护的方法代码分成若干子代码块;

将每个所述子代码块转换为虚拟化代码。

6.根据权利要求5所述的方法,其特征在于,所述分块标准包括:

跳转指令的目标地址作为块首,或者,Call指令的下一条指令作为块首。

7.根据权利要求5所述的方法,其特征在于,所述将每个所述子代码块转换为虚拟化代码包括:

将所述子代码块转换成IR指令;

将所述IR指令转换为虚拟化代码,其中,所述虚拟化代码被封装成数组并且保存在全局变量中。

8.根据权利要求1中所述的方法,其特征在于,步骤c之后还包括,重新编译所述.NET数据结构,利用编译后的.NET数据结构生成.NET元数据,作为所述.NET代码新的.NET元数据。

9.一种软件保护装置,其特征在于,包括:

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

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

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

10.根据权利要求9所述的装置,其特征在于,所述调用x86/x64虚拟机的指令代码包括虚拟化代码参数、装箱代码、用于调用虚拟机方法的第一call代码和拆箱代码。

11.根据权利要求9所述的装置,其特征在于,所述抽取单元,进一步用于在所述生成相应的.NET数据结构之后,将所述x86/x64虚拟机添加至所述.NET数据结构的全局数组中;将内存加载方法增加到所述.NET数据结构中,所述内存加载方法用于获取虚拟机入口地址并加载所述x86/x64虚拟机;如果所述.NET数据结构中不存在.cctor方法,则将.cctor方法添加至所述.NET数据结构中,其中,所述.cctor方法中包括第二call代码和Marshal库;所述call代码用于调用所述内存加载方法;所述Marshal库用于将虚拟机入口地址作为参数生成调用虚拟机的方法,并将虚拟机方法保存到全局变量中。

12.根据权利要求9所述的装置,其特征在于,所述抽取单元,用于获取所述.NET代码的.NET元数据;解析所述.NET元数据,根据所包含的方法函数体,生成相应的.NET数据结构。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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