应用程序的指令执行方法及装置制造方法及图纸

技术编号:16129297 阅读:94 留言:0更新日期:2017-09-01 21:05
本申请公开了一种应用程序的指令执行方法及装置。其中,该方法包括:接收用于执行应用程序的程序运行请求;响应于程序运行请求,调用预先设置的执行模板;利用执行模板获取预定数量的待执行指令,并执行待执行指令。本申请解决了现有技术中的应用程序逆向破解难度较低的技术问题。

Method and device for executing instruction of application program

The present application discloses an instruction execution method and device for an application program. Among them, the method includes: receiving a request for program execution of the application program; in response to the request, calling the preset execution template; template acquisition is performed using a predetermined number of instruction to be executed, and the execution of an instruction to be executed. The utility model solves the technical problem that the reverse cracking is difficult for the application in the prior art.

【技术实现步骤摘要】
应用程序的指令执行方法及装置
本申请涉及计算机领域,具体而言,涉及一种应用程序的指令执行方法及装置。
技术介绍
Android操作系统是一个开源系统,针对该操作系统存在完整的逆向工具集合,例如,开源的dex2jar工具可以将DEX文件(Android操作系统中可执行文件的格式)转换成标准的Java(一种可以撰写跨平台应用程序的面向对象的程序设计语言)字节码格式的文件,利用现有的Java反编译软件可以直接获取Android应用程序的源代码,由于Android应用程序的逆向破解难度较低,因此需要使用额外的方式来保护Android应用程序的可执行代码。基于Android应用程序的逆向破解难度较低,现有技术中保护Android应用程序的可执行代码的方式及各自缺陷主要包括:方式一、APK整体保护,即将APK(AndroidPackage,Android安装包)文件整体加密后保存,待用户使用时提示用户安装。但是,该种方式存在的缺陷为:若APK文件已安装,攻击者可以获取到完整的APK文件。方式二、DEX整体保护,即将APK文件中的DEX文件整体加密后保存,待用户使用时释放至文件系统或者内存中,并且使用虚拟机的加载机制进行加载。但是,该种方式存在的缺陷为:攻击者可以构造一个虚拟机,在文件系统或者内存中DEX文件的加载过程中保存该DEX文件,从而获取到该DEX文件。方式三、DEX函数保护,即从DEX文件中抽取函数的指令块(CodeItem)并加密保存,待用户使用时,恢复到DEX文件所在的内存区域,或者恢复到虚拟机的内部数据结构中。但是,该种方式存在的缺陷为:攻击者可以构造一个虚拟机,当DEX文件中的某个函数被执行时,记录这个函数的指令块,最终可依据DEX文件的格式要求重新拼装出完整的DEX文件,从而获取到该DEX文件。综上所述,由于攻击者的攻击方式较为繁杂,且上述方式均不能有效阻止现有的攻击行为。因此,现有技术中存在Android应用程序的逆向破解难度较低、文件安全性和攻击防范性较差的技术问题。针对上述的问题,目前尚未提出有效的解决方案。申请内容本申请实施例提供了一种应用程序的指令执行方法及装置,以至少解决现有技术中的应用程序逆向破解难度较低的技术问题。根据本申请实施例的一个方面,提供了一种应用程序的指令执行方法,包括:接收用于执行应用程序的程序运行请求;响应于所述程序运行请求,调用预先设置的执行模板;利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令。根据本申请实施例的另一方面,还提供了一种应用程序的指令执行装置,包括:接收单元,用于接收用于执行应用程序的程序运行请求;调用单元,用于响应于所述程序运行请求,调用预先设置的执行模板;处理单元,用于利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令。在本申请实施例中,采用接收用于执行应用程序的程序运行请求;响应于所述程序运行请求,调用预先设置的执行模板;利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令的方式,通过响应接收到的用于执行应用程序的程序运行请求,以及调用预先设置的执行模板,达到了利用执行模板获取并执行预定数量的待执行指令的目的,而现有技术中的方案在运行应用程序时,获取指令块中的全部指令再依次执行指令,采用现有技术中的方案可以同时获取一个指令块中的全部指令,通过本申请,攻击者在同一时刻最多只能获取一条指令,因此,采用本申请的方案可以实现提升Android应用程序的逆向破解难度、增强Android应用程序的文件安全性和攻击防范性的技术效果,进而解决了现有技术中的应用程序逆向破解难度较低的技术问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种应用程序的指令执行方法的计算机终端的硬件结构框图;图2是根据本申请实施例的一种可选的应用程序的指令执行方法的流程示意图;图3是根据本申请实施例的一种可选的应用程序的指令执行方法的结构示意图;图4是根据本申请实施例的另一种可选的应用程序的指令执行方法的流程示意图;图5是根据本申请实施例的另一种可选的应用程序的指令执行方法的结构示意图;图6是根据本申请实施例的又一种可选的应用程序的指令执行方法的结构示意图;图7是根据本申请实施例的又一种可选的应用程序的指令执行方法的结构示意图;图8是根据本申请实施例的一种可选的应用程序的指令执行装置的结构示意图;图9是根据本申请实施例的另一种可选的应用程序的指令执行装置的结构示意图;图10是根据本申请实施例的又一种可选的应用程序的指令执行装置的结构示意图;图11是根据本申请实施例的又一种可选的应用程序的指令执行装置的结构示意图;图12是根据本申请实施例的又一种可选的应用程序的指令执行装置的结构示意图;图13是根据本申请实施例的一种计算机终端的结构框图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本申请实施例,还提供了一种应用程序的指令执行方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种应用程序的指令执行方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的应用程序的指令执行方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本文档来自技高网
...
应用程序的指令执行方法及装置

【技术保护点】
一种应用程序的指令执行方法,其特征在于,包括:接收用于执行应用程序的程序运行请求;响应于所述程序运行请求,调用预先设置的执行模板;利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令。

【技术特征摘要】
1.一种应用程序的指令执行方法,其特征在于,包括:接收用于执行应用程序的程序运行请求;响应于所述程序运行请求,调用预先设置的执行模板;利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令。2.根据权利要求1所述的指令执行方法,其特征在于,所述利用所述执行模板获取预定数量的待执行指令,并执行所述待执行指令包括:通过执行所述执行模板中的第一指令,读取所述待执行指令,并使用所述待执行指令修改所述执行模板中第二指令的内容;在执行所述第一指令完成之后,执行修改后的第二指令,以执行所述待执行指令;在执行所述第二指令完成之后,返回执行所述第一指令。3.根据权利要求2所述的指令执行方法,其特征在于,所述第二指令为空指令,其中,所述使用所述待执行指令修改所述执行模板中第二指令的内容包括:将所述待执行指令写入所述第二指令所在的位置。4.根据权利要求2所述的指令执行方法,其特征在于,在执行所述执行模板中的第一指令的过程中,所述指令执行方法还包括:将指令指针移动至所述待执行指令的下一条指令,其中,所述指令指针用于指向所述应用程序的可执行文件中的指令。5.根据权利要求2所述的指令执行方法,其特征在于,在返回执行所述第一指令之前,所述指令执行方法还包括:恢复所述执行模板的初始状态。6.根据权利要求2至5中任意一项所述的指令执行方法,其特征在于,所述第一指令为函数调用指令,所述预定数量的待执行指令为一条或多条指...

【专利技术属性】
技术研发人员:泮晓波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1