CN109460215A - 应用控制方法及装置 - Google Patents
应用控制方法及装置 Download PDFInfo
- Publication number
- CN109460215A CN109460215A CN201811344104.9A CN201811344104A CN109460215A CN 109460215 A CN109460215 A CN 109460215A CN 201811344104 A CN201811344104 A CN 201811344104A CN 109460215 A CN109460215 A CN 109460215A
- Authority
- CN
- China
- Prior art keywords
- function
- application
- target application
- card
- plug
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- 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
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用控制方法及装置。其中,该方法包括:将预设的服务插件加载到目标应用中,通过服务插件获取目标应用中包含的应用接口函数;将目标应用中包含的应用接口函数封装为与服务插件相对应的插件接口函数;通过插件接口函数与目标应用进行通信,以实现对目标应用的控制操作。该方式通过在目标应用中植入服务插件的方式,将目标应用中原有的应用接口函数包裹为与该服务插件相对应的插件接口函数,从而能够直接利用该插件接口函数便捷高效地调用目标应用,以实现针对目标应用的控制或分析操作。该方式省去了分析应用内部协议的繁琐流程,能够适用于各类包含复杂协议的目标应用中,且不需要模拟事件,大大提高了控制效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种应用控制方法及装置。
背景技术
目前,为了实现针对应用的控制操作,或者,为了实现针对应用内部逻辑的分析操作,需要通过网络爬虫等辅助工具针对该应用内部的请求协议进行分析。
但是,发明人在实现本发明的过程中发现,上述方式至少存在如下局限性:由于很多应用都进行了加固保护,因此,通过逆向分析等方式识别该应用的内部协议的难度越来越大,可能导致因应用协议比较复杂而分析失败的情况发生。另外,在自动化框架爬取方式中,需要大量的模拟事件,导致效率低下。
由此可见,现有的通过网络爬虫分析应用协议以实现应用控制的方式局限性较大,亟需一种能够广泛应用于各类复杂协议、且更加高效的应用控制方式。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用控制方法及装置。
根据本发明的一个方面,提供了应用控制方法,包括:
将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
根据本发明另一个方面,提供了应用控制装置,包括:
加载模块,适于将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
封装模块,适于将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
控制模块,适于通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述应用控制方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述应用控制方法对应的操作。
在本发明公开的应用控制方法及装置中,首先,将预设的服务插件加载到目标应用中,通过该服务插件获取目标应用中包含的应用接口函数;然后,将该目标应用中包含的应用接口函数封装为与服务插件相对应的插件接口函数,以便通过封装得到的插件接口函数与目标应用进行通信,从实现对目标应用的控制操作。由此可见,该方式通过在目标应用中植入服务插件的方式,将目标应用中原有的应用接口函数包裹为与该服务插件相对应的插件接口函数,从而能够直接利用该插件接口函数便捷高效地调用目标应用,以实现针对目标应用的控制或分析操作。该方式省去了分析应用内部协议的繁琐流程,能够适用于各类包含复杂协议的目标应用中,且不需要模拟事件,大大提高了控制效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的应用控制方法的流程示意图;
图2示出了本发明另一个实施例的应用控制方法的流程示意图;
图3示出了本发明又一实施例的一种应用控制装置的装置结构图;
图4示出了根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明一个实施例的应用控制方法的流程示意图。如图1所示,该方法包括:
步骤S110:将预设的服务插件加载到目标应用中,通过该服务插件获取目标应用中包含的应用接口函数。
其中,该预设的服务插件可以为Xposed插件等各类插件。将服务插件加载到目标应用之后,即可通过该服务插件获取目标应用中的应用接口函数。其中,目标应用中的应用接口函数主要是指:目标应用中用于与外部应用相互通信的接口函数,例如,目标应用中用于向外部服务器发送请求的接口、用于接收来自外部服务器的响应的接口等。
步骤S120:将目标应用中包含的应用接口函数封装为与该服务插件相对应的插件接口函数。
具体地,获取到目标应用中包含的应用接口函数之后,对获取到的应用接口函数进行封装,以便将获取到的应用接口函数包裹为与该服务插件相对应的插件接口函数。具体封装时,可通过多种方式实现,例如,可以通过挂钩函数对调用应用接口函数的行为进行监测,并在监测到针对应用接口函数发生的调用行为时,通过挂钩函数的内部逻辑使该调用行为转由插件接口函数实现,从而利用插件接口函数接管应用接口函数的相关操作。其中,应用接口函数与插件接口函数可基于相同或不同的应用协议实现。本发明对插件接口函数的具体实现形式不做限定。
步骤S130:通过该插件接口函数与目标应用进行通信,以实现对目标应用的控制操作。
具体地,将该插件接口函数的函数名称及调用接口作为API提供给外部应用,以供外部应用直接调用该插件接口函数对应的API来实现对目标应用的控制操作。该控制操作可包括各种类型,例如网络通信操作、爬虫分析操作等各类操作。
在本发明公开的应用控制方法中,首先,将预设的服务插件加载到目标应用中,通过该服务插件获取目标应用中包含的应用接口函数;然后,将该目标应用中包含的应用接口函数封装为与服务插件相对应的插件接口函数,以便通过封装得到的插件接口函数与目标应用进行通信,从实现对目标应用的控制操作。由此可见,该方式通过在目标应用中植入服务插件的方式,将目标应用中原有的应用接口函数包裹为与该服务插件相对应的插件接口函数,从而能够直接利用该插件接口函数便捷高效地调用目标应用,以实现针对目标应用的控制或分析操作。该方式省去了分析应用内部协议的繁琐流程,能够适用于各类包含复杂协议的目标应用中,且不需要模拟事件,大大提高了控制效率。
图2示出了本发明另一个实施例的应用控制方法的流程示意图。如图2所示,该方法包括:
步骤S210:将预设的服务插件加载到目标应用中,通过该服务插件获取目标应用中包含的应用接口函数。
在本实施例中,该预设的服务插件为基于Xposed框架环境实现的Xposed插件。相应地,在本实施例中,需要先检测系统中是否已配置有Xposed框架环境,若否,则需要先配置Xposed框架环境。在系统中已配置有Xposed框架环境的前提下,将本实施例中提供的Xposed插件借助已配置的Xposed框架环境加载到目标应用中。该Xposed插件是针对要控制的目标应用而设置的与目标应用相匹配的插件。插件的具体功能可结合目标应用的功能进行灵活配置。
具体实施时,需要将该Xposed插件植入到目标应用的内部,以便能够在后续过程中借助该Xposed插件实现外部应用与目标应用之间的通信。在植入过程中,需要将Xposed插件与目标应用进行适配,具体适配时,需要将Xposed插件与目标应用中需要相互通信的接口进行关联,以便实现二者之间的通信。
另外,将服务插件加载到目标应用之后,即可通过该服务插件获取目标应用中的应用接口函数。其中,目标应用中的应用接口函数主要是指:目标应用中用于与外部应用相互通信的接口函数。例如,应用接口函数包括:用于与外部应用相互通信的应用通信函数,且该应用通信函数进一步包括应用发送函数和/或应用接收函数。具体地,在获取目标应用中的应用接口函数时,可以根据具体的控制操作的类型和控制目的来确定,通常需要获取与后续的控制操作相关的应用接口函数,以便实现后续的控制过程。
步骤S220:针对目标应用中包含的应用接口函数设置挂钩函数,通过挂钩函数将应用接口函数封装为与服务插件相对应的插件接口函数。
其中,该挂钩函数用于在应用接口函数被调用时,调用与该应用接口函数相对应的插件接口函数实现与应用接口函数相对应的功能。另外,该挂钩函数进一步用于获取应用接口函数中与本次调用相对应的参数信息和/或通信地址信息,并将获取到的参数信息和/或通信地址信息传递给插件接口函数,以供插件接口函数根据参数信息和/或通信地址信息实现与应用接口函数相对应的功能。
举例而言,假设目标应用中包含的两个应用接口函数,分别为应用发送函数和应用接收函数,该应用发送函数能够用于向外部服务器或外部设备发送网络请求,该应用接收函数能够接收来自外部服务器或外部设备的响应消息。相应地,封装后的插件接口函数具体为与应用通信函数相对应的插件通信函数,该插件通信函数也包括插件发送函数和插件接收函数这两个函数。为了便于实现对目标应用的控制操作,需要在应用发送函数处设置第一挂钩函数,以监测与应用发送函数相对应的调用行为,该第一挂钩函数能够在监测到应用发送函数被调用时,调用与该应用发送函数相对应的插件发送函数实现与应用发送函数相对应的功能。同理,需要在应用接收函数处设置第二挂钩函数,以监测与应用接收函数相对应的调用行为,该第二挂钩函数能够在监测到应用接收函数被调用时(例如外部服务器返回响应时),调用与该应用接收函数相对应的插件接收函数实现与应用接收函数相对应的功能。
具体实施时,当目标应用需要向外部服务器发送请求时,应用发送函数被调用,此时,第一挂钩函数进一步用于获取应用发送函数中与本次调用相对应的参数信息和/或通信地址信息,该参数信息可以是目标应用发送的请求消息中的请求参数,例如要请求的网络内容的URL地址等信息,该通信地址信息可以是接收该请求消息的外部服务器的通信地址信息,以便标识该请求消息所对应的接收方。相应地,第一挂钩函数提取出上述信息后,将提取出的信息传递给插件发送函数,以便插件发送函数根据提取出的参数信息以及通信地址信息实现请求消息的转发。同理,当外部服务器向目标应用返回对应的响应消息时,外部服务器调用应用接收函数,此时,第二挂钩函数进一步用于获取应用接收函数中接收到的与本次调用相对应的参数信息和/或通信地址信息,该参数信息可以是外部服务器返回的响应中的响应参数,例如要请求的网络内容的页面内容等信息,该通信地址信息可以是接收该响应的目标应用的通信地址信息,以便标识该响应所对应的接收方。相应地,第二挂钩函数提取出上述信息后,将提取出的信息传递给插件接收函数,以便插件接收函数根据提取出的参数信息以及通信地址信息实现响应消息的转发。
步骤S230:通过该插件接口函数与目标应用进行通信,以实现对目标应用的控制操作。
具体地,将该插件接口函数的函数名称及调用接口作为API提供给外部应用,以供外部应用直接调用该插件接口函数对应的API来实现对目标应用的控制操作。该控制操作可包括各种类型,例如,控制操作包括:获取并分析目标应用所对应的网络通信信息。该网络通信信息具体包括:网络通信操作相关信息、爬虫分析操作相关信息等各类信息。
由此可见,通过本发明中的方式,一方面,当外部应用需要调用目标应用时,无需像现有技术那样需要分析目标应用的应用协议并生成与该应用协议相匹配的请求消息,而是可以直接基于服务插件提供的插件接口函数实现对目标应用的调用操作。该插件接口函数可通过通用的协议类型进行编写,且该插件接口函数作为可以直接调用的API接口提供给外部应用,使外部应用无需执行协议分析操作即可利用该API接口快速调用目标应用,从而方便了外部应用访问目标应用。另一方面,当目标应用需要向外部服务器发送请求消息时,该请求消息会被服务插件Hook并转由服务插件内部的插件接口函数处理,从而便于监测目标应用的网络通信状态。例如,可以监测目标应用的流量信息、所访问的外部服务器信息、所发送的请求的类型信息等各类信息,从而获取到与爬虫分析相类似的网络内容。
为了便于理解本发明,下面给出本发明的一个具体应用场景。在该场景中,目标应用的功能包括与外部应用A进行通信,即:目标应用与外部应用A之间能够基于一定的协议进行顺畅通信。而外部应用B由于协议不同等客观原因,则无法直接与外部应用A进行通信,并且,外部应用B也无法直接与目标应用进行通信。但是,在使用本发明提供的方法之后,将目标应用的应用接口函数包裹为可直接调用的插件接口函数,相应地,外部应用B可以直接调用包裹在目标应用外部的插件接口函数,进而通过插件接口函数实现与目标应用的通信,并且还可以进一步通过目标应用实现间接与外部应用A通信的目的。由此可见,在该场景中,本发明中的方式能够为外部应用提供便捷的调用方式,以使外部应用无需分析目标应用的内部协议即可直接基于插件接口函数调用目标应用,为外部应用提供了便利。
在本发明另外的应用场景中,还可以利用服务插件实现对目标应用的网络通信请求的监控,以分析其网络行为,并且可以对其网络行为进行限定,例如,可以拦截针对指定服务器的请求,从而限制目标应用的部分功能。
综上可知,本发明将服务插件植入到要分析的目标应用内部,然后由服务插件对外提供服务。这样就可以把要分析的目标应用的某个接口,包裹成一个API,业务线可以直接把包裹后的API当成普通API调用,而无需关心目标应用如何防抓取,从而能够应用于加固后的目标应用中,而不受加固代码的影响,从而拓宽了本发明的应用范围。另外,本发明中的服务插件能够与目标应用进行通信,从而将目标应用的请求以及响应回传给外部服务器,该服务插件相当于一个中间层代理功能,能够对请求进行缓存及转发,并在收到响应后根据缓存的请求标识与响应标识之间的对应关系将响应转发给对应的应用接口。由此可见,本发明提供了一种无需借助爬虫即可分析并控制目标应用的方式,且能够应用于加固后的目标程序中,降低了逆向分析的成本,可以直接调用目标应用内部的协议。
图3示出了本发明又一实施例提供的一种应用控制装置的装置结构图。如图3所示,本装置包括:
加载模块31,适于将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
封装模块32,适于将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
控制模块33,适于通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
可选地,所述封装模块32具体适于:针对所述目标应用中包含的应用接口函数设置挂钩函数,通过所述挂钩函数将所述应用接口函数封装为与所述服务插件相对应的插件接口函数。
可选地,所述挂钩函数用于在所述应用接口函数被调用时,调用与所述应用接口函数相对应的插件接口函数实现与所述应用接口函数相对应的功能。
可选地,所述挂钩函数进一步用于获取所述应用接口函数中与本次调用相对应的参数信息和/或通信地址信息,并将所述参数信息和/或通信地址信息传递给所述插件接口函数,以供所述插件接口函数根据所述参数信息和/或通信地址信息实现与所述应用接口函数相对应的功能。
可选地,所述应用接口函数包括:用于与外部应用相互通信的应用通信函数,且所述应用通信函数包括应用发送函数和/或应用接收函数;
则所述插件接口函数包括:与所述应用通信函数相对应的插件通信函数,且所述插件通信函数包括插件发送函数和/或插件接收函数。
可选地,所述控制操作包括:获取并分析所述目标应用所对应的网络通信信息。
可选地,所述服务插件包括:Xposed插件。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用控制方法。
图4示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述应用控制方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述方法实施例中的各项操作。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用控制装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1.一种应用控制方法,包括:
将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
A2.根据A1所述的方法,其中,所述将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数包括:
针对所述目标应用中包含的应用接口函数设置挂钩函数,通过所述挂钩函数将所述应用接口函数封装为与所述服务插件相对应的插件接口函数。
A3.根据A2所述的方法,其中,所述挂钩函数用于在所述应用接口函数被调用时,调用与所述应用接口函数相对应的插件接口函数实现与所述应用接口函数相对应的功能。
A4.根据A3所述的方法,其中,所述挂钩函数进一步用于获取所述应用接口函数中与本次调用相对应的参数信息和/或通信地址信息,并将所述参数信息和/或通信地址信息传递给所述插件接口函数,以供所述插件接口函数根据所述参数信息和/或通信地址信息实现与所述应用接口函数相对应的功能。
A5.根据A1-4任一所述的方法,其中,所述应用接口函数包括:用于与外部应用相互通信的应用通信函数,且所述应用通信函数包括应用发送函数和/或应用接收函数;
则所述插件接口函数包括:与所述应用通信函数相对应的插件通信函数,且所述插件通信函数包括插件发送函数和/或插件接收函数。
A6.根据A1-5任一所述的方法,其中,所述控制操作包括:获取并分析所述目标应用所对应的网络通信信息。
A7.根据A1-6任一所述的方法,其中,所述服务插件包括:Xposed插件。
B8.一种应用控制装置,包括:
加载模块,适于将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
封装模块,适于将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
控制模块,适于通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
B9.根据B8所述的装置,其中,所述封装模块具体适于:针对所述目标应用中包含的应用接口函数设置挂钩函数,通过所述挂钩函数将所述应用接口函数封装为与所述服务插件相对应的插件接口函数。
B10.根据B9所述的装置,其中,所述挂钩函数用于在所述应用接口函数被调用时,调用与所述应用接口函数相对应的插件接口函数实现与所述应用接口函数相对应的功能。
B11.根据B10所述的装置,其中,所述挂钩函数进一步用于获取所述应用接口函数中与本次调用相对应的参数信息和/或通信地址信息,并将所述参数信息和/或通信地址信息传递给所述插件接口函数,以供所述插件接口函数根据所述参数信息和/或通信地址信息实现与所述应用接口函数相对应的功能。
B12.根据B8-11任一所述的装置,其中,所述应用接口函数包括:用于与外部应用相互通信的应用通信函数,且所述应用通信函数包括应用发送函数和/或应用接收函数;
则所述插件接口函数包括:与所述应用通信函数相对应的插件通信函数,且所述插件通信函数包括插件发送函数和/或插件接收函数。
B13.根据B8-12任一所述的装置,其中,所述控制操作包括:获取并分析所述目标应用所对应的网络通信信息。
B14.根据B8-13任一所述的装置,其中,所述服务插件包括:Xposed插件。
C15.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-7中任一项所述的应用控制方法对应的操作。
D16.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-7中任一项所述的应用控制方法对应的操作。
Claims (10)
1.一种应用控制方法,包括:
将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
2.根据权利要求1所述的方法,其中,所述将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数包括:
针对所述目标应用中包含的应用接口函数设置挂钩函数,通过所述挂钩函数将所述应用接口函数封装为与所述服务插件相对应的插件接口函数。
3.根据权利要求2所述的方法,其中,所述挂钩函数用于在所述应用接口函数被调用时,调用与所述应用接口函数相对应的插件接口函数实现与所述应用接口函数相对应的功能。
4.根据权利要求3所述的方法,其中,所述挂钩函数进一步用于获取所述应用接口函数中与本次调用相对应的参数信息和/或通信地址信息,并将所述参数信息和/或通信地址信息传递给所述插件接口函数,以供所述插件接口函数根据所述参数信息和/或通信地址信息实现与所述应用接口函数相对应的功能。
5.根据权利要求1-4任一所述的方法,其中,所述应用接口函数包括:用于与外部应用相互通信的应用通信函数,且所述应用通信函数包括应用发送函数和/或应用接收函数;
则所述插件接口函数包括:与所述应用通信函数相对应的插件通信函数,且所述插件通信函数包括插件发送函数和/或插件接收函数。
6.根据权利要求1-5任一所述的方法,其中,所述控制操作包括:获取并分析所述目标应用所对应的网络通信信息。
7.根据权利要求1-6任一所述的方法,其中,所述服务插件包括:Xposed插件。
8.一种应用控制装置,包括:
加载模块,适于将预设的服务插件加载到目标应用中,通过所述服务插件获取所述目标应用中包含的应用接口函数;
封装模块,适于将所述目标应用中包含的应用接口函数封装为与所述服务插件相对应的插件接口函数;
控制模块,适于通过所述插件接口函数与所述目标应用进行通信,以实现对所述目标应用的控制操作。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的应用控制方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的应用控制方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811344104.9A CN109460215B (zh) | 2018-11-13 | 2018-11-13 | 应用控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811344104.9A CN109460215B (zh) | 2018-11-13 | 2018-11-13 | 应用控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460215A true CN109460215A (zh) | 2019-03-12 |
CN109460215B CN109460215B (zh) | 2023-05-26 |
Family
ID=65610214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811344104.9A Active CN109460215B (zh) | 2018-11-13 | 2018-11-13 | 应用控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460215B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760382A (zh) * | 2020-10-15 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种插件启动方法、装置、终端设备及存储介质 |
CN114942796A (zh) * | 2022-05-05 | 2022-08-26 | 北京达佳互联信息技术有限公司 | 插件编译及调用方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464805A (zh) * | 2008-12-24 | 2009-06-24 | 中兴通讯股份有限公司 | 一种插件管理方法及其系统 |
US20120230202A1 (en) * | 2011-03-07 | 2012-09-13 | Oracle International Corporation | Virtual network interface with packet filtering hooks |
CN105718313A (zh) * | 2016-01-22 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 应用操作方法和装置 |
CN105988928A (zh) * | 2015-03-02 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 终端应用的测试方法及移动终端 |
CN106354534A (zh) * | 2016-08-30 | 2017-01-25 | 歌尔科技有限公司 | Android系统下客户端对服务器中应用程序的控制方法 |
-
2018
- 2018-11-13 CN CN201811344104.9A patent/CN109460215B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464805A (zh) * | 2008-12-24 | 2009-06-24 | 中兴通讯股份有限公司 | 一种插件管理方法及其系统 |
US20120230202A1 (en) * | 2011-03-07 | 2012-09-13 | Oracle International Corporation | Virtual network interface with packet filtering hooks |
CN105988928A (zh) * | 2015-03-02 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 终端应用的测试方法及移动终端 |
CN105718313A (zh) * | 2016-01-22 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 应用操作方法和装置 |
CN106354534A (zh) * | 2016-08-30 | 2017-01-25 | 歌尔科技有限公司 | Android系统下客户端对服务器中应用程序的控制方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760382A (zh) * | 2020-10-15 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种插件启动方法、装置、终端设备及存储介质 |
CN113760382B (zh) * | 2020-10-15 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种插件启动方法、装置、终端设备及存储介质 |
CN114942796A (zh) * | 2022-05-05 | 2022-08-26 | 北京达佳互联信息技术有限公司 | 插件编译及调用方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109460215B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933443B (zh) | 进程间通信方法、装置、计算机设备及可读存储介质 | |
CN105574411B (zh) | 一种动态脱壳方法、装置和设备 | |
CN110058864B (zh) | 微服务的部署方法及装置 | |
US9602329B1 (en) | Dynamic remote procedure call | |
CN104468629A (zh) | 一种批量发送消息的方法和装置 | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
CN108769083A (zh) | 基于分布式服务器的登录方法、装置及系统 | |
CN110069259A (zh) | 基于idl文件的解析方法、装置、电子设备和存储介质 | |
CN109460215A (zh) | 应用控制方法及装置 | |
CN108182119B (zh) | 读写分离控制方法和装置、存储介质及电子装置 | |
CN109254765B (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
CN107656742A (zh) | 一种软件产品发布方法和装置 | |
CN110413329A (zh) | Iot设备远程调试方法、装置及系统 | |
CN103532755A (zh) | 分布式异步事件的处理方法及系统 | |
CN111651169B (zh) | 基于web容器的区块链智能合约运行方法及系统 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN107623693A (zh) | 域名解析防护方法及装置、系统、计算设备、存储介质 | |
CN112989335A (zh) | 汽车防护方法、汽车客户端、云服务器及系统 | |
US8250178B2 (en) | Protecting client-side code | |
CN106371809B (zh) | 线程处理器及线程处理方法 | |
CN110609666B (zh) | 打印机配置方法、装置、电子设备及可读存储介质 | |
CN108595656A (zh) | 一种数据的处理方法及系统 | |
CN105577453A (zh) | 一种实现移动端应用测试的系统和方法 | |
CN105656727A (zh) | 一种在移动终端上实现应用测试的方法和装置 | |
CN110022332B (zh) | 一种超文本传输安全协议代理方法、装置、设备及介质 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230512 Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, high tech Zone, Binhai New Area, Tianjin Applicant after: 3600 Technology Group Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right |