CN106021106B - 一种进程控制方法及用户终端 - Google Patents
一种进程控制方法及用户终端 Download PDFInfo
- Publication number
- CN106021106B CN106021106B CN201610334615.7A CN201610334615A CN106021106B CN 106021106 B CN106021106 B CN 106021106B CN 201610334615 A CN201610334615 A CN 201610334615A CN 106021106 B CN106021106 B CN 106021106B
- Authority
- CN
- China
- Prior art keywords
- target process
- debugger
- processing function
- attached
- abnormality processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种进程控制方法及用户终端,包括:用户终端可以先触发目标进程发生异常事件;获取目标进程中与异常事件对应的异常处理函数的调用参数;根据调用参数判断目标进程是否附加有调试器;若根据调用参数判断目标进程附加有调试器,则结束目标进程。在本发明实施例中,由于目标进程被调制器附加后,其对应的异常处理函数的调用参数也会有所变化,则用户终端可以根据异常处理函数的调用参数来确定目标进程是否被调制器附加,并能在判断目标进程附加有调试器,结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种进程控制方法及用户终端。
背景技术
随着互联网技术的快速发展以及用户终端的迅速普及,用户终端的功能日益完善,用户终端在人们的生活中也扮演着不可或缺的角色,例如用户可以利用用户终端进行网上支付或者利用用户终端传输文档等。然而,随之而来的是用户终端的安全问题,目前,越来越多的非法分子尝试用病毒或者木马等恶意软件攻击用户终端。恶意软件之所以能针对性地突破安全软件的各种防御,主要是恶意软件能够深入了解安全软件的代码实现。具体地,恶意软件开发者,使用各种调试器,可以对安全软件的核心代码反汇编,便可以了解安全软件的实现代码,便于恶意软件做针对性的恶意行为,突破安全软件防御。由此可见,如何确定安全软件是否被调试器附加尤为重要。
发明内容
本发明实施例提供了一种进程控制方法及用户终端,能够确定安全软件是否被调试器附加。
第一方面,本发明实施例公开了一种进程控制方法,包括:
触发目标进程发生异常事件;
获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数;
根据所述调用参数判断所述目标进程是否附加有调试器;
若根据所述调用参数判断所述目标进程附加有所述调试器,则结束所述目标进程。
结合第一方面的实现方式,在第一方面的第一种可能的实现方式中,所述调用参数包括调用次数或者调用时间。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,当所述调用参数包括所述调用次数时,所述异常处理函数每调用一次,对应的调用次数增加一次,所述根据所述调用参数判断所述目标进程是否附加有调试器,包括:
判断所述异常处理函数的调用次数是否增加;
若判断所述异常处理函数的调用次数未增加,则确定所述目标进程附加有所述调试器。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还可以包括以下步骤:
若判断所述异常处理函数的调用次数增加,则确定所述目标进程未附加所述调试器。
结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,当所述调用参数包括所述调用时间,所述获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数,包括:
获取所述目标进程中与所述异常处理函数对应的且距离当前时间最近的调用时间;
其中,所述根据所述调用参数判断所述目标进程是否附加有调试器,包括:
获取所述调用时间与所述当前时间的时间间隔;
检测所述时间间隔是否落在预设的时间范围内;
若检测所述时间间隔落在所述预设的时间范围内,则确定所述目标进程未附加有所述调试器;
若检测所述时间间隔不在所述预设的时间范围内,则确定所述目标进程附加有所述调试器。
第二方面,本发明实施例还公开了一种用户终端,包括:
触发模块,用于触发目标进程发生异常事件;
获取模块,用于获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数;
判断模块,用于根据所述调用参数判断所述目标进程是否附加有调试器;
控制模块,用于若所述判断模块根据所述调用参数判断所述目标进程附加有所述调试器,则结束所述目标进程。
结合第二方面的用户终端,在第二方面的第一种可能的用户终端中,所述调用参数包括调用次数或者调用时间。
结合第二方面的第一种可能的用户终端,在第二方面的第二种可能的用户终端中,当所述调用参数包括所述调用次数时,所述异常处理函数每调用一次,对应的调用次数增加一次,所述判断模块根据所述调用参数判断所述目标进程是否附加有调试器的具体实施方式为所述判断模块判断所述异常处理函数的调用次数是否增加;若所述判断模块判断所述异常处理函数的调用次数未增加,则确定所述目标进程附加有所述调试器。
结合第二方面的第二种可能的用户终端,在第二方面的第三种可能的用户终端中,若所述判断模块判断所述异常处理函数的调用次数增加,则确定所述目标进程附加所述调试器。
结合第二方面的第一种可能的用户终端,在第二方面的第四种可能的用户终端中,当所述调用参数包括所述调用时间,所述获取模块获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数的具体实施方式为所述获取模块获取所述目标进程中与所述异常处理函数对应的且距离当前时间最近的调用时间;
其中,所述判断模块包括:
获取单元,用于获取所述调用时间与所述当前时间的时间间隔;
检测单元,用于检测所述时间间隔是否落在预设的时间范围内;
确定单元,用于若所述检测单元检测所述时间间隔落在所述预设的时间范围内,则确定所述目标进程未附加有所述调试器;若所述检测单元检测所述时间间隔不在所述预设的时间范围内,则确定所述目标进程附加有所述调试器。
本发明实施例中,用户终端可以先触发目标进程发生异常事件;获取目标进程中与异常事件对应的异常处理函数的调用参数;根据调用参数判断目标进程是否附加有调试器;若根据调用参数判断目标进程附加有调试器,则结束目标进程。在本发明实施例中,由于目标进程被调制器附加后,其对应的异常处理函数的调用参数也会有所变化,则用户终端可以根据异常处理函数的调用参数来确定目标进程是否被调制器附加,并能在判断目标进程附加有调试器,结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种进程控制方法的流程示意图;
图2是本发明实施例公开的另一种进程控制方法的流程示意图;
图3是本发明实施例公开的又一种进程控制方法的流程示意图;
图4是本发明实施例公开的一种用户终端的结构示意图;
图5是本发明实施例公开的另一种用户终端的结构示意图;
图6是本发明实施例公开的又一种用户终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施提供了一种进程控制方法及用户终端,在本发明实施例中,由于目标进程被调制器附加后,其对应的异常处理函数的调用参数也会有所变化,则用户终端可以根据异常处理函数的调用参数来确定目标进程是否被调制器附加,并能在判断目标进程附加有调试器,结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。以下分别进行详细描述。
请参阅图1,图1是本发明实施例公开的一种进程控制方法的流程示意图。其中,图1所示的方法可以适用于智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)等用户终端中。如图1所示,该进程控制方法可以包括以下步骤:
101、触发目标进程发生异常事件。
本发明实施例中,目标进程是用户终端中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是用户终端的操作系统结构的基础。在早期面向进程设计的计算机结构中,目标进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,目标进程是线程的容器;程序是指令、数据及其组织形式的描述,目标进程是程序的实体。目标进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。目标进程具有以下主要特性:并发性:可以与其它进程一道在宏观上同时向前推进。动态性:目标进程是执行中的程序。此外目标进程的动态性还体现在如下两个方面:首先,目标进程是动态产生、动态消亡的;其次,在目标进程的生存期内,其状态处于经常性的动态变化之中。独立性:目标进程是调度的基本单位,它可以获得处理机并参与并发执行。交往性:目标进程在运行过程中可能会与其它进程发生直接或间接的相互作用。异步性:每个进程都以其相对独立、不可预知的速度向前推进。结构性:每个进程有一个控制块。
其中,进程和程序的相同点:程序是构成进程的组成部分之一,一个进程存在的目的就是执行其所对应的程序,如果没有程序,进程就失去了其存在的意义。进程与程序的差别:程序是静态的,而进程是动态的;程序可以写在纸上或在某一存储介质上长期保存,而进程具有生存期,创建后存在,撤销后消亡。
本发明实施例中,异常事件可以包括但不限于程序崩溃、数据丢失以及非正常中断等事件中的一种或多种。
其中,触发目标进程发生异常事件可以是用户输入触发指令,以触发目标进程发生异常事件;也可以是用户终端自发触发目标进程发生异常事件,本发明实施例不作限定。
102、获取目标进程中与异常事件对应的异常处理函数的调用参数。
本发明实施例中,在触发目标进程发生异常事件之后,则用户终端可以获取目标进程中与异常事件对应的异常处理函数的调用参数。
其中,调用参数可以包括但不限于调用次数、调用时间以及调用返回符的值中的一种或多种,调用次数主要是用于描述与异常事件对应的异常处理函数在第一预设时间段内的被调用的次数;调用时间是用于描述与异常事件对应的异常处理函数在第二预设时间段内的被调用的时间;调用返回符的值是用于描述异常处理函数是否被调用而返回的值。
其中,第一预设时间段可以是用户根据需要进行设定,也可以是用户终端根据用户的历史设定记录进行设定,还可以是用户终端中系统中默认的,本发明实施例不作限定。
其中,第二预设时间段可以是用户根据需要进行设定,也可以是用户终端根据用户的历史设定记录进行设定,还可以是用户终端中系统默认的,还可以是用户终端根据目标进程整个执行过程所需的总时间长度来设定,本发明实施例不作限定。
103、根据调用参数判断目标进程是否附加有调试器。
本发明实施例中,由于目标进程附加有调试器时,其对应的异常处理函数的调用参数也会有所变化。举例来说,异常处理函数每调用一次,对应的调用次数增加一次。具体地,若当前调用的次数为12次,若再次被调用时,其对应的调用次数则为13次。
举例来说,当调用参数为调用返回符的值时,则根据调用参数判断目标进程是否附加有调试器主要包括检测调用返回符的值是否为预设值,若为预设值,则确定目标进程附加有调试器,否则,该目标进程未附加调试器。具体地,若预设值为0,代表异常处理函数未被调用,则当调用返回符的值为0时,则意味着异常函数未被调用,则可以确定该目标进程附加有调试器。
104、若根据调用参数判断目标进程未附加有调试器,则继续执行上述目标进程。
105、若根据调用参数判断目标进程附加有调试器,则结束目标进程。
本发明实施例中,由于调试器可以深入目标进程环境块,以了解目标进程的实现代码,因此,若根据调用参数判断目标进程附加有调试器,为了防止目标进程的实现代码被恶意窃取,则用户终端可以结束目标进程,以提高目标进程环境块的安全性。
在图1中,详细描述了用户终端可以先触发目标进程发生异常事件;获取目标进程中与异常事件对应的异常处理函数的调用参数;根据调用参数判断目标进程是否附加有调试器;若根据调用参数判断目标进程附加有调试器,则结束目标进程。在本发明实施例中,由于目标进程被调制器附加后,其对应的异常处理函数的调用参数也会有所变化,则用户终端可以根据异常处理函数的调用参数来确定目标进程是否被调制器附加,并能在判断目标进程附加有调试器,结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
请参阅图2,图2是本发明实施例公开的另一种进程控制方法的流程示意图。其中,调用参数包括调用次数,异常处理函数每调用一次,对应的调用次数增加一次。如图2所示,该进程控制方法可以包括以下步骤:
201、触发目标进程发生异常事件。
本发明实施例中,异常事件可以包括但不限于程序崩溃、数据丢失以及非正常中断等事件中的一种或多种。
其中,触发目标进程发生异常事件可以是用户输入触发指令,以触发目标进程发生异常事件;也可以是用户终端自发触发目标进程发生异常事件,本发明实施例不作限定。
202、获取目标进程中与异常事件对应的异常处理函数的调用次数。
本发明实施例中,由于调试器能够了解安全软件内存、线程以及堆栈等各种数据,且调试器也会首先发现程序崩溃或者出现异常等问题。因此,如果目标进程被调试器附加,则不会调用目标进程的异常处理函数来处理异常,而是会进入调试器的异常处理例程。因此,为了检测目标进程是否被调试器附加,则可以获取目标进程对应的异常处理函数的调用次数。
其中,异常处理函数每调用一次,对应的调用次数增加一次。举例来说,若当前调用的次数为12次,若再次被调用时,其对应的调用次数则为13次。
203、判断异常处理函数的调用次数是否增加。
本发明实施例中,在获取目标进程中与异常事件对应的异常处理函数的调用次数之后,则可以判断异常处理函数的调用次数是否增加。由于异常处理函数每调用一次,对应的调用次数增加一次,且目标进程被调试器附加,调试器会在发现程序崩溃或者出现异常等问题时,调试器会首先处理该异常,从而目标进程对应的异常处理函数不会被调用。由此可知,若目标进程被调试器附加时,即使出现程序崩溃等异常事件,目标进程对应的异常处理函数也不会被调用,则对应的异常处理函数的调用次数也不会有所变化。
204、若判断目标进程对应的异常处理函数的调用次数增加,则确定目标进程未附加调试器。
205、若判断异常处理函数的调用次数未增加,确定目标进程附加有调试器,则结束目标进程。
本发明实施例中,若判断目标进程对应的异常处理函数的调用次数未增加,则目标进程附加有调试器,则结束目标进程。
进一步,若判断目标进程对应的异常处理函数的调用次数增加,则确定目标进程未附加调试器,则可以继续执行上述目标进程。
其中,为了防止目标进程的实现代码被恶意窃取,则用户终端可以结束目标进程。
在图2中,详细描述了当与异常事件对应的异常处理函数的调用参数包括调用次数时,用户终端可以判断异常处理函数的调用次数是否增加;若判断异常处理函数的调用次数未增加,则确定目标进程附加有调试器,并结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,且在确定的过程中只需要判断异常处理函数的调用次数是否增加,则无需再获取其他参数,则可以减少在确定过程中判断时间,提高判断效率;并能在确定目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
请参阅图3,图3是本发明实施例公开的又一种进程控制方法的流程示意图。其中,如图3所示,与异常事件对应的异常处理函数的调用参数包括调用时间,该进程控制方法可以包括以下步骤:
301、触发目标进程发生异常事件。
本发明实施例中,异常事件可以包括但不限于程序崩溃、数据丢失以及非正常中断等事件中的一种或多种。
其中,触发目标进程发生异常事件可以是用户输入触发指令,以触发目标进程发生异常事件;也可以是用户终端自发触发目标进程发生异常事件,本发明实施例不作限定。
302、获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间。
本发明实施例中,每一个异常函数被调用时,均有与之对应的调用时间,其中,当触发目标进程发生异常事件之后,则可以获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间。
303、获取调用时间与当前时间的时间间隔。
本发明实施例中,在获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间之后,则可以进一步获取调用时间与当前时间的时间间隔。
304、检测时间间隔是否落在预设的时间范围内。
本发明实施例中,可以在用户终端中预设一个时间范围,也即是一个时间长度阈值,如1秒~2秒,0.1秒到0.2秒,0.01秒到0.02秒等。
其中,该预设的时间范围可以是用户根据需要进行设定,也可以是用户终端根据用户的历史设定记录进行设定,还可以是用户终端根据目标进程的执行整个进程所需时长进行设定,本发明实施例不作限定。
具体地,在获取调用时间与当前时间的时间间隔之后,则用户终端可以检测时间间隔是否落在预设的时间范围内。也即,若检测到上述时间间隔落在预设的时间范围内,则说明此次异常函数的调用是针对触发的异常事件的调用,则说明在发生该异常事件时,该异常函数被调用了,则也可以说明该目标进程未附加调试器。
305、若检测时间间隔落在预设的时间范围内,则确定目标进程未附加有调试器。
306、若检测时间间隔不在预设的时间范围内,则确定目标进程附加有调试器。并结束目标进程。
本发明实施例中,若检测时间间隔落在预设的时间范围内,则确定目标进程未附加有调试器;若检测时间间隔不在预设的时间范围内,则确定目标进程附加有调试器;且为了防止目标进程的实现代码被恶意窃取,则用户终端可以结束目标进程。
在图3中,详细描述了当与异常事件对应的异常处理函数的调用参数包括调用时间时,用户终端可以获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间,并获取调用时间与当前时间的时间间隔,若检测时间间隔落在预设的时间范围内,则确定目标进程未附加有调试器;若检测时间间隔不在预设的时间范围内,则确定目标进程附加有调试器,并结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,且在确定的过程中只需要检测调用时间与当前时间的时间间隔落在预设的时间范围内,无需再获取其他参数,则可以减少在确定过程中判断时间,提高判断效率;并能在确定目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
请参阅图4,图4是本发明实施例公开的一种用户终端的结构示意图,用于执行上述进程控制方法。其中,图4所示的用户终端可以包括但不限于智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)等用户终端。如图4所示,该用户终端可以包括:触发模块401、获取模块402、判断模块403以及控制模块404,其中,
触发模块401,用于触发目标进程发生异常事件。
本发明实施例中,目标进程是用户终端中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是用户终端的操作系统结构的基础。在早期面向进程设计的计算机结构中,目标进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,目标进程是线程的容器;程序是指令、数据及其组织形式的描述,目标进程是程序的实体。目标进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。目标进程具有以下主要特性:并发性:可以与其它进程一道在宏观上同时向前推进。动态性:目标进程是执行中的程序。此外目标进程的动态性还体现在如下两个方面:首先,目标进程是动态产生、动态消亡的;其次,在目标进程的生存期内,其状态处于经常性的动态变化之中。独立性:目标进程是调度的基本单位,它可以获得处理机并参与并发执行。交往性:目标进程在运行过程中可能会与其它进程发生直接或间接的相互作用。异步性:每个进程都以其相对独立、不可预知的速度向前推进。结构性:每个进程有一个控制块。
其中,进程和程序的相同点:程序是构成进程的组成部分之一,一个进程存在的目的就是执行其所对应的程序,如果没有程序,进程就失去了其存在的意义。进程与程序的差别:程序是静态的,而进程是动态的;程序可以写在纸上或在某一存储介质上长期保存,而进程具有生存期,创建后存在,撤销后消亡。
本发明实施例中,异常事件可以包括但不限于程序崩溃、数据丢失以及非正常中断等事件中的一种或多种。
其中,触发目标进程发生异常事件可以是用户输入触发指令,以触发目标进程发生异常事件;也可以是用户终端自发触发目标进程发生异常事件,本发明实施例不作限定。
获取模块402,用于获取目标进程中与异常事件对应的异常处理函数的调用参数。
本发明实施例中,在触发模块401触发目标进程发生异常事件之后,则获取模块402可以获取目标进程中与异常事件对应的异常处理函数的调用参数。
其中,调用参数可以包括但不限于调用次数、调用时间以及调用返回符的值中的一种或多种,调用次数主要是用于描述与异常事件对应的异常处理函数在第一预设时间段内的被调用的次数;调用时间是用于描述与异常事件对应的异常处理函数在第二预设时间段内的被调用的时间;调用返回符的值是用于描述异常处理函数是否被调用而返回的值。
其中,第一预设时间段可以是用户根据需要进行设定,也可以是用户终端根据用户的历史设定记录进行设定,还可以是用户终端中系统中默认的,本发明实施例不作限定。
其中,第二预设时间段可以是用户根据需要进行设定,也可以是用户终端根据用户的历史设定记录进行设定,还可以是用户终端中系统默认的,还可以是用户终端根据目标进程整个执行过程所需的总时间长度来设定,本发明实施例不作限定。
判断模块403,用于根据调用参数判断目标进程是否附加有调试器。
本发明实施例中,由于目标进程附加有调试器时,其对应的异常处理函数的调用参数也会有所变化。举例来说,异常处理函数每调用一次,对应的调用次数增加一次。具体地,若当前调用的次数为12次,若再次被调用时,其对应的调用次数则为13次。
举例来说,当调用参数为调用返回符的值时,则判断模块403根据调用参数判断目标进程是否附加有调试器主要包括检测调用返回符的值是否为预设值,若为预设值,则确定目标进程附加有调试器,否则,该目标进程未附加调试器。具体地,若预设值为0,代表异常处理函数未被调用,则当调用返回符的值为0时,则意味着异常函数未被调用,则可以确定该目标进程附加有调试器。
控制模块404,用于若判断模块403根据调用参数判断目标进程附加有调试器,则结束目标进程。
本发明实施例中,由于调试器可以深入目标进程环境块,以了解目标进程的实现代码,因此,若判断模块403根据调用参数判断目标进程附加有调试器,为了防止目标进程的实现代码被恶意窃取,则控制模块404可以结束目标进程,以提高目标进程环境块的安全性。
在图4中,详细描述了触发模块401可以先触发目标进程发生异常事件;获取模块402获取目标进程中与异常事件对应的异常处理函数的调用参数;判断模块403根据调用参数判断目标进程是否附加有调试器;若判断模块403根据调用参数判断目标进程附加有调试器,则控制模块404可以结束目标进程。在本发明实施例中,由于目标进程被调制器附加后,其对应的异常处理函数的调用参数也会有所变化,则判断模块403可以根据异常处理函数的调用参数来确定目标进程是否被调制器附加,并能在判断模块403判断目标进程附加有调试器,控制模块404控制结束目标进程。由此可见,实施该发明实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
请参阅图5,图5是本发明实施例公开的另一种用户终端的结构示意图,用于执行上述进程控制方法。其中,图5中涉及到的调用参数包括调用次数或者调用时间,且图5是在图4的基础上进一步细化得到,如图5所示,当调用参数包括调用时间,获取模块402获取目标进程中与异常事件对应的异常处理函数的调用参数的具体实施方式为获取模块402获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间。
其中,判断模块403可以进一步细化包括:获取单元4030、检测单元4031以及确定单元4032,其中,
获取单元4030,用于获取调用时间与当前时间的时间间隔。
检测单元4031,用于检测时间间隔是否落在预设的时间范围内。
确定单元4032,用于若检测单元4031检测时间间隔落在预设的时间范围内,则确定目标进程未附加有调试器;若检测单元4031检测时间间隔不在预设的时间范围内,则确定目标进程附加有调试器。
本发明实施例中,当调用参数包括调用次数时,异常处理函数每调用一次,对应的调用次数增加一次,判断模块403根据调用参数判断目标进程是否附加有调试器的具体实施方式为判断模块403判断异常处理函数的调用次数是否增加;若判断模块403判断异常处理函数的调用次数未增加,则确定目标进程附加有调试器。
进一步,若判断模块403判断异常处理函数的调用次数增加,则确定目标进程附加调试器。
通过实施图5所示的实施例能够确定目标进程是否被调试器附加,并能在目标进程附加调试器,结束目标进程,以提高目标进程的安全性。
请参阅图6,图6是本发明实施例公开的又一种用户终端的结构示意图,用以执行上述进程控制方法。其中,该用户终端500可以包括:至少一个处理器501,至少一个输入装置502,至少一个输出装置503,存储器505等组件。其中,这些组件通过一条或多条总线504进行通信连接。本领域技术人员可以理解,图6中示出的用户终端的结构并不构成对本发明实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501为终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器505内的程序和/或模块,以及调用存储在存储器505内的数据,以执行终端的各种功能和处理数据。处理器501可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器501可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是CPU、数字信号处理器(digital signal processor,简称DSP)、图形处理器(Graphic Processing Unit,简称GPU)及各种控制芯片的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
输入装置502可以包括标准的触摸屏、键盘等,也可以包括有线接口、无线接口等。
输出装置503可以包括显示屏、扬声器等,也可以包括有线接口、无线接口等。
存储器505可用于存储软件程序以及模块,处理器501、输入装置502以及输出装置503通过调用存储在存储器505中的软件程序以及模块,从而执行用户终端的各项功能应用以及实现数据处理。存储器505主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等;数据存储区可存储根据终端的使用所创建的数据等。在本发明实施例中,操作系统可以是Android系统、iOS系统或Windows操作系统等等。
具体地,处理器501调用存储在存储器505中的应用程序,用于执行以下操作:
触发目标进程发生异常事件;
获取目标进程中与异常事件对应的异常处理函数的调用参数;
根据调用参数判断目标进程是否附加有调试器;
若根据调用参数判断目标进程附加有调试器,则结束目标进程。
本发明实施例中,调用参数包括调用次数或者调用时间。
本发明实施例中,当调用参数包括调用次数时,异常处理函数每调用一次,对应的调用次数增加一次,处理器501调用存储在存储器505中的应用程序,执行步骤根据调用参数判断目标进程是否附加有调试器,包括:
判断异常处理函数的调用次数是否增加;
若判断异常处理函数的调用次数未增加,则确定目标进程附加有调试器。
进一步,若判断异常处理函数的调用次数增加,则确定目标进程未附加调试器。
本发明实施例中,当调用参数包括调用时间时,处理器501调用存储在存储器505中的应用程序,执行步骤获取目标进程中与异常事件对应的异常处理函数的调用参数,包括:
获取目标进程中与异常处理函数对应的且距离当前时间最近的调用时间;
其中,处理器501调用存储在存储器505中的应用程序,执行步骤根据调用参数判断目标进程是否附加有调试器,包括:
获取调用时间与当前时间的时间间隔;
检测时间间隔是否落在预设的时间范围内;
若检测时间间隔落在预设的时间范围内,则确定目标进程未附加有调试器;
若检测时间间隔不在预设的时间范围内,则确定目标进程附加有调试器。
具体的,本发明实施例中介绍的用户终端可以实施本发明结合图1、图2或图3介绍的进程控制方法实施例中的部分或全部流程。
本发明所有实施例中的模块或子模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例用户终端中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种进程控制方法,其特征在于,包括:
用户终端自发触发目标进程发生异常事件;
获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数;
根据所述调用参数判断所述目标进程是否附加有调试器;
若根据所述调用参数判断所述目标进程附加有所述调试器,则结束所述目标进程;
若根据所述调用参数判断所述目标进程未附加有调试器,则继续执行所述目标进程。
2.根据权利要求1所述的方法,其特征在于,所述调用参数包括调用次数或者调用时间。
3.根据权利要求2所述的方法,其特征在于,当所述调用参数包括所述调用次数时,所述异常处理函数每调用一次,对应的调用次数增加一次,所述根据所述调用参数判断所述目标进程是否附加有调试器,包括:
判断所述异常处理函数的调用次数是否增加;
若判断所述异常处理函数的调用次数未增加,则确定所述目标进程附加有所述调试器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若判断所述异常处理函数的调用次数增加,则确定所述目标进程未附加所述调试器。
5.根据权利要求2所述的方法,其特征在于,当所述调用参数包括所述调用时间,所述获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数,包括:
获取所述目标进程中与所述异常处理函数对应的且距离当前时间最近的调用时间;
其中,所述根据所述调用参数判断所述目标进程是否附加有调试器,包括:
获取所述调用时间与所述当前时间的时间间隔;
检测所述时间间隔是否落在预设的时间范围内;
若检测所述时间间隔落在所述预设的时间范围内,则确定所述目标进程未附加有所述调试器;
若检测所述时间间隔不在所述预设的时间范围内,则确定所述目标进程附加有所述调试器。
6.一种用户终端,其特征在于,所述用户终端包括:
触发模块,用于所述用户终端自发触发目标进程发生异常事件;
获取模块,用于获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数;
判断模块,用于根据所述调用参数判断所述目标进程是否附加有调试器;
控制模块,用于若所述判断模块根据所述调用参数判断所述目标进程附加有所述调试器,则结束所述目标进程;若根据所述调用参数判断所述目标进程未附加有调试器,则继续执行所述目标进程。
7.根据权利要求6所述的用户终端,其特征在于,所述调用参数包括调用次数或者调用时间。
8.根据权利要求7所述的用户终端,其特征在于,当所述调用参数包括所述调用次数时,所述异常处理函数每调用一次,对应的调用次数增加一次,所述判断模块根据所述调用参数判断所述目标进程是否附加有调试器的具体实施方式为所述判断模块判断所述异常处理函数的调用次数是否增加;若所述判断模块判断所述异常处理函数的调用次数未增加,则确定所述目标进程附加有所述调试器。
9.根据权利要求8所述的用户终端,其特征在于,
若所述判断模块判断所述异常处理函数的调用次数增加,则确定所述目标进程附加所述调试器。
10.根据权利要求7所述的用户终端,其特征在于,当所述调用参数包括所述调用时间,所述获取模块获取所述目标进程中与所述异常事件对应的异常处理函数的调用参数的具体实施方式为所述获取模块获取所述目标进程中与所述异常处理函数对应的且距离当前时间最近的调用时间;
其中,所述判断模块包括:
获取单元,用于获取所述调用时间与所述当前时间的时间间隔;
检测单元,用于检测所述时间间隔是否落在预设的时间范围内;
确定单元,用于若所述检测单元检测所述时间间隔落在所述预设的时间范围内,则确定所述目标进程未附加有所述调试器;若所述检测单元检测所述时间间隔不在所述预设的时间范围内,则确定所述目标进程附加有所述调试器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610334615.7A CN106021106B (zh) | 2016-05-19 | 2016-05-19 | 一种进程控制方法及用户终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610334615.7A CN106021106B (zh) | 2016-05-19 | 2016-05-19 | 一种进程控制方法及用户终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106021106A CN106021106A (zh) | 2016-10-12 |
CN106021106B true CN106021106B (zh) | 2019-05-28 |
Family
ID=57096263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610334615.7A Active CN106021106B (zh) | 2016-05-19 | 2016-05-19 | 一种进程控制方法及用户终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021106B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977633B (zh) * | 2019-03-28 | 2023-04-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种程序保护方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508769A (zh) * | 2011-10-11 | 2012-06-20 | 北京锐安科技有限公司 | 一种基于核心注入式调试器的被调试程序调试方法 |
CN103116715A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | Windows平台可执行文件API延迟导入保护方法 |
CN103116714A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | 一种Windows平台可执行文件双进程保护方法 |
CN103164643A (zh) * | 2011-12-08 | 2013-06-19 | 北京深思洛克软件技术股份有限公司 | 一种通过硬件进行反调试的方法和装置 |
CN104504312A (zh) * | 2014-12-23 | 2015-04-08 | 北京深思数盾科技有限公司 | 软件反调试保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101519845B1 (ko) * | 2013-11-14 | 2015-05-13 | (주)잉카엔트웍스 | 안티디버깅 방법 |
-
2016
- 2016-05-19 CN CN201610334615.7A patent/CN106021106B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508769A (zh) * | 2011-10-11 | 2012-06-20 | 北京锐安科技有限公司 | 一种基于核心注入式调试器的被调试程序调试方法 |
CN103164643A (zh) * | 2011-12-08 | 2013-06-19 | 北京深思洛克软件技术股份有限公司 | 一种通过硬件进行反调试的方法和装置 |
CN103116715A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | Windows平台可执行文件API延迟导入保护方法 |
CN103116714A (zh) * | 2013-03-01 | 2013-05-22 | 中标软件有限公司 | 一种Windows平台可执行文件双进程保护方法 |
CN104504312A (zh) * | 2014-12-23 | 2015-04-08 | 北京深思数盾科技有限公司 | 软件反调试保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106021106A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9459992B2 (en) | System and method of debugging multi-threaded processes | |
US20180173618A1 (en) | Test method, system, and device, and readable storage medium | |
CN106951335B (zh) | 一种进程守护方法和移动终端 | |
EP2426618B1 (en) | Information device, program, method for preventing execution of unauthorized program code, and computer readable recording medium | |
CN106681811A (zh) | 基于线程池的多线程调度方法及装置 | |
DK2840496T3 (en) | PROCEDURE, SYSTEM AND EXECUTABLE CODE TO MANAGE THE USE OF HARDWARE RESOURCES OF A COMPUTER SYSTEM | |
CN105224216B (zh) | 一种用户终端控制方法及用户终端 | |
CN106355059A (zh) | 一种密码输入方法及终端 | |
CN105512562B (zh) | 一种漏洞挖掘方法、装置及电子设备 | |
CN111988302A (zh) | 一种检测反弹程序的方法、系统、终端及存储介质 | |
CN105404559A (zh) | 在数据处理装置中进行除错 | |
CN106021106B (zh) | 一种进程控制方法及用户终端 | |
CN104063288A (zh) | 进程管理方法及装置 | |
CN109977633A (zh) | 一种程序保护方法及相关装置 | |
CN106482742A (zh) | 计步数据的获取方法及装置 | |
CN109451485A (zh) | 模式设置方法、信息写入方法、装置、终端及存储介质 | |
CN111639312B (zh) | 反调试方法、装置、存储介质及电子装置 | |
CN103853573B (zh) | 一种信息处理方法及电子设备 | |
CN108334351A (zh) | 一种修改启动顺序的方法及装置 | |
CN108415822B (zh) | 一种随机测试方法和装置 | |
CN106407016A (zh) | 一种多线程争抢资源的模拟方法及装置 | |
CN109117631A (zh) | 一种程序退出的方法及相关设备 | |
CN105159666B (zh) | 一种解锁方法及终端 | |
CN106022149B (zh) | 一种进程控制方法及用户终端 | |
CN105573647B (zh) | 一种多媒体内容处理方法及用户终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181203 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |