CN112052047A - 一种指令处理方法、终端及存储介质 - Google Patents
一种指令处理方法、终端及存储介质 Download PDFInfo
- Publication number
- CN112052047A CN112052047A CN202010776470.2A CN202010776470A CN112052047A CN 112052047 A CN112052047 A CN 112052047A CN 202010776470 A CN202010776470 A CN 202010776470A CN 112052047 A CN112052047 A CN 112052047A
- Authority
- CN
- China
- Prior art keywords
- apk
- instruction
- dex
- local machine
- processing method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000009434 installation Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种指令处理方法、终端及存储介质,所述方法包括:在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。本发明在APK运行之前对DEX文件中的DEX字节码进行翻译,得到对应的本地机器指令,以便在APK运行时直接执行本地机器指令,增强了代码的安全性,减少了APK的安装时间。
Description
技术领域
本发明涉及代码处理技术领域,尤其涉及一种指令处理方法、终端及存储介质。
背景技术
Android与IOS相比,一直被人诟病它的流畅性。谷歌为了解决Android的流畅性问题,在Android 5.0版本开始使用ART(ART是一种执行效率更高且更省电的运行机制)运行时完全替换掉Dalvik(用于Android上运行java的“java虚拟机”)运行时。
ART之所以会比Dalvik快,是因为ART执行的是本地机器指令,而Dalvik执行的是DEX字节码,通过解释器执行。尽管Dalvik也会对频繁执行的代码进行JIT(Just-In-Time,实时编译)生成本地机器指令来执行,但毕竟在应用程序运行的过程中将DEX字节码翻译成本地机器机器指令也会影响到应用程序本身的执行,因此即使Dalvik使用了JIT,也在一定程度上也比不上直接就可以执行本地机器指令的运行时。ART优化了Android流畅性的性能问题,同时也产生了一个新的问题:ART执行DEX字节码到本地机器码的翻译过程是在APK安装的时候执行的,因为翻译过程是一个非常耗时的操作,因此APK安装时间会变长。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种指令处理方法、终端及存储介质,旨在解决现有技术中APK安装时间会变长的问题。
为实现上述目的,本发明提供一种指令处理方法,所述指令处理方法包括如下步骤:
在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;
将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。
可选地,所述的指令处理方法,其中,所述将所述DEX字节码进行翻译处理,得到对应的本地机器指令,具体包括:
将所述DEX字节码拆分为基本块,生成抽象语法树和中间码,通过编译器后端解析所述中间码以生成所述本地机器指令。
可选地,所述的指令处理方法,其中,所述通过编译器后端解析所述中间码以生成所述本地机器指令,之前还包括:
提示是否将所述中间码进行混淆或者虚拟化处理,当是时,将所述中间码进行混淆或者虚拟化处理,得到混淆或者虚拟化处理后的中间码。
可选地,所述的指令处理方法,其中,所述通过编译器后端解析所述中间码以生成所述本地机器指令,之后还包括:
生成预设格式的动态链接库,将包含所述本地机器指令的所述动态链接库添加到所述APK中,签名发布所述APK,在所述APK运行时通过DEX文件加载以执行所述动态链接库。
可选地,所述的指令处理方法,其中,所述在所述APK运行时通过DEX文件加载以执行所述动态链接库,具体包括:
预先在所述DEX文件中添加一条加载指令,在所述APK运行时,通过所述DEX文件中的所述加载指令加载并执行所述动态链接库。
可选地,所述的指令处理方法,其中,所述中间码用于被混淆工具和虚拟化保护工具识别。
可选地,所述的指令处理方法,其中,所述得到对应的本地机器指令,之后还包括:
将所述本地机器指令存储到ELF格式的动态链接库中。
可选地,所述的指令处理方法,其中,所述动态链接库为ELF格式的动态链接库。
此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的指令处理程序,所述指令处理程序被所述处理器执行时实现如上所述的指令处理方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,其中,所述存储介质存储有指令处理程序,所述指令处理程序被处理器执行时实现如上所述的指令处理方法的步骤。
本发明在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。本发明在APK运行之前对DEX文件中的DEX字节码进行翻译,得到对应的本地机器指令,以便在APK运行时直接执行本地机器指令,增强了代码的安全性,减少了APK的安装时间。
附图说明
图1是现有技术中在APK安装时ART的AOT方案的执行流程的示意图;
图2是本发明指令处理方法的较佳实施例的流程图;
图3是本发明指令处理方法的较佳实施例中在发布APK之前的AOT方案的执行流程示意图;
图4为本发明终端的较佳实施例的运行环境示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
首先,如图1所示,表示在APK安装时的ART的AOT的执行方案,其中,APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件,一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK,一个APK文件内包含被编译的代码文件(.dex文件),文件资源(resources),原生资源文件(assets),证书(certificates)和清单文件(manifest file)。
其中,AOT(Ahead-Of-Time)表示预先编译,图1中,在APK安装时正是AOT执行时机,开始后,提取classes.dex~classesN.dex,相当于获取APK中的DEX文件,然后提取每个函数的DEX字节码(DexCode),再将DEX字节码翻译成本地机器指令(即代码性能优化的过程),生成ELF(Executable and Linkable Format,可执行与可链接格式,在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件)格式的OAT(Android私有的一种ELF文件)文件,将本地机器指令存储到OAT文件中,在APK运行时执行OAT文件,这种处理方式会导致APK的安装时间很长,用户需要长时间等待。
本发明较佳实施例所述的指令处理方法,如图2和图3所示,所述指令处理方法包括以下步骤:
步骤S10、在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码。
具体地,APK作为Android应用的可执行文件,属于zip格式的压缩文件,里面包含DEX件,DEX文件有固定的文件格式,可以按固定格式解析定位到DEX字节码。
步骤S20、将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。
具体地,在获取到所述DEX字节码之后,需要对所述DEX字节码进行翻译处理,具体是将所述DEX字节码拆分为基本块,生成抽象语法树(AST,abstract syntax code,是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,这所以说是抽象的,是因为抽象语法树并不会表示出真实语法出现的每一个细节,比如说,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;抽象语法树并不依赖于源语言的语法,也就是说语法分析阶段所采用的上下文无文文法,因为在写文法时,经常会对文法进行等价的转换例如,消除左递归,回溯,二义性等,这样会给文法分析引入一些多余的成分,对后续阶段造成不利影响,甚至会使合个阶段变得混乱,因此,很多编译器经常要独立地构造语法分析树,为前端,后端建立一个清晰的接口,抽象语法树在很多领域有广泛的应用,比如浏览器,智能编辑器,编译器)和中间码,通过编译器后端解析所述中间码以生成所述本地机器指令。
需要说明的是,Android系统自带AOT翻译过程为:对所述DEX字节码拆分基本块,生成AST(抽象语法树),再通过编译器后端解析AST树生成本地机器指令;而本发明中的AOT翻译过程为:将所述DEX字节码拆分基本块,生成AST(抽象语法树)以及生成中间码IR(可被混淆工具和虚拟化保护工具认识的中间码),最后通过编译器后端解析中间码生成本地机器指令。
可见,Android系统自带AOT没有生成中间码或者没有生成可被混淆工具和虚拟化保护工具认识的中间码,而本发明的AOT方案让添加安全性成为了可能(具体有没有增加安全性要看是否增加混淆和虚拟化的操作)。
如图3所示,表示在APK发布之前ART的AOT的执行方案,开始后,提取classes.dex~classesN.dex,相当于获取APK中的DEX文件,然后提取每个函数的DEX字节码(DexCode),然后生成中间码(所述中间码用于被混淆工具和虚拟化保护工具识别),提示用户是否开启混淆或者虚拟化处理,当为是时,进入增强代码安全性的处理过程,即将所述中间码进行混淆或者虚拟化处理,得到混淆或者虚拟化处理后的中间码,并进入代码性能优化过程;当为否时,直接进入代码性能优化过程,将所述DEX字节码翻译为对应的本地机器指令(将所述本地机器指令存储到ELF格式的动态链接库中,ART运行时在程序运行的时候通过解析OAT文件格式可以定位到对应的本地机器指令并执行,OAT文件是一种特殊的ELF格式文件),同时删除所述DEX文件中对应的DEX字节码,生成ELF格式(即预设格式优选为ELF格式)的动态链接库(即所述动态链接库为ELF格式的动态链接库,ELF格式的动态链接库文件会被存储到APK中作为应用程序的一部分一起发布),然后将包含所述本地机器指令的所述动态链接库添加到所述APK中,签名发布所述APK,在所述APK运行时通过DEX文件加载以执行所述动态链接库。
也就是说,Android系统自带的AOT方案是把生成的本地机器指令存储在OAT文件中;而本发明的AOT方案是把生成的本地机器指令存储在ELF格式的动态链接库中。
其中,在所述APK运行时通过DEX文件加载以执行所述动态链接库时,具体为:预先在所述DEX文件中添加一条加载指令,在所述APK运行时,通过所述DEX文件中的所述加载指令加载并执行所述动态链接库。
可见,本发明的AOT方案的执行时机是在APK发布之前,这就巧妙的解决了ART方案中APK安装时间长的问题。
本发明的AOT方案是将DEX字节码翻译成本地机器指令,提高了代码的性能,本地机器指令相对来说会比DEX字节码更难以逆向分析,因此安全性有所提升。
另外,本发明的AOT方案可以在生成的中间码(中间码的特征是可被混淆工具和虚拟化保护工具认识的,因此可以给代码添加混淆或者虚拟化保护的功能),如果对中间码进行混淆或者虚拟化保护(混淆或者虚拟化处理可以通过相关算法完成,例如控制流平坦、间接化、字符串混淆、虚假控制流等),可以进一步提升了代码的安全。
本发明主要实现了一种Android系统平台上的AOT,AOT是相对JIT而言的,也就是在APK运行之前,就对其包含的DEX字节码进行翻译,得到对应的本地机器指令,于是就可以在运行时直接执行了,AOT的执行是在APK发布之前完成不是在APK安装的时候执行(不增加APK安装的时间),AOT执行过程中增强了代码的保护提高了安全性。
本发明增大了代码的安全性、提高了用户的体验,减少了APK安装时间,为Android应用的代码安全和性能提供一种有效的方法。
进一步地,如图4所示,基于上述指令处理方法,本发明还相应提供了一种终端,所述终端包括处理器10、存储器20及显示器30。图4仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有指令处理程序40,该指令处理程序40可被处理器10所执行,从而实现本申请中指令处理方法。
所述处理器10在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述指令处理方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端的信息以及用于显示可视化的用户界面。所述终端的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中指令处理程序40时实现以下步骤:
在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;
将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。
所述将所述DEX字节码进行翻译处理,得到对应的本地机器指令,具体包括:
将所述DEX字节码拆分为基本块,生成抽象语法树和中间码,通过编译器后端解析所述中间码以生成所述本地机器指令。
所述通过编译器后端解析所述中间码以生成所述本地机器指令,之前还包括:
提示是否将所述中间码进行混淆或者虚拟化处理,当是时,将所述中间码进行混淆或者虚拟化处理,得到混淆或者虚拟化处理后的中间码。
所述通过编译器后端解析所述中间码以生成所述本地机器指令,之后还包括:
生成预设格式的动态链接库,将包含所述本地机器指令的所述动态链接库添加到所述APK中,签名发布所述APK,在所述APK运行时通过DEX文件加载以执行所述动态链接库。
所述在所述APK运行时通过DEX文件加载以执行所述动态链接库,具体包括:
预先在所述DEX文件中添加一条加载指令,在所述APK运行时,通过所述DEX文件中的所述加载指令加载并执行所述动态链接库。
其中,所述中间码用于被混淆工具和虚拟化保护工具识别。
其中,所述得到对应的本地机器指令,之后还包括:
将所述本地机器指令存储到ELF格式的动态链接库中。
其中,所述动态链接库为ELF格式的动态链接库。
本发明还提供一种存储介质,其中,所述存储介质存储有指令处理程序,所述指令处理程序被处理器执行时实现如上所述的指令处理方法的步骤。
综上所述,本发明提供一种指令处理方法、终端及存储介质,所述方法包括:在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。本发明在APK运行之前对DEX文件中的DEX字节码进行翻译,得到对应的本地机器指令,以便在APK运行时直接执行本地机器指令,增强了代码的安全性,减少了APK的安装时间。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种指令处理方法,其特征在于,所述指令处理方法包括:
在APK运行前,获取所述APK中的DEX文件,按固定格式解析所述DEX文件定位得到DEX字节码;
将所述DEX字节码进行翻译处理,得到对应的本地机器指令,在所述APK运行时直接执行所述本地机器指令。
2.根据权利要求1所述的指令处理方法,其特征在于,所述将所述DEX字节码进行翻译处理,得到对应的本地机器指令,具体包括:
将所述DEX字节码拆分为基本块,生成抽象语法树和中间码,通过编译器后端解析所述中间码以生成所述本地机器指令。
3.根据权利要求2所述的指令处理方法,其特征在于,所述通过编译器后端解析所述中间码以生成所述本地机器指令,之前还包括:
提示是否将所述中间码进行混淆或者虚拟化处理,当是时,将所述中间码进行混淆或者虚拟化处理,得到混淆或者虚拟化处理后的中间码。
4.根据权利要求3所述的指令处理方法,其特征在于,所述通过编译器后端解析所述中间码以生成所述本地机器指令,之后还包括:
生成预设格式的动态链接库,将包含所述本地机器指令的所述动态链接库添加到所述APK中,签名发布所述APK,在所述APK运行时通过DEX文件加载以执行所述动态链接库。
5.根据权利要求4所述的指令处理方法,其特征在于,所述在所述APK运行时通过DEX文件加载以执行所述动态链接库,具体包括:
预先在所述DEX文件中添加一条加载指令,在所述APK运行时,通过所述DEX文件中的所述加载指令加载并执行所述动态链接库。
6.根据权利要求3所述的指令处理方法,其特征在于,所述中间码用于被混淆工具和虚拟化保护工具识别。
7.根据权利要求1所述的指令处理方法,其特征在于,所述得到对应的本地机器指令,之后还包括:
将所述本地机器指令存储到ELF格式的动态链接库中。
8.根据权利要求4所述的指令处理方法,其特征在于,所述动态链接库为ELF格式的动态链接库。
9.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的指令处理程序,所述指令处理程序被所述处理器执行时实现如权利要求1-8任一项所述的指令处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有指令处理程序,所述指令处理程序被处理器执行时实现如权利要求1-8任一项所述的指令处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010776470.2A CN112052047A (zh) | 2020-08-05 | 2020-08-05 | 一种指令处理方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010776470.2A CN112052047A (zh) | 2020-08-05 | 2020-08-05 | 一种指令处理方法、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052047A true CN112052047A (zh) | 2020-12-08 |
Family
ID=73601230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010776470.2A Pending CN112052047A (zh) | 2020-08-05 | 2020-08-05 | 一种指令处理方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052047A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799687A (zh) * | 2021-01-18 | 2021-05-14 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、存储介质及计算机设备 |
CN114296741A (zh) * | 2021-12-29 | 2022-04-08 | 无锡沐创集成电路设计有限公司 | 命令行执行方法、系统、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228041A (zh) * | 2016-07-21 | 2016-12-14 | 北京理工大学 | 一种针对Android预编译的代码保护方法 |
CN107003917A (zh) * | 2014-11-28 | 2017-08-01 | 汤姆逊许可公司 | 用于提供验证应用完整性的方法和设备 |
CN108733379A (zh) * | 2018-05-28 | 2018-11-02 | 常熟理工学院 | 基于dex字节码抽离映射混淆的安卓应用加固方法 |
CN111061484A (zh) * | 2019-11-28 | 2020-04-24 | Oppo广东移动通信有限公司 | 代码编译方法、装置、服务器、用户终端及可读介质 |
CN111274551A (zh) * | 2019-12-30 | 2020-06-12 | 上海上讯信息技术股份有限公司 | 基于编译器的java代码保护方法、装置及电子设备 |
-
2020
- 2020-08-05 CN CN202010776470.2A patent/CN112052047A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003917A (zh) * | 2014-11-28 | 2017-08-01 | 汤姆逊许可公司 | 用于提供验证应用完整性的方法和设备 |
CN106228041A (zh) * | 2016-07-21 | 2016-12-14 | 北京理工大学 | 一种针对Android预编译的代码保护方法 |
CN108733379A (zh) * | 2018-05-28 | 2018-11-02 | 常熟理工学院 | 基于dex字节码抽离映射混淆的安卓应用加固方法 |
CN111061484A (zh) * | 2019-11-28 | 2020-04-24 | Oppo广东移动通信有限公司 | 代码编译方法、装置、服务器、用户终端及可读介质 |
CN111274551A (zh) * | 2019-12-30 | 2020-06-12 | 上海上讯信息技术股份有限公司 | 基于编译器的java代码保护方法、装置及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799687A (zh) * | 2021-01-18 | 2021-05-14 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、存储介质及计算机设备 |
CN112799687B (zh) * | 2021-01-18 | 2022-05-17 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、存储介质及计算机设备 |
CN114296741A (zh) * | 2021-12-29 | 2022-04-08 | 无锡沐创集成电路设计有限公司 | 命令行执行方法、系统、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385872B2 (en) | Extending a virtual machine instruction set architecture | |
CN107041158B (zh) | 用于模块化反射的限制性访问控制 | |
CN107924326B (zh) | 对经更新的类型的迁移方法进行覆盖 | |
US20110138373A1 (en) | Method and apparatus for globally optimizing instruction code | |
US6874140B1 (en) | Debug annotations | |
US11366684B2 (en) | Import mechanism for hardware intrinsics | |
KR20150024842A (ko) | 적응식 이식가능 라이브러리 | |
JP4806060B2 (ja) | コンパイラ・プログラム、コンパイル方法及びコンピュータ・システム | |
CN112052047A (zh) | 一种指令处理方法、终端及存储介质 | |
Ravipati et al. | Toward the deconstruction of Dyninst | |
CN114610364A (zh) | 应用程序更新、应用程序开发方法、装置及计算机设备 | |
JP5129904B2 (ja) | 実行時における関数の実行性能を増大させるための方法、計算機システム、実行時における関数の実行性能を増大させるための、コンピュータプログラムを格納するコンピュータ読み取り可能媒体 | |
CN112052459A (zh) | 一种代码虚拟化加密方法、终端及存储介质 | |
Marr et al. | Are We There Yet?: Simple Language Implementation Techniques for the 21st Century | |
US7774767B2 (en) | System and method for compiler interprocedural optimization having support for object files in libraries | |
US11429358B2 (en) | Representing asynchronous state machine in intermediate code | |
CN111796832B (zh) | 热补丁文件生成方法、装置、设备及存储介质 | |
US20240256236A1 (en) | Annotation aware efficient application build management | |
KR101694291B1 (ko) | 자바 스크립트 엔진 가속 장치 및 방법 | |
Son et al. | Smart virtual machine code based compilers for supporting multi programming languages in smart cross platform | |
CN118796195A (zh) | 计算图的编译方法、装置、设备和存储介质 | |
CN118689489A (zh) | 一种自动并行化的低耦合动态二进制翻译工具及方法 | |
Ramanan | JIT through the ages Evolution of just-in-time compilation from theoretical performance improvements to smartphone runtime and browser optimizations | |
CN116126454A (zh) | 一种解释执行方法、装置、设备以及Dart解释执行器 | |
Grabmüller | A Generic Model of Functional Programming With Dynamic Optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201208 |