[发明专利]应用程序保护方法、电子设备和存储介质在审
申请号: | 202010820860.5 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112114933A | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 蒲志明;兰丽;夏冰;高迪;于大鹏 | 申请(专利权)人: | 咪咕文化科技有限公司;中国移动通信集团有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 苗晓静 |
地址: | 100032*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 保护 方法 电子设备 存储 介质 | ||
本发明实施例提供了一种应用程序保护方法、电子设备及存储介质,该方法包括:确定源文件,根据源文件生成对应的中间语言文件;采用基于寄存器的虚拟机,将中间语言文件转化为虚拟机指令;对虚拟机指令进行编码得到对应的虚拟机字节码,根据虚拟机字节码创建应用程序。本发明的实施例提供了一种应用程序保护方法、电子设备及存储介质,基于寄存器编号的形式对源文件进行指令转化,转化得到虚拟机指令,并对虚拟机指令进行编码得到对应的虚拟机字节码,根据虚拟机字节码创建应用程序,从而在运行应用程序执行指令时,可从寄存器编号中明确源文件中对应的变量获取位置,直接使用寄存器中保存的变量值,实现更高的执行效率和更高的内存利用率。
技术领域
本发明涉及机器学习和视频分析技术领域,尤其是涉及一种应用程序保护方法、电子设备和存储介质。
背景技术
随着移动互联网的快速发展,人们生活的方方面面都离不开移动APP,在利益的驱使下,移动APP的安全面临的形势越来越严峻,攻防两方不断地进行对抗,防守方的技术在对抗中也不断演进。当前主流的保护手段有加壳、运行时保护、混淆、虚拟机保护等。其中基于虚拟机的源文件保护成为了一种有效的加固手段。
目前通常采用基于栈的虚拟机对源文件进行保护,其过程中首先将应用程序的核心源代码进行虚拟化编译,从而生成等价的字节码,该字节码后续由基于栈的特定虚拟机解释引擎来解释执行。然而,由于基于栈的特定虚拟机解释引擎在解释执行字节码的过程中,需要借助栈来进行指令计算,因此伴随有大量的入栈和出栈操作,大大影响了指令的计算效率,使得虚拟化后的程序运行时间明显延长。
发明内容
针对现有技术存在的问题,本发明实施例提供一种应用程序保护方法、电子设备及存储介质。
第一方面,本发明实施例提供一种应用程序保护方法,包括:
确定源文件,根据所述源文件生成对应的中间语言文件,所述中间语言文件由中间语言指令构成;
采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令;
对所述虚拟机指令进行编码得到对应的虚拟机字节码,根据所述虚拟机字节码创建应用程序。
进一步地,所述采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令,包括:
采用基于寄存器的虚拟机,从所述中间语言文件中确定目标中间语言指令,对所述目标中间语言指令进行语义分析,确定所述目标中间语言指令对应的各指令类型,和处于各指令类型下的变量;
根据各指令类型和预存的指令类型与操作码的映射关系表,确定各指令类型对应的操作码,所述操作码为虚拟机指令中的指令类型;
根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,所述寄存器列表包含寄存器编号。
进一步地,所述根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,包括:
根据各指令类型下的变量的生命周期和预存的寄存器列表,采用预存的寄存器分配策略确定各变量分配的寄存器编号和栈地址;
根据各指令类型对应的操作码和各变量分配的寄存器编号和栈地址,确定所述目标中间语言指令对应的虚拟机指令。
进一步地,所述寄存器分配策略包括:
确定已分配寄存器编号的变量的生命周期结束后,使所述变量的已分配寄存器编号作为当前变量分配的寄存器编号;
确定已分配寄存器编号的变量的生命周期均未结束,且寄存器列表中不存在未分配的寄存器编号,使当前变量置于函数栈中,并未当前变量配置栈地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于咪咕文化科技有限公司;中国移动通信集团有限公司,未经咪咕文化科技有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010820860.5/2.html,转载请声明来源钻瓜专利网。