一种应用程序的信号处理方法、系统及终端设备技术方案

技术编号:15910677 阅读:21 留言:0更新日期:2017-08-01 22:26
本发明专利技术实施例公开了应用程序的信号处理方法,系统及终端设备,应用于信息处理技术领域。在本实施例的方法中,当终端设备中的应用模块调用系统模块的钩子函数发生异常时,由系统模块通知信号处理模块获取应用模块发生异常的相关信息并发送给数据分析系统进行分析得到黑名单。这样可以通过该黑名单控制终端设备的应用模块是否需要调用钩子函数,如果在某种类型的终端设备上的某应用模块调用某些钩子函数时容易发生异常时,即可通过黑名单控制这种类型的终端设备上的该应用模块不调用这些钩子函数,从而避免了应用模块发生异常。可见,本实施例的方法可以兼容多种终端设备和应用模块,从根本上保证了应用模块调用钩子函数的稳定性。

Signal processing method, system and terminal device for application program

The embodiment of the invention discloses a signal processing method, a system and a terminal device of an application program, and is applied to the field of information processing technology. In the method of this embodiment, the hook function module when the application module call system in the terminal equipment of the abnormal, the system module informs the signal processing module to obtain the relevant information of the abnormal application module and send data analysis system to get blacklist. Whether this application module can control the terminal equipment through the blacklist call hook function, if the call is a module in the terminal equipment of a certain type of hook function to some abnormal, can be through the terminal blacklist of this type of control is the preparation of the application module call the hook function, so as to avoid the application module is abnormal. Therefore, the method of the embodiment can be compatible with a plurality of terminal equipment and an application module, and fundamentally ensures the stability of the calling function of the application module.

【技术实现步骤摘要】
一种应用程序的信号处理方法、系统及终端设备
本专利技术涉及信息处理
,特别涉及一种应用程序的信号处理方法、系统及终端设备。
技术介绍
现在有些终端设备的应用模块(即应用程序)在运行的过程中,可以调用终端设备的系统模块的某些函数以实现某些特殊功能,这些函数即为钩子(hook)函数,同时,可以通过应用模块调用钩子函数的过程,监控应用模块相关的性能。比如,可以通过应用模块调用终端设备的系统模块的输入输出(input/output,IO)函数,监控应用模块的IO性能。为了实现应用模块调用hook函数,一般可以采用将hook函数的地址信息添加到应用模块的全局偏移量表(GlobalOffsetTable,GOT)中等方式来实现。现有的通过修改GOT表的方式可以避免和终端设备的硬件平台相关,具有一定的稳定性,但是这种方式应用的场景有限,不适用某些hook函数的调用,比如,通过应用模块调用连接(connect)函数,只能监控应用模块通过java层访问网络的请求,而不能监控应用模块通过java本地调用(JavaNativeInterface,JNI)方式调用底层的套接字(socket)访问网络的请求。这种情况下,就需要采用InlineHook的方式来实现,具体地,应用模块需要修改hook函数的指令头以跳转到hook函数,而由于各个厂商的终端设备的繁杂不一且硬件处理方式不一样,采用InlineHook的方式很难达到很高的稳定性。这样,如何兼容多种终端设备,保证终端设备采用InlineHook的方式调用hook函数这个过程的稳定性,成为一个比较重要的问题。
技术实现思路
本专利技术实施例提供一种应用程序的信号处理方法、系统及终端设备,实现了在应用模块调用钩子函数异常时,由信号处理模块将应用模块发生异常的相关信息发送给数据分析系统进行分析。本专利技术实施例第一方面提供一种应用程序的信号处理方法,应用于包括应用模块,信号处理模块和系统模块的终端设备中,所述方法包括:当所述应用模块在调用所述系统模块的钩子函数异常时,向所述系统模块发出第一信号;如果所述第一信号属于预置的信号集,所述系统模块通知所述信号处理模块获取所述应用模块发生异常的相关信息;所述信号处理模块将所述相关信息发送给数据分析系统,以便所述数据分析系统根据所述相关信息确定黑名单,所述黑名单包括在终端设备中应用模块不调用钩子函数的信息。本专利技术实施例第二方面提供一种应用程序的信号处理方法,包括:接收多个终端设备发送的应用模块调用系统模块的钩子函数异常时的相关信息,所述相关信息包括:相应终端设备所包括的应用模块的名称和版本信息,终端设备的型号和钩子函数的名称;统计相匹配的多组相关信息的接收次数;如果所述接收次数大于预置的值,将所述多组相关信息中应用模块的名称和版本信息,终端设备的型号及钩子函数的名称储存为黑名单的一个信息组。本专利技术实施例第三方面提供一种终端设备,包括:系统模块,至少一个应用模块,和信号处理模块,其中,所述应用模块包括钩子单元和信号发出单元,其中:所述钩子单元,用于调用所述系统模块的钩子函数;所述信号发出单元,用于当所述钩子单元在调用所述系统模块的钩子函数异常时,向所述系统模块发出第一信号;所述系统模块,用于如果所述第一信号属于预置的信号集,通知所述信号处理模块获取所述应用模块发生异常的相关信息;所述信号处理模块,用于获取所述应用模块发生异常的相关信息,将所述相关信息发送给数据分析系统,以便所述数据分析系统根据所述相关信息确定黑名单,所述黑名单包括在终端设备中应用模块不调用钩子函数的信息。本专利技术实施例第四方面提供一种数据分析系统,包括:信息接收单元,用于接收多个终端设备发送的应用模块调用系统模块的钩子函数异常时的相关信息,所述相关信息包括:相应终端设备所包括的应用模块的名称和版本信息,终端设备的型号和钩子函数的名称;统计单元,用于统计相匹配的多组相关信息的接收次数;黑名单储存单元,用于如果所述接收次数大于预置的值,将所述多组相关信息中应用模块的名称和版本信息,终端设备的型号及钩子函数的名称储存为黑名单的一个信息组。可见,在本实施例的方法中,当终端设备中的应用模块调用系统模块的钩子函数发生异常时,由系统模块通知信号处理模块获取应用模块发生异常的相关信息并发送给数据分析系统进行分析得到黑名单。这样可以通过该黑名单控制终端设备的应用模块是否需要调用钩子函数,如果在某种类型的终端设备上的某应用模块调用某些钩子函数时容易发生异常时,即可通过黑名单控制这种类型的终端设备上的该应用模块不调用这些钩子函数,从而避免了应用模块发生异常。可见,本实施例的方法可以兼容多种终端设备和应用模块,从根本上保证了应用模块调用钩子函数的稳定性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种应用程序的信号处理方法所应用的场景的示意图;图2是本专利技术一个实施例提供的一种应用程序的信号处理方法的流程图;图3是本专利技术一个实施例提供的另一种应用程序的信号处理方法的流程图;图4是本专利技术一个实施例提供的另一种应用程序的信号处理方法的流程图;图5是本专利技术另一个实施例提供的一种应用程序的信号处理方法的流程图;图6是本专利技术应用实施例中提供的一种应用程序的信号处理方法所应用的场景的示意图;图7是本专利技术应用实施例提供的一种应用程序的信号处理方法的流程图;图8是本专利技术实施例提供的一种终端设备的结构示意图;图9是本专利技术实施例提供的另一种终端设备的结构示意图;图10是本专利技术实施例提供的一种数据分析系统的结构示意图;图11是本专利技术实施例提供的另一种终端设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术提供一种应用程序的信号处理方法,主要应用于如图1所示的场景中,具体包括终端设备和数据分析系统,其中,终端设备包括:系统模块,至少一个应用模块和信号处理模块(图1中以一个为例说明)。其中,应用模块即为终端设备中的应用程序;系统模块为维持终端设备的基本运作的模块,比如系统模块可以控制终端设备的显示屏的显示等,系统模块也可以控制应用本文档来自技高网...
一种应用程序的信号处理方法、系统及终端设备

【技术保护点】
一种应用程序的信号处理方法,其特征在于,应用于包括应用模块,信号处理模块和系统模块的终端设备中,所述方法包括:当所述应用模块在调用所述系统模块的钩子函数异常时,向所述系统模块发出第一信号;如果所述第一信号属于预置的信号集,所述系统模块通知所述信号处理模块获取所述应用模块发生异常的相关信息;所述信号处理模块将所述相关信息发送给数据分析系统,以便所述数据分析系统根据所述相关信息确定黑名单,所述黑名单包括在终端设备中应用模块不调用钩子函数的信息。

【技术特征摘要】
1.一种应用程序的信号处理方法,其特征在于,应用于包括应用模块,信号处理模块和系统模块的终端设备中,所述方法包括:当所述应用模块在调用所述系统模块的钩子函数异常时,向所述系统模块发出第一信号;如果所述第一信号属于预置的信号集,所述系统模块通知所述信号处理模块获取所述应用模块发生异常的相关信息;所述信号处理模块将所述相关信息发送给数据分析系统,以便所述数据分析系统根据所述相关信息确定黑名单,所述黑名单包括在终端设备中应用模块不调用钩子函数的信息。2.如权利要求1所述的方法,其特征在于,所述方法还包括:在所述应用模块调用钩子函数之前,所述应用模块储存所述应用模块运行的上下文;所述信号处理模块将所述相关信息发送给数据分析系统之后,所述方法还包括:所述应用模块运行所述储存的上下文。3.如权利要求2所述的方法,其特征在于,所述应用模块储存所述应用模块运行的上下文,具体包括:所述应用模块调用信号固定跳转Sigsetjmp函数,将所述应用模块运行的上下文储存到跳转缓存中;所述信号处理模块将所述相关信息发送给数据分析系统之后,所述应用模块运行所述储存的上下文,具体包括:所述信号处理模块在将所述相关信息发送给数据分析系统后,调用信号长跳转Siglongjmp函数以跳转到所述应用模块,所述应用模块运行所述跳转缓存中储存的上下文。4.如权利要求1所述的方法,其特征在于,所述应用模块在调用钩子函数之前,所述方法还包括:所述应用模块获取所述数据分析系统确定的黑名单,所述黑名单中包括多个信息组,其中,每个信息组包括:应用模块的名称和版本信息,终端设备的型号,及钩子函数的名称;所述应用模块确定当前的应用模块,终端设备及钩子函数的信息是否命中所述黑名单,如果未命中,所述应用模块调用所述系统模块的钩子函数;如果命中,所述应用模块执行非调用所述钩子函数的操作。5.如权利要求4所述的方法,其特征在于,所述方法还包括:所述应用模块在启动时,修改所述钩子函数的指令头;则所述应用模块执行非调用所述钩子函数的操作,具体包括:还原所述钩子函数的指令头。6.如权利要求1至5任一项所述的方法,其特征在于,所述应用模块向所述系统模块发出第一信号之前,所述方法还包括:所述应用模块在启动时,向所述系统模块注册所述预置的信号集,所述信号集中包括的信号为所述应用模块在调用所述系统模块的钩子函数异常时发出的信号。7.如权利要求1至5任一项所述的方法,其特征在于,所述应用模块向所述系统模块发出第一信号之前,所述方法还包括:所述应用模块在启动时,向所述系统模块注册所述信号处理模块运行的地址信息;所述系统模块通知所述信号处理模块获取所述应用模块发生异常的相关信息,具体包括:所述系统模块根据所述信号处理模块运行的地址信息,通知所述信号处理模块获取所述应用模块发生异常的相关信息。8.一种应用程序的信号处理方法,其特征在于,所述方法包括:接收多个终端设备发送的应用模块调用系统模块的钩子函数异常时的相关信息,所述相关信息包括:相应终端设备所包括的应用模块...

【专利技术属性】
技术研发人员:黄天琳谭力
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1