[发明专利]应用程序保护方法、电子设备和存储介质在审
申请号: | 202010820860.5 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112114933A | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 蒲志明;兰丽;夏冰;高迪;于大鹏 | 申请(专利权)人: | 咪咕文化科技有限公司;中国移动通信集团有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 苗晓静 |
地址: | 100032*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 保护 方法 电子设备 存储 介质 | ||
1.一种应用程序保护方法,其特征在于,包括:
确定源文件,根据所述源文件生成对应的中间语言文件,所述中间语言文件由中间语言指令构成;
采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令;
对所述虚拟机指令进行编码得到对应的虚拟机字节码,根据所述虚拟机字节码创建应用程序。
2.根据权利要求1所述的应用程序保护方法,其特征在于,所述采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令,包括:
采用基于寄存器的虚拟机,从所述中间语言文件中确定目标中间语言指令,对所述目标中间语言指令进行语义分析,确定所述目标中间语言指令对应的各指令类型,和处于各指令类型下的变量;
根据各指令类型和预存的指令类型与操作码的映射关系表,确定各指令类型对应的操作码,所述操作码为虚拟机指令中的指令类型;
根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,所述寄存器列表包含寄存器编号。
3.根据权利要求2所述的应用程序保护方法,其特征在于,所述根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,包括:
根据各指令类型下的变量的生命周期和预存的寄存器列表采用预存的寄存器分配策略,确定各变量分配的寄存器编号和栈地址;
根据各指令类型对应的操作码和各变量分配的寄存器编号和栈地址,确定所述目标中间语言指令对应的虚拟机指令。
4.根据权利要求3所述的应用程序保护方法,其特征在于,所述寄存器分配策略包括:
确定已分配寄存器编号的变量的生命周期结束后,将所述变量的已分配寄存器编号作为当前变量分配的寄存器编号;
确定已分配寄存器编号的变量的生命周期均未结束,且寄存器列表中不存在未分配的寄存器编号,使当前变量置于函数栈中,并为当前变量配置栈地址;
确定已分配寄存器编号的变量的生命周期均未结束,且寄存器列表中存在未分配的寄存器编号,为当前变量分配一个未分配的寄存器编号。
5.根据权利要求3所述的应用程序保护方法,其特征在于,还包括:
当所述指令类型包括调用类型,且受调用的变量在下一个指令中继续使用,根据调用类型和预存的指令类型与操作码的映射关系表,确定上下文保存操作码和上下文恢复操作码,根据上下文保存操作码、上下文恢复操作码和所述受调用的变量对应的寄存器编号,生成对应于调用类型的虚拟机指令。
6.根据权利要求1所述的应用程序保护方法,其特征在于,所述根据所述源文件生成对应的中间语言文件,包括:
根据预存的虚拟命令行参数对源文件进行编辑处理,生成对应的中间语言文件。
7.根据权利要求6所述的应用程序保护方法,其特征在于,还包括:
根据预存的中间语言语义规则对所述中间语言文件进行合法性校验及转化,得到合法的中间语言文件。
8.根据权利要求1所述的应用程序保护方法,其特征在于,所述根据所述虚拟机字节码创建应用程序,包括:
获取未编码的剩余源文件和实现物理CPU和虚拟CPU之间切换的中间体;
将得到的虚拟机字节码、未编码的剩余源文件和中间体构建成新源文件;
将新源文件与虚拟机解释引擎文件构建应用程序。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的应用程序保护方法的步骤。
10.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的应用程序保护方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于咪咕文化科技有限公司;中国移动通信集团有限公司,未经咪咕文化科技有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010820860.5/1.html,转载请声明来源钻瓜专利网。