CN108845841A - 改变终端应用行为的方法、装置及终端 - Google Patents
改变终端应用行为的方法、装置及终端 Download PDFInfo
- Publication number
- CN108845841A CN108845841A CN201810619269.6A CN201810619269A CN108845841A CN 108845841 A CN108845841 A CN 108845841A CN 201810619269 A CN201810619269 A CN 201810619269A CN 108845841 A CN108845841 A CN 108845841A
- Authority
- CN
- China
- Prior art keywords
- behavior
- application
- modified
- function
- link library
- 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.)
- Granted
Links
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/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)
- 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 (10)
1.一种改变终端应用行为的方法,其特征在于,包括如下步骤:
启动待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
2.如权利要求1所述的改变终端应用行为的方法,其特征在于,所述链接所述动态链接库并获取预先存储在所述动态链接库中待修改的预设方法的函数指针,具体包括:
链接所述动态链接库,并在所述动态链接库中获取存储所述待修改应用的即时编译函数的哈希表;所述哈希表包括相关函数的调用接口与函数指针的组合;
查找所述哈希表,获得所述预设方法对应的行为函数的函数指针。
3.如权利要求1所述的改变终端应用行为的方法,其特征在于,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
将所述自定义行为对应的函数写入应用程序内存空间。
4.如权利要求1所述的改变终端应用行为的方法,其特征在于,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之前,还包括:
通过静态变量将所述函数指针对应的行为函数地址保存。
5.如权利要求1所述的改变终端应用行为的方法,其特征在于,在获取所述动态链接库的即时编译注册接口,将所述函数指针对应的原函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为之后,还包括:
调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
若否,则发出警告并对所述预设方法进行动态修正。
6.如权利要求1所述的改变终端应用行为的方法,其特征在于,所述待修改应用为基于Unity引擎的应用;所述动态链接库为mono动态库。
7.一种改变终端应用行为的装置,其特征在于,包括:
查找模块,用于启动预设待修改应用,在所述待修改应用的应用进程中查找出动态链接库;
获取模块,用于链接所述动态链接库并获取存储在所述动态链接库中待修改的预设方法的函数指针;
替换模块,用于获取所述动态链接库的即时编译注册接口,将所述函数指针对应的行为函数地址替换为自定义行为对应的自定义函数地址,以使所述待修改应用调用所述预设方法时执行所述自定义行为。
8.如权利要求7所述的一种改变终端应用行为的装置,其特征在于,还包括:
进程注入模块,用于将权利要求1至6任一项所述的改变终端应用行为的方法注入所述待修改应用的进程中,以完成所述查找模块、获取模块和替换模块的构建。
9.如权利要求7所述的一种改变终端应用行为的装置,其特征在于,还包括:
验证模块,用于调用所述预设方法执行相应行为,验证所述预设方法的相关行为是否为所述自定义行为;
修正模块,用于若所述预设方法的相关行为不为所述自定义行为,则发出警告并对所述预设方法进行动态修正。
10.一种终端,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的改变终端应用行为的方法。
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 true CN108845841A (zh) | 2018-11-20 |
CN108845841B 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008040A (zh) * | 2019-03-19 | 2019-07-12 | 深圳市六度人和科技有限公司 | 跨应用联系人界面调取方法、装置、存储介质及设备 |
CN110389753A (zh) * | 2019-06-06 | 2019-10-29 | 五八有限公司 | 原生应用的链式调用方法、装置、电子设备及存储介质 |
CN111899150A (zh) * | 2020-08-28 | 2020-11-06 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112434286A (zh) * | 2020-11-12 | 2021-03-02 | 浙江大华技术股份有限公司 | 动态库的调用方法、装置、电子装置和存储介质 |
CN112631684A (zh) * | 2020-12-30 | 2021-04-09 | 北京元心科技有限公司 | 可执行程序的运行方法、装置、电子设备及计算机存储介质 |
CN117113423A (zh) * | 2023-10-24 | 2023-11-24 | 中电科网络安全科技股份有限公司 | 一种数据库透明加密方法、装置、设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446918A (zh) * | 2008-12-10 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现用户态调试器调试单个函数的方法及系统 |
CN101719077A (zh) * | 2009-12-24 | 2010-06-02 | 北京飞天诚信科技有限公司 | 在.Net程序中注入代码的方法和装置 |
CN103279569A (zh) * | 2013-06-19 | 2013-09-04 | 北京奇虎科技有限公司 | 更改系统主题的方法及装置 |
US20130326489A1 (en) * | 2012-05-30 | 2013-12-05 | Vector Fabrics B.V. | Method and system for translating non-native instructions |
CN103902890A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种Android程序行为的监控方法及监控系统 |
US8997074B1 (en) * | 2006-09-29 | 2015-03-31 | Trend Micro Incorporated | Dynamic linking library (DLL) replacement in an embedded operating system environment |
CN104572086A (zh) * | 2014-12-24 | 2015-04-29 | 惠州Tcl移动通信有限公司 | 基于安卓设备的fps值获取方法及获取系统 |
CN105630491A (zh) * | 2015-12-18 | 2016-06-01 | Tcl集团股份有限公司 | 程序的功能变更方法及装置 |
CN106294098A (zh) * | 2015-05-14 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 屏幕刷新率的确定方法和装置 |
CN106295325A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的hook方法和系统 |
WO2017066512A1 (en) * | 2015-10-14 | 2017-04-20 | Prime Software Systems, Inc. | Visualizing the structure and execution of a program |
CN107305495A (zh) * | 2016-04-19 | 2017-10-31 | 华为技术有限公司 | 实现软件安装包功能修改的方法及终端 |
CN107391219A (zh) * | 2017-07-07 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 函数编译方法和装置 |
-
2018
- 2018-06-15 CN CN201810619269.6A patent/CN108845841B/zh active Active
Patent Citations (13)
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 |
CN101446918A (zh) * | 2008-12-10 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现用户态调试器调试单个函数的方法及系统 |
CN101719077A (zh) * | 2009-12-24 | 2010-06-02 | 北京飞天诚信科技有限公司 | 在.Net程序中注入代码的方法和装置 |
US20130326489A1 (en) * | 2012-05-30 | 2013-12-05 | Vector Fabrics B.V. | Method and system for translating non-native instructions |
CN103902890A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种Android程序行为的监控方法及监控系统 |
CN103279569A (zh) * | 2013-06-19 | 2013-09-04 | 北京奇虎科技有限公司 | 更改系统主题的方法及装置 |
CN104572086A (zh) * | 2014-12-24 | 2015-04-29 | 惠州Tcl移动通信有限公司 | 基于安卓设备的fps值获取方法及获取系统 |
CN106294098A (zh) * | 2015-05-14 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 屏幕刷新率的确定方法和装置 |
WO2017066512A1 (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 | 华为技术有限公司 | 实现软件安装包功能修改的方法及终端 |
CN106295325A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的hook方法和系统 |
CN107391219A (zh) * | 2017-07-07 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 函数编译方法和装置 |
Non-Patent Citations (1)
Title |
---|
CRASHEYE: "一种注入到unity游戏进程获取FPS的方法", 《HTTPS://BLOG.CSDN.NET/CRASHEYE/ARTICLE/DETAILS/53285502》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008040A (zh) * | 2019-03-19 | 2019-07-12 | 深圳市六度人和科技有限公司 | 跨应用联系人界面调取方法、装置、存储介质及设备 |
CN110389753A (zh) * | 2019-06-06 | 2019-10-29 | 五八有限公司 | 原生应用的链式调用方法、装置、电子设备及存储介质 |
CN110389753B (zh) * | 2019-06-06 | 2024-01-23 | 五八有限公司 | 原生应用的链式调用方法、装置、电子设备及存储介质 |
CN111899150A (zh) * | 2020-08-28 | 2020-11-06 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112434286A (zh) * | 2020-11-12 | 2021-03-02 | 浙江大华技术股份有限公司 | 动态库的调用方法、装置、电子装置和存储介质 |
CN112631684A (zh) * | 2020-12-30 | 2021-04-09 | 北京元心科技有限公司 | 可执行程序的运行方法、装置、电子设备及计算机存储介质 |
CN112631684B (zh) * | 2020-12-30 | 2021-08-06 | 北京元心科技有限公司 | 可执行程序的运行方法、装置、电子设备及计算机存储介质 |
CN117113423A (zh) * | 2023-10-24 | 2023-11-24 | 中电科网络安全科技股份有限公司 | 一种数据库透明加密方法、装置、设备及存储介质 |
CN117113423B (zh) * | 2023-10-24 | 2024-04-12 | 中电科网络安全科技股份有限公司 | 一种数据库透明加密方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108845841B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845841A (zh) | 改变终端应用行为的方法、装置及终端 | |
US6941453B2 (en) | System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device | |
CN109614165B (zh) | 一种com组件的多版本并行运行方法和装置 | |
US7321988B2 (en) | Identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed | |
US20090007081A1 (en) | System and Method of Generating Applications for Mobile Devices | |
CN109634617A (zh) | 软件安装方法、用户设备、存储介质及装置 | |
US6654762B2 (en) | Generating small footprint applications for mobile devices | |
CN106406919A (zh) | 一种终端设备预装应用的管理方法和终端设备 | |
CN111949529B (zh) | 系统调试方法、装置、计算机设备和存储介质 | |
CN110362356A (zh) | 函数数据处理方法、装置、计算机设备和存储介质 | |
CN110765394A (zh) | so文件加载方法、装置、存储介质及终端设备 | |
CN106598662A (zh) | 基于android的应用加载方法及装置 | |
CN109190367B (zh) | 利用沙箱运行应用程序安装包的方法及装置 | |
CN109408256A (zh) | 应用调用方法和装置 | |
CN110377367B (zh) | 组件配置方法、装置、电子终端及计算机可读存储介质 | |
CN106557305B (zh) | 一种自动回放Android程序的方法及系统 | |
CN106293790A (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN104391880A (zh) | 拦截业务对象的方法及客户端 | |
CN107451050B (zh) | 函数获取方法和装置、服务器 | |
US20120030235A1 (en) | Priority search trees | |
CN107622070B (zh) | 一种数据库管理方法及装置 | |
CN111966744B (zh) | 工作流部署方法、装置、计算机设备和存储介质 | |
CN109918300B (zh) | 一种测试数据准备方法、装置、终端及存储介质 | |
CN114020278B (zh) | 数据处理方法、装置、设备及存储介质 | |
KR102070010B1 (ko) | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
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 |