CN108845841B - 改变终端应用行为的方法、装置及终端 - Google Patents

改变终端应用行为的方法、装置及终端 Download PDF

Info

Publication number
CN108845841B
CN108845841B CN201810619269.6A CN201810619269A CN108845841B CN 108845841 B CN108845841 B CN 108845841B CN 201810619269 A CN201810619269 A CN 201810619269A CN 108845841 B CN108845841 B CN 108845841B
Authority
CN
China
Prior art keywords
behavior
application
modified
function
dynamic link
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
CN201810619269.6A
Other languages
English (en)
Other versions
CN108845841A (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.)
Duoyi Network Co ltd
GUANGDONG LIWEI NETWORK TECHNOLOGY CO LTD
Guangzhou Duoyi Network Co ltd
Original Assignee
Duoyi Network Co ltd
GUANGDONG LIWEI NETWORK TECHNOLOGY CO LTD
Guangzhou Duoyi Network 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 Duoyi Network Co ltd, GUANGDONG LIWEI NETWORK TECHNOLOGY CO LTD, Guangzhou Duoyi Network Co ltd filed Critical Duoyi Network Co ltd
Priority to CN201810619269.6A priority Critical patent/CN108845841B/zh
Publication of CN108845841A publication Critical patent/CN108845841A/zh
Application granted granted Critical
Publication of CN108845841B publication Critical patent/CN108845841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/445Program loading or initiating
    • G06F9/44521Dynamic 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种改变终端应用行为的方法、装置及终端,所述方法包括:启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。实现动态修改终端应用行为,无需对应用代码进行重新编译及安装。

Description

改变终端应用行为的方法、装置及终端
技术领域
本发明涉及终端应用领域,具体涉及一种改变终端应用行为的方法、装置及终端。
背景技术
脚本在现在的应用开发中已经变得不可或缺,脚本开发的优势有两点,一是易于学习,代码方便维护,适合快速开发,二是开发成本低。因此,包括Unity在内的众多引擎,都提供了脚本接口,让开发者在开发项目时能够摆脱C/C++的束缚,这其实是变相的降低了应用开发的门槛,吸引了很多独立开发者和应用开发爱好者。
由于Unity引擎应用的mono脚本特性,相关应用经过编译、安装等步骤,在智能终端中完成部署,其应用的部分行为就已经被预先设定。在常规情形下,用户想要改变终端应用的预设行为,就需要对代码进行修改、重新编译及安装,改变终端应用的预设行为十分困难并且操作繁琐。
发明内容
本发明,提供一种改变终端应用行为的方法、装置及终端,实现动态修改终端应用行为,无需对应用代码进行重新编译及安装。
在第一方面,本发明实施例提供一种改变终端应用行为的方法,包括如下步骤:
S101、启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
S102、链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
S103、获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
进一步地,所述链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针,具体包括:
链接所述动态链接库,并在所述动态链接库中获取存储所述待修改应用的即时编译函数的哈希表;所述哈希表包括相关函数的调用接口与函数指针的组合;
查找所述哈希表,获得所述预设方法对应的行为函数的函数指针。
进一步地,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
将所述自定义行为对应的函数写入应用程序内存空间。
进一步地,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
通过静态变量将所述函数指针对应的行为函数地址保存。
进一步地,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之后,还包括:
调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
若否,则发出警告并对所述预设方法进行动态修正。
具体地,所述待修改应用为基于Unity引擎的应用;所述动态链接库为mono动态库。
在第二方面,本发明实施例还提供一种改变终端应用行为的装置,包括:
查找模块,用于启动预设待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
获取模块,用于链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
替换模块,用于获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
进一步地,所述改变终端应用行为的装置还包括:
进程注入模块,用于将第一方面所述的改变终端应用行为的方法注入所述待修改应用的进程中,以完成所述查找模块、获取模块和替换模块的构建。
进一步地,所述改变终端应用行为的装置还包括:
验证模块,用于调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
修正模块,用于若所述预设方法的相关行为不为所述自定义行为,则发出警告并对所述预设方法进行动态修正。
在第三方面,本发明实施例还提供一种终端,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的改变终端应用行为的方法。
相比于现有技术,本发明提供的一种改变终端应用行为的方法、装置及终端的有益效果在于:通过启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。实现动态替换所述待修改应用中待修改的预设方法对应的行为,无需对应用代码进行重新编译及安装,提高用户体验感。
附图说明
图1是本发明实施例提供的一种改变终端应用行为的方法的流程示意图;
图2是本发明实施例提供的一种改变终端应用行为的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明实施例提供的一种改变终端应用行为的方法的流程示意图。
在第一方面,本发明实施例提供的一种改变终端应用行为的方法,可由终端处理器或控制器执行,且下文均以处理器或控制器作为执行主体进行说明。
所述改变终端应用行为的方法,包括如下步骤:
S101、启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
S102、链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
S103、获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
需要说明的是,在本发明实施例中所述终端为手机,所述改变终端应用行为的方法的应用场景为改变基于Unity引擎mono脚本特性的手机应用。基于Unity引擎的手机应用正常调用预设方法的过程为,对应的手机应用在启动之后,先初始化mono动态库,然后加载预设程序集并注册预设方法,从而在需要的时候调用相关预设方法进行相应的行为。因此,在本发明实施例中所述改变终端应用行为的方法通过注入动态链接库,对待修改的预设方法的注册接口进行修改,实现对手机应用的预设方法进行动态修改,满足用户需求。具体地,在所述改变终端应用行为的方法步骤S101中,启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;在所述待修改应用运行中,能够在所述待修改应用的应用进程的lib目录下找到libmono.so文件,即为mono动态库文件。
之后通过执行步骤S102链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针。详细地,可通过C++提供的dlopen方法打开mono动态链接库,并链接到mono动态库的运行环境中;完成mono动态库的链接后,通过mono动态库对相关内存进行读取,获得所述待修改的预设方法的对应函数的函数指针。函数指针是指向函数的指针变量,“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。最后执行步骤S103获取所述mono动态库中的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。通过在所述待修改应用运行的过程中动态进行所述预设方法的行为的改变,实现调用所述预设方法时执行所述自定义行为。
本发明提供的一种改变终端应用行为的方法,通过启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。实现动态替换所述待修改应用中待修改的预设方法对应的行为,无需对应用代码进行重新编译及安装,提高用户体验感。
进一步地,所述步骤S102链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针,具体实施过程可以为:
链接所述动态链接库,并在所述动态链接库中获取存储所述待修改应用的即时编译函数的哈希表;所述哈希表包括相关函数的调用接口与函数指针的组合;
查找所述哈希表,获得所述预设方法对应的行为函数的函数指针。
需要说明的是,在完成mono动态库的链接后,通过mono动态库对相关内存进行读取,获得存储所述待修改应用的Unity即时编译函数的哈希表,所述哈希表为Unity引擎在mono动态库的运行环境中生成的动态内存空间,用来存储Unity相关预设方法的行为函数的调用接口与其函数指针的组合,能够通过所述待修改的预设方法的行为函数的调用接口,在所述哈希表中查找出所述预设方法对应的行为函数的函数指针。具体地,能够根据所述行为函数其所在的程序集、方法名和参数等信息,在mono共享库运行环境下获取其调用接口,再通过所述行为函数的调用接口在Unity即时编译函数的哈希表中进行函数指针查找。
本发明实施例具体提供一种在mono共享库运行环境中获取预设函数的调用接口的方法,以获取Unity引擎的预设系统函数为例,获取函数调用接口的具体步骤包括:
S201:初始化origin_func设为NULL。
S202:判断当前域是否包含指定方法,若否,则进行S203;若是,则进行S204。
S203:调用mono_jit_init初始化并加载包含预设方法的域。
S204:调用mono_get_root_domain获取当前域。
S205:获取域中的程序集。
S206:获取程序集的映射。
S207:根据类名在程序集的映射中查找相应的类。
S208:根据方法名和参数信息在相应的类中查找预设方法。
S209:将找到的预设方法作为参数传入mono_lookup_internal_call中调用,查找函数调用接口。
S210:对origin_func赋值,保存预设方法的地址,以便需要时调用。
如上述流程所述,获取mono动态库中的即时编译接口,通过调用一系列方法,完成了在Unity即时编译函数查找到预设方法的相关函数的调用接口。获取其他预设函数的调用接口查找方法与上述方法一致。
进一步地,在步骤S103获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
将所述自定义行为对应的函数写入应用程序内存空间。
具体地,在手机应用程序的Native堆开辟一段代码内存空间,在其中写入所述自定义行为对应的函数。
需要说明的是,所述改变终端应用行为的方法步骤S103具体为,获取mono动态库中的即时编译注册接口后,对获取到的所述哈希表进行修改,用所述自定义行为的自定义函数地址将哈希表中储存的所述预设方法对应的行为函数地址进行替换。替换过程可为:通过所述行为函数的命名空间、类名和函数名可以得到确定的key值,在所述哈希表中查找这个key值,将自定义函数地址覆盖到所述哈希表中查找到的key值所储存的所述行为函数地址即可。
进一步地,在步骤S103获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
通过静态变量将所述函数指针对应的行为函数地址保存。需要说明的是,通过静态变量将所述函数指针对应的行为函数地址保存,当用户需要所述待修改应用调用所述预设方法执行改变之前的原行为时,能够通过保存的行为函数地址调用原行为函数实现。
进一步地,在步骤S103获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之后,还包括:
调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
若否,则发出警告并对所述预设方法进行动态修正。
需要说明的是,当完成步骤S103自定义行为的自定义函数地址替换后,调用所述预设方法进行相应的行为,验证所述预设方法的相关行为是否为所述自定义行为;当执行的相关行为不符合所述自定义行为时,通过修改部分执行条件,对手机待修改应用程序转换后的预设方法进行调整。
具体地,所述待修改应用为基于Unity引擎的应用;所述动态链接库为mono动态库。
本发明提供的一种改变终端应用行为的方法,通过启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。实现动态替换所述待修改应用中待修改的预设方法对应的行为,无需对应用代码进行重新编译及安装,提高用户体验感。
如图2所示,是本发明实施例提供的一种改变终端应用行为的装置的结构示意图。
在第二方面,本发明实施例还提供一种改变终端应用行为的装置,包括:
查找模块201,用于启动预设待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
获取模块202,用于链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
替换模块203,用于获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
进一步地,所述改变终端应用行为的装置还包括:
进程注入模块204,用于将第一方面所述的改变终端应用行为的方法注入所述待修改应用的进程中,以完成所述查找模块、获取模块和替换模块的构建。
需要说明的是,本发明实施例中第一方面提供的一种改变终端应用行为的方法封装在一个共享库so中,所述进程注入模块使用inject将所述方法注入到所述待修改应用的进程中,在进程中开辟一块连续的内存空间,用以实施所述方法,并完成所述查找模块、获取模块和替换模块的构建。
进一步地,所述改变终端应用行为的装置还包括:
验证模块205,用于调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
修正模块206,用于若所述预设方法的相关行为不为所述自定义行为,则发出警告并对所述预设方法进行动态修正。
需要说明的是,本发明实施例提供的一种改变终端应用行为的装置,所述进程注入模块204,将第一方面所述的改变终端应用行为的方法注入所述待修改应用的进程中,以完成查找模块、获取模块和替换模块的构建;所述查找模块201,启动预设待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
所述获取模块202,链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;所述替换模块203,获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为;所述验证模块205,调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;若所述预设方法的相关行为不为所述自定义行为,则所述修正模块206,发出警告并对所述预设方法进行动态修正。实现动态替换所述待修改应用中待修改的预设方法对应的行为,无需对应用代码进行重新编译及安装,提高用户体验感。
在第三方面,本发明实施例还提供一种终端,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的改变终端应用行为的方法。
综上所述,本发明实施例提供的一种改变终端应用行为的方法、装置及终端,通过启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。实现动态替换所述待修改应用中待修改的预设方法对应的行为,无需对应用代码进行重新编译及安装,提高用户体验感。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种改变终端应用行为的方法,其特征在于,包括如下步骤:
启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为;
调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
若否,则发出警告并对所述预设方法进行动态修正。
2.如权利要求1所述的改变终端应用行为的方法,其特征在于,所述链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针,具体包括:
链接所述动态链接库,并在所述动态链接库中获取存储所述待修改应用的即时编译函数的哈希表;所述哈希表包括相关函数的调用接口与函数指针的组合;
查找所述哈希表,获得所述预设方法对应的行为函数的函数指针。
3.如权利要求1所述的改变终端应用行为的方法,其特征在于,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
将所述自定义行为对应的函数写入应用程序内存空间。
4.如权利要求1所述的改变终端应用行为的方法,其特征在于,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
通过静态变量将所述函数指针对应的行为函数地址保存。
5.如权利要求1所述的改变终端应用行为的方法,其特征在于,所述待修改应用为基于Unity引擎的应用;所述动态链接库为mono动态库。
6.一种改变终端应用行为的装置,其特征在于,包括:
查找模块,用于启动预设待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
获取模块,用于链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
替换模块,用于获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为;
验证模块,用于调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
修正模块,用于若所述预设方法的相关行为不为所述自定义行为,则发出警告并对所述预设方法进行动态修正。
7.如权利要求6所述的一种改变终端应用行为的装置,其特征在于,还包括:
进程注入模块,用于将权利要求1至5任一项所述的改变终端应用行为的方法注入所述待修改应用的进程中,以完成所述查找模块、获取模块和替换模块的构建。
8.一种终端,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的改变终端应用行为的方法。
CN201810619269.6A 2018-06-15 2018-06-15 改变终端应用行为的方法、装置及终端 Active CN108845841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810619269.6A CN108845841B (zh) 2018-06-15 2018-06-15 改变终端应用行为的方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810619269.6A CN108845841B (zh) 2018-06-15 2018-06-15 改变终端应用行为的方法、装置及终端

Publications (2)

Publication Number Publication Date
CN108845841A CN108845841A (zh) 2018-11-20
CN108845841B true CN108845841B (zh) 2021-10-01

Family

ID=64203100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810619269.6A Active CN108845841B (zh) 2018-06-15 2018-06-15 改变终端应用行为的方法、装置及终端

Country Status (1)

Country Link
CN (1) CN108845841B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008040A (zh) * 2019-03-19 2019-07-12 深圳市六度人和科技有限公司 跨应用联系人界面调取方法、装置、存储介质及设备
CN110389753B (zh) * 2019-06-06 2024-01-23 五八有限公司 原生应用的链式调用方法、装置、电子设备及存储介质
CN111899150A (zh) * 2020-08-28 2020-11-06 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN112631684B (zh) * 2020-12-30 2021-08-06 北京元心科技有限公司 可执行程序的运行方法、装置、电子设备及计算机存储介质
CN117113423B (zh) * 2023-10-24 2024-04-12 中电科网络安全科技股份有限公司 一种数据库透明加密方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8997074B1 (en) * 2006-09-29 2015-03-31 Trend Micro Incorporated Dynamic linking library (DLL) replacement in an embedded operating system environment
CN101446918B (zh) * 2008-12-10 2011-12-28 中兴通讯股份有限公司 一种实现用户态调试器调试单个函数的方法及系统
CN101719077B (zh) * 2009-12-24 2012-06-27 飞天诚信科技股份有限公司 在.Net程序中注入代码的方法和装置
EP2669797A3 (en) * 2012-05-30 2014-04-09 Vector Fabrics B.V. Method and system for translating a function into non-native instructions
CN103902890A (zh) * 2012-12-24 2014-07-02 珠海市君天电子科技有限公司 一种Android程序行为的监控方法及监控系统
CN103279569B (zh) * 2013-06-19 2016-10-05 北京奇虎科技有限公司 更改系统主题的方法及装置
CN104572086A (zh) * 2014-12-24 2015-04-29 惠州Tcl移动通信有限公司 基于安卓设备的fps值获取方法及获取系统
CN106294098A (zh) * 2015-05-14 2017-01-04 阿里巴巴集团控股有限公司 屏幕刷新率的确定方法和装置
US20170109933A1 (en) * 2015-10-14 2017-04-20 Prime Software Systems, Inc. Visualizing the structure and execution of a program
CN105630491A (zh) * 2015-12-18 2016-06-01 Tcl集团股份有限公司 程序的功能变更方法及装置
CN107305495A (zh) * 2016-04-19 2017-10-31 华为技术有限公司 实现软件安装包功能修改的方法及终端
CN106295325B (zh) * 2016-08-12 2020-02-07 武汉斗鱼网络科技有限公司 一种用于获取显卡内容的hook方法和系统
CN107391219B (zh) * 2017-07-07 2018-09-18 腾讯科技(深圳)有限公司 函数编译方法和装置

Also Published As

Publication number Publication date
CN108845841A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108845841B (zh) 改变终端应用行为的方法、装置及终端
CN109491695B (zh) 一种集成安卓应用的增量更新方法
CN107967139B (zh) 游戏的热更新方法及装置
CN108229148B (zh) 一种基于Android虚拟机的沙箱脱壳方法及系统
US20050108690A1 (en) System and method of generating applications for mobile devices
CN105100191A (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN111179086B (zh) 一种基于WebAssembly的智能合约虚拟机
JP2005509194A (ja) プレインターナライズ済プログラムファイルの作成及び使用のための方法並びに装置
CN104008340A (zh) 病毒查杀方法及装置
CN109032631B (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN115640037B (zh) 程序更新方法和装置
CN111290801A (zh) 数据处理方法、装置、计算机设备和存储介质
CN110032425B (zh) 一种动态链接库文件虚拟化方法、系统及存储介质
CN112612502A (zh) 补丁生成方法、装置、设备及存储介质
CN102243587B (zh) 嵌入式系统中对rom程序的升级方法
US20140196019A1 (en) Method and Apparatus for Substituting Compiler Built-in Helper Functions with Machine Instructions
CN109933410A (zh) 一种基于虚拟化技术的虚拟指令下发方法及系统
CN103309741A (zh) 调用插件功能的方法和装置
CN109408073B (zh) 一种Android非侵入式应用重打包方法
CN111596970A (zh) 动态库延迟加载方法、装置、设备和存储介质
CN109426546B (zh) 应用启动方法及装置、计算机存储介质及设备
CN111625225A (zh) 一种程序指定数据输出方法和装置
CN111796832B (zh) 热补丁文件生成方法、装置、设备及存储介质
CN111061501A (zh) 安卓应用的热更新方法及计算机可读存储介质
CN108958795B (zh) 一种嵌入式系统中BootLoader代码重利用方法和开发板

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