应用程序保护方法、电子设备和存储介质技术

技术编号:26790419 阅读:22 留言:0更新日期:2020-12-22 17:05
本发明专利技术实施例提供了一种应用程序保护方法、电子设备及存储介质,该方法包括:确定源文件,根据源文件生成对应的中间语言文件;采用基于寄存器的虚拟机,将中间语言文件转化为虚拟机指令;对虚拟机指令进行编码得到对应的虚拟机字节码,根据虚拟机字节码创建应用程序。本发明专利技术的实施例提供了一种应用程序保护方法、电子设备及存储介质,基于寄存器编号的形式对源文件进行指令转化,转化得到虚拟机指令,并对虚拟机指令进行编码得到对应的虚拟机字节码,根据虚拟机字节码创建应用程序,从而在运行应用程序执行指令时,可从寄存器编号中明确源文件中对应的变量获取位置,直接使用寄存器中保存的变量值,实现更高的执行效率和更高的内存利用率。

【技术实现步骤摘要】
应用程序保护方法、电子设备和存储介质
本专利技术涉及机器学习和视频分析
,尤其是涉及一种应用程序保护方法、电子设备和存储介质。
技术介绍
随着移动互联网的快速发展,人们生活的方方面面都离不开移动APP,在利益的驱使下,移动APP的安全面临的形势越来越严峻,攻防两方不断地进行对抗,防守方的技术在对抗中也不断演进。当前主流的保护手段有加壳、运行时保护、混淆、虚拟机保护等。其中基于虚拟机的源文件保护成为了一种有效的加固手段。目前通常采用基于栈的虚拟机对源文件进行保护,其过程中首先将应用程序的核心源代码进行虚拟化编译,从而生成等价的字节码,该字节码后续由基于栈的特定虚拟机解释引擎来解释执行。然而,由于基于栈的特定虚拟机解释引擎在解释执行字节码的过程中,需要借助栈来进行指令计算,因此伴随有大量的入栈和出栈操作,大大影响了指令的计算效率,使得虚拟化后的程序运行时间明显延长。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种应用程序保护方法、电子设备及存储介质。第一方面,本专利技术实施例提供一种应用程序本文档来自技高网...

【技术保护点】
1.一种应用程序保护方法,其特征在于,包括:/n确定源文件,根据所述源文件生成对应的中间语言文件,所述中间语言文件由中间语言指令构成;/n采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令;/n对所述虚拟机指令进行编码得到对应的虚拟机字节码,根据所述虚拟机字节码创建应用程序。/n

【技术特征摘要】
1.一种应用程序保护方法,其特征在于,包括:
确定源文件,根据所述源文件生成对应的中间语言文件,所述中间语言文件由中间语言指令构成;
采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令;
对所述虚拟机指令进行编码得到对应的虚拟机字节码,根据所述虚拟机字节码创建应用程序。


2.根据权利要求1所述的应用程序保护方法,其特征在于,所述采用基于寄存器的虚拟机,将所述中间语言文件中的中间语言指令转化为虚拟机指令,包括:
采用基于寄存器的虚拟机,从所述中间语言文件中确定目标中间语言指令,对所述目标中间语言指令进行语义分析,确定所述目标中间语言指令对应的各指令类型,和处于各指令类型下的变量;
根据各指令类型和预存的指令类型与操作码的映射关系表,确定各指令类型对应的操作码,所述操作码为虚拟机指令中的指令类型;
根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,所述寄存器列表包含寄存器编号。


3.根据权利要求2所述的应用程序保护方法,其特征在于,所述根据各指令类型对应的操作码、各指令类型下的变量的生命周期和预存的寄存器列表,确定所述目标中间语言指令对应的虚拟机指令,包括:
根据各指令类型下的变量的生命周期和预存的寄存器列表采用预存的寄存器分配策略,确定各变量分配的寄存器编号和栈地址;
根据各指令类型对应的操作码和各变量分配的寄存器编号和栈地址,确定所述目标中间语言指令对应的虚拟机指令。


4.根据权利要求3所述的应用程序保护方法,其特征在于,所述寄存器分配策略包括:
确定已分配寄存器编号的变量的生命周期结束后,将所述变量的已分配寄存器编号作为当前变量分配的寄存器编号;
确定已分配寄存器编号的变量的生命周期均未结束,且寄存器...

【专利技术属性】
技术研发人员:蒲志明兰丽夏冰高迪于大鹏
申请(专利权)人:咪咕文化科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1