CN111352673B - 一种新型Hook方法、存储介质及电子装置 - Google Patents

一种新型Hook方法、存储介质及电子装置 Download PDF

Info

Publication number
CN111352673B
CN111352673B CN202010000957.1A CN202010000957A CN111352673B CN 111352673 B CN111352673 B CN 111352673B CN 202010000957 A CN202010000957 A CN 202010000957A CN 111352673 B CN111352673 B CN 111352673B
Authority
CN
China
Prior art keywords
artmethod
hook
target
springboard
backup
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.)
Active
Application number
CN202010000957.1A
Other languages
English (en)
Other versions
CN111352673A (zh
Inventor
甘尧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yumi Information Technology Co ltd
Original Assignee
Shanghai Yumi Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Yumi Information Technology Co ltd filed Critical Shanghai Yumi Information Technology Co ltd
Priority to CN202010000957.1A priority Critical patent/CN111352673B/zh
Publication of CN111352673A publication Critical patent/CN111352673A/zh
Application granted granted Critical
Publication of CN111352673B publication Critical patent/CN111352673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供了一种新型Hook方法,包括:S1:劫持HookFunction;S2:生成ArtMethod内存布局;S3:生成替换ArtMethod和备份ArtMethod;S4:判断当前环境,S4A:等待目标Method所对应类初始化;S4B:调用目标ArtMethod;S5:将目标ArtMethod拷贝到备份ArtMethod中;S6:替换一段跳板的ArtMethod为替换ArtMethod;S7:执行替换ArtMethod。本发明的有益效果是:可以在Java层上高效率运行且逻辑清晰的实现除Callback以外的hook使用方式。

Description

一种新型Hook方法、存储介质及电子装置
技术领域
本发明涉及移动互联网,特别涉及一种新型Hook方法、存储介质及电子装置。
背景技术
随着我国经济的发展,人民生活水平的提高,我国移动互联网日新月异,而随着我国互联网发展日新月异,如何提高移动设备的安全系数成为一个亟待解决的问题。
现有技术中,安卓的hook技术有PltGot替换hook技术、Xposed框架hook技术和substrate等native层内联hook框架。其中,Plt-Got替换hook技术由于对应用内存直接操作,只适用于hook应用自身native层函数,并不适用对全局(安卓系统中全部应用)的hook;Xposed框架仅在Java层hook,缺少native层hook的相关功能;而substrate等native层内联hook框架则兼容性、稳定性不高,相比较pc端的hook技术,安卓的hook技术还不够成熟,难以兼顾控制范围、稳定性和兼容性,并且在使用过程中,其仅支持Callback API,而不能使用其他的方法进行使用,同时由于Callback方式的固有弊端,其运行效率相对较低并且逻辑不够清晰,维护相对困难。
故市场亟需一种可以实现在Java层上实现除Callback以外的hook使用方式,一方面提高运行效率,另一方面逻辑清晰的的Hook方法、存储介质及电子装置。
发明内容
为了解决上述技术问题,本发明中披露了一种新型Hook方法、存储介质及电子装置,本发明的技术方案是这样实施的:
一种新型Hook方法,其特征在于:包括:S1:启动安卓APP,Hook模块劫持所有HookFunction;S2:使用Java反射机制读取ART,解析ART中的ArtMethod,生成ArtMethod内存布局;S3:所述Hook模块解析Java Annotation,并根据所述ArtMethod内存布局生成相应的替换ArtMethod和备份ArtMethod;S4:判断当前环境,若当前环境满足inline hook条件,进入S4A,否则进入S4B;S4A:暂存hook行为,等待所述ART中的目标ArtMethod所对应的所在的类初始化;S4B:调用所述目标ArtMethod所指向的方法,初始化所述目标ArtMethod所对应的方法所在的类并将DexCache中的目标方法覆盖成替换方法;S5:运行ArtMethod生成程序,将所述目标ArtMethod拷贝到所述备份ArtMethod中;S6:申请一段跳板,替换所述一段跳板的ArtMethod为替换ArtMethod;S7:执行所述替换ArtMethod的所指向的方法。
优选地,还包括:S6A:若所述目标ArtMethod的方法使用内联Hook,申请二段跳板;还包括S6B:所述一段跳板中的入口代码指向所述二段跳板,所述目标ArtMethod的入口代码被替换到二段跳板中。
优选地,所述S5还包括:S5A:禁止备份ArtMethod的JIT;若所述备份ArtMethod所指向的方法非static方法,所述方法设置为private方法;若调用所述目标ArtMethod,使用反射调用备份ArtMethod所指向的方法。
优选地,还包括S8:禁止目标ArtMethod的JIT;若所述Android版本大于8.0并且处于Debug模式下,设置目标ArtMethod为native方法。
优选地,还包括S9A:若使用Callback API,使用DexMaker动态生成替换方法;所述DexMaker收集参数并转发到桥函数;所述桥函数依次向注册的Callback API依次分发。
优选地,所述ART中CompilerOptions中的inline_max_code_units=0;所述inline_max_code_units=0通过调用Hook execve方法设置;所述全局线程的暂停与恢复使用Debug接口。
优选地,若所述Android版本小于8.0且代码长度不少于4行时,所述替换ArtMethod为内联方法。
优选地,还包括S9B:若使用Callback API,使用预置的桩函数;所述桩函数使用Python脚本生成;所述Python脚本的参数为32位整数。
一种新型Hook存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行一种新型Hook方法。
一种新型Hook电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行一种新型Hook方法。
实施本发明的技术方案可解决现有技术中仅能使用Callback API进行hook使用,从而导致性能低,逻辑不清晰,维护困难的技术问题;实施本发明的技术方案,可实现增加了Java Annotation式的使用方式,提高了逻辑的清晰度并提高了性能,维护便捷的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一种实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种具体的实施例1的运行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一种具体的实施例1中,如图1所示,一种新型Hook方法,其特征在于:包括:S1:启动安卓APP,Hook模块劫持所有Hook Function;S2:使用Java反射机制读取ART,解析ART中的ArtMethod,生成ArtMethod内存布局;S3:所述Hook模块解析Java Annotation,并根据所述ArtMethod内存布局生成相应的替换ArtMethod和备份ArtMethod;S4:判断当前环境,若当前环境满足inline hook条件,进入S4A,否则进入S4B;S4A:暂存hook行为,等待所述ART中的目标ArtMethod所对应的所在的类初始化;S4B:调用所述目标ArtMethod所指向的方法,初始化所述目标ArtMethod所对应的方法所在的类并将DexCache中的目标方法覆盖成替换方法;S5:运行ArtMethod生成程序,将所述目标ArtMethod拷贝到所述备份ArtMethod中;S6:申请一段跳板,替换所述一段跳板的ArtMethod为替换ArtMethod;S7:执行所述替换ArtMethod的所指向的方法。
在该种具体的实施例1中,安卓APP启动之后,Hook模块检查所有的代码并劫持其中具有Hook Function功能的方法,然后使用Java的反射机制读取ART中的上层数据,并解析上层数据,从而获得相应的ArtMethod在ART中的内存布局,然后Hook模块解析JavaAnnotation,根据Java Annotation并结合ArtMethod内存布局基于原有的ArtMethod进行修改,从而生成新的用于替换原有的ArtMethod的替换ArtMethod,并且用于对原有的ArtMethod进行备份的备份ArtMethod;然后检查当前使用的安卓系统是否支持使用内联hook,如果支持使用内联hook,则先暂停进行hook,等待ART中的目标方法所对应的类初始化,然后再进行hook;如果不满足,调用一次目标方法,从而主动触发类的初始化,然后再将DexCache中的目标方法覆盖成替换方法;然后再申请一段跳板,一段跳板包含多个ArtMethod,其中0号ArtMethod为原有的目标ArtMethod,然后使用替换ArtMethod来替换,从而在执行时跳转到原hook的入口代码并执行;通过上述步骤,实现了在Java层上的JavaAnnotation式Hook,从而提高了易用性,逻辑更加清晰,并且提高了性能。
在一种优选的实施例2中,还包括:S6A:若所述目标ArtMethod的方法使用内联Hook,申请二段跳板;还包括S6B:所述一段跳板中的入口代码指向所述二段跳板,所述目标ArtMethod的入口代码被替换到二段跳板中。
在该种优选的实施例中,当目标ArtMethod所指向的方法为内联方法,即inline方法的时候,由于原入口代码已经被塞入跳板,所以我们需要再次申请一块跳板,即申请二段跳板,并将备份ArtMethod存储在二段跳板中,在该种情况下,由于一段跳板替换了目标ArtMethod的前4行代码,故在运行时会直接跳转到二段跳板,由二段跳板首先判断其是否为需要Hook的方法,若需要,则将二段跳板的设置为跳转到Hook入口,使用替换ArtMethod进行执行;若不需要,则跳转到备份ArtMethod中进行执行。
在一种优选的实施例3中,所述S5还包括:S5A:禁止备份ArtMethod的JIT;若所述备份ArtMethod所指向的方法非static方法,所述方法设置为private方法;若调用所述目标ArtMethod,使用反射调用备份ArtMethod所指向的方法。
在该种优选的实施例中,禁止备份ArtMethod的JIT可以禁止备份ArtMethod所指向方法进行执行;同时在该种情况下,备份ArtMethod所指向的方法一般为静态方法,若为非static方法,则必须为private,否则无法通过反射进行使用;当需要调用备份ArtMethod所指向的方法时,则利用Java的反射机制来实现。
一种优选的实施例4中,还包括S8:禁止目标ArtMethod的JIT;若所述Android版本大于8.0并且处于Debug模式下,设置目标ArtMethod为native方法。
在该种优选的实施例中,首先应当禁止目标ArtMethod的JIT,从而禁止目标ArtMethod代码的解释执行,根据不同的安卓系统等级适用于不同的操作模式,如果版本高于8.0并且处于Debug模式之下,设置目标ArtMethod为native方法;在Debug模式下,会导致程序的全局解释执行,而不会查询ArtMethod入口,故在Debug模式下必须将目标ArtMethod设置为native模式,从而命令其查询ArtMethod入口以实现相关的功能。
在一种优选的实施例5中,还包括S9A:若使用Callback API,使用DexMaker动态生成替换方法;所述DexMaker收集参数并转发到桥函数;所述桥函数依次向注册的CallbackAPI依次分发。
在该种优选的实施例中,若需要使用Callback API,通过运行在Android VM上的DexMaker动态生成Dex字节码的API,从而实现替换方法的动态生成,然后再使用桥函数为虚拟机搭桥,再使用DexMaker注册所需的参数,然后桥函数向经过注册的Callback依次分发。
在一种优选的实施例6中,还包括S9B:若使用Callback API,使用预置的桩函数;所述桩函数使用Python脚本生成;所述Python脚本的参数为32位整数;
在该种优选的实施例中,可使用预置的桩函数来实现Callback,桩函数使用Python脚本实现,Python脚本一方面编写起来较为简单,另一方面Python作为一种胶水语言具有良好的可扩展性,可以实现良好的可扩展性;在使用的过程中,Python脚本的参数为32位整数,如果是基本类型的参数,Python脚本参数会经过简单的转换得到相应的值,如果是对应的是对象参数,则对应的是相应的内存地址。
在一种优选的实施例7中,所述ART中CompilerOptions中的inline_max_code_units=0;所述inline_max_code_units=0通过调用Hook execve方法设置;所述全局线程的暂停与恢复使用Debug接口。
在该优选的实施例中,由于在运行过程中ART编译器中的dex2oat程序会进行内联优化,而hook可能会因为内联优化而失败,故在运行前需要对CompilerOptions进行设置,一般设置方法为调用Hook execve方法为dex2oat调用增加inline_max_code_units=0的标志,从而关闭运行过程中的内联优化,从而避免dex2oat中的内联优化导致Hook失败。
在一种优选的实施例8中,若所述Android版本小于8.0且代码长度不少于4行时,所述替换ArtMethod为内联方法。
在该种优选的实施例中,若Android版本小于8.0时,由于存在着大量跳转的情况,所以应当使用内联方法以提高函数的效率,但是假设代码少于4行,代码长度过短,则将入口代码替换即可。
在一种具体的实施例中9,一种新型Hook存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行一种新型Hook方法。
在该种具体的实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
在一种具体的实施例中10,一种新型Hook电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行一种新型Hook方法。
在该种具体的实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要指出的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种新型Hook方法,其特征在于:包括:
S1:启动安卓APP,Hook模块劫持所有Hook Function;
S2:使用Java反射机制读取ART,解析ART中的ArtMethod,生成ArtMethod内存布局;
S3:所述Hook模块解析Java Annotation,并根据所述ArtMethod内存布局生成相应的替换ArtMethod和备份ArtMethod;
S4:判断当前环境,若当前环境满足inline hook条件,进入S4A,否则进入S4B;
S4A:暂存hook行为,等待所述ART中的目标ArtMethod所对应的所在的类初始化;
S4B:调用所述目标ArtMethod所指向的方法,初始化所述目标ArtMethod所对应的方法所在的类并将DexCache中的目标方法覆盖成替换方法;
S5:运行ArtMethod生成程序,将所述目标ArtMethod拷贝到所述备份ArtMethod中;
S6:申请一段跳板,替换所述一段跳板的ArtMethod为替换ArtMethod;
S7:执行所述替换ArtMethod的所指向的方法。
2.根据权利要求1所述的一种新型Hook方法,其特征在于:还包括:S6A:若所述目标ArtMethod的方法使用内联Hook,申请二段跳板;
还包括S6B:所述一段跳板中的入口代码指向所述二段跳板,所述目标ArtMethod的入口代码被替换到二段跳板中。
3.根据权利要求2所述的一种新型Hook方法,其特征在于:所述S5还包括:S5A:禁止备份ArtMethod的JIT;
若所述备份ArtMethod所指向的方法非static方法,所述方法设置为private方法;若调用所述目标ArtMethod,使用反射调用备份ArtMethod所指向的方法。
4.根据权利要求3所述的一种新型Hook方法,其特征在于:还包括S8:禁止目标ArtMethod的JIT;若Android版本大于8.0并且处于Debug模式下,设置目标ArtMethod为native方法。
5.根据权利要求4所述的一种新型Hook方法,其特征在于:还包括S9A:若使用CallbackAPI,使用DexMaker动态生成替换方法;
所述DexMaker收集参数并转发到桥函数;
所述桥函数依次向注册的Callback API依次分发。
6.根据权利要求4所述的一种新型Hook方法,其特征在于:还包括S9B:若使用CallbackAPI,使用预置的桩函数;所述桩函数使用Python脚本生成;所述Python脚本的参数为32位整数。
7.根据权利要求1-6任一所述的一种新型Hook方法,其特征在于:所述ART中CompilerOptions中的inline_max_code_units=0;所述inline_max_code_units=0通过调用Hook execve方法设置;
全局线程的暂停与恢复使用Debug接口。
8.根据权利要求7任一所述的一种新型Hook方法,其特征在于:
若Android版本小于8.0且代码长度不少于4行时,所述替换ArtMethod为内联方法。
9.一种新型Hook存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6任一项中所述的方法。
10.一种新型Hook电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6任一项中所述的方法。
CN202010000957.1A 2020-01-02 2020-01-02 一种新型Hook方法、存储介质及电子装置 Active CN111352673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010000957.1A CN111352673B (zh) 2020-01-02 2020-01-02 一种新型Hook方法、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010000957.1A CN111352673B (zh) 2020-01-02 2020-01-02 一种新型Hook方法、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN111352673A CN111352673A (zh) 2020-06-30
CN111352673B true CN111352673B (zh) 2023-10-03

Family

ID=71192238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010000957.1A Active CN111352673B (zh) 2020-01-02 2020-01-02 一种新型Hook方法、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN111352673B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658657B1 (en) * 2000-03-31 2003-12-02 Intel Corporation Method and apparatus for reducing the overhead of virtual method invocations
US9483283B1 (en) * 2014-11-20 2016-11-01 Apptimize, Inc. Enhanced code callback
CN106990955A (zh) * 2017-03-09 2017-07-28 武汉斗鱼网络科技有限公司 一种对应用程序进行打点的方法和系统
CN107621939A (zh) * 2017-09-18 2018-01-23 北京奇虎科技有限公司 一种应用优化方法及装置
CN108021357A (zh) * 2017-11-20 2018-05-11 北京奇虎科技有限公司 程序调用的优化方法及装置
KR20190043750A (ko) * 2017-10-19 2019-04-29 한국전자통신연구원 덱스 파일의 메모리 적재 장치 및 방법
CN109814948A (zh) * 2018-12-29 2019-05-28 360企业安全技术(珠海)有限公司 基于xposed框架对native层函数进行hook的方法、装置及电子装置
CN110046497A (zh) * 2018-01-16 2019-07-23 腾讯科技(深圳)有限公司 一种函数挂钩实现方法、装置和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070113282A1 (en) * 2005-11-17 2007-05-17 Ross Robert F Systems and methods for detecting and disabling malicious script code
US8869103B2 (en) * 2008-10-06 2014-10-21 The Mathworks, Inc. Using intermediate representations to verify computer-executable code generated from a model
TWI649694B (zh) * 2017-10-30 2019-02-01 國立臺灣大學 一種安卓動態框架及其方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658657B1 (en) * 2000-03-31 2003-12-02 Intel Corporation Method and apparatus for reducing the overhead of virtual method invocations
US9483283B1 (en) * 2014-11-20 2016-11-01 Apptimize, Inc. Enhanced code callback
CN106990955A (zh) * 2017-03-09 2017-07-28 武汉斗鱼网络科技有限公司 一种对应用程序进行打点的方法和系统
CN107621939A (zh) * 2017-09-18 2018-01-23 北京奇虎科技有限公司 一种应用优化方法及装置
KR20190043750A (ko) * 2017-10-19 2019-04-29 한국전자통신연구원 덱스 파일의 메모리 적재 장치 및 방법
CN108021357A (zh) * 2017-11-20 2018-05-11 北京奇虎科技有限公司 程序调用的优化方法及装置
CN110046497A (zh) * 2018-01-16 2019-07-23 腾讯科技(深圳)有限公司 一种函数挂钩实现方法、装置和存储介质
CN109814948A (zh) * 2018-12-29 2019-05-28 360企业安全技术(珠海)有限公司 基于xposed框架对native层函数进行hook的方法、装置及电子装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Android ART Hook & 注入实现细节;OSTCB;《https://blog.csdn.net/ganyao939543405/article/details/89205821》;20190411;第2-29页 *
Android ART Hook 实现 - SandHook;OSTCB;《https://blog.csdn.net/ganyao939543405/article/details/86661040》;20190127;全文 *
AndroidHook机制——浅谈;常生果;《https://blog.csdn.net/zhyooo123/article/details/81712114》;20180816;第1页 *

Also Published As

Publication number Publication date
CN111352673A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
US7203941B2 (en) Associating a native resource with an application
US8429669B2 (en) Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status
US7406684B2 (en) Compiler, dynamic compiler, and replay compiler
US20090204963A1 (en) Reducing memory usage of a data processing task performed using a virtual machine
TWI612439B (zh) 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體
US8887141B2 (en) Automatically modifying a native code module accessed from virtual machine bytecode to determine execution information
US7246346B2 (en) System and method for persisting dynamically generated code in a directly addressable and executable storage medium
US6834391B2 (en) Method and apparatus for automated native code isolation
US10740217B1 (en) Non-native system-level debugging using symbolic information
US20100050157A1 (en) System and process for debugging object-oriented programming code
US8200938B2 (en) Computer system and method providing a memory buffer for use with native and platform-independent software code
US8533712B2 (en) Virtual machine stage detection
WO2013139015A1 (en) Hybrid emulation and kernel function processing systems and methods
US7213098B2 (en) Computer system and method providing a memory buffer for use with native and platform-independent software code
Reddi et al. Persistent code caching: Exploiting code reuse across executions and applications
JP5489884B2 (ja) 命令実行装置、命令実行方法、及び命令実行プログラム
US20060070028A1 (en) Procedure invocation in an integrated computing environment having both compiled and interpreted code segments
CN111352673B (zh) 一种新型Hook方法、存储介质及电子装置
CN114765051A (zh) 内存测试方法及装置、可读存储介质、电子设备
JP5129904B2 (ja) 実行時における関数の実行性能を増大させるための方法、計算機システム、実行時における関数の実行性能を増大させるための、コンピュータプログラムを格納するコンピュータ読み取り可能媒体
JP2007226784A (ja) インラインされたメソッドの呼出方法およびそれを用いたジャバ仮想マシン
US20210026669A1 (en) Calling arbitrary functions in the kernel via a probe script
KR101433644B1 (ko) Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법
Polito et al. Virtual smalltalk images: Model and applications
JP2009223841A (ja) 命令ログ取得プログラム及び仮想計算機システム

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
GR01 Patent grant
GR01 Patent grant