一种进程信息获取方法、装置及电子设备的制造方法

文档序号:10489275阅读:140来源:国知局
一种进程信息获取方法、装置及电子设备的制造方法
【专利摘要】本发明实施例提供了一种进程信息获取方法、装置及电子设备,包括:获取目标进程的进程标识信息,判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息,如果存在,获得所述目标进程的进程标识信息对应的进程信息。在本发明实施例中,在本地保存进程信息及进程标识信息的对应关系,通过在本地查找目标进程的进程标识信息的方式,获得目标进程的进程信息,无需调用相应的函数来获取进程信息,由于查找的过程消耗时间较少,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题。
【专利说明】
_种进程信息获取方法、装置及电子设备
技术领域
[0001]本发明涉及系统安全技术领域,特别是涉及一种进程信息获取方法、装置及电子设备。
【背景技术】
[0002]在电子设备的防御系统中,可以分为进程防御、文件防御和注册表防御,每个防御点又可细分为打开防御细节点、读防御细节点和写防御细节点等。例如:进程的打开防御细节点、文件的读写防御细节点和注册表的读写防御细节点。在每一个防御细节点上,都需要获取当前进程的进程信息这个关键数据来进行安全上的判别。例如:在注册表的写的防御细节点上,获取正在操作该注册表的进程信息,由此可知是哪一个进程对这个注册表进行写操作,在获取当前操作进程表的进程信息后,方便后台查杀及系统对这个写的行为做安全性鉴定,也用于后续对这个写的行为做拦截。因此,获取进程信息至关重要。
[0003]通常在I秒的时间内,系统中对进程、文件和注册表等进行的操作不少于I千次,所以防御细节点是每时每刻都在进行的,同样也会每时每刻获取当前操作的进程信息。现有技术中,每一次获取进程信息都需通过调用相应的函数来获取进程信息,由于系统每时每刻都需要获取当前操作的进程信息,因此,使用该方法频繁获取进程信息是相当耗时的,且易造成系统卡慢的现象。

【发明内容】

[0004]本发明实施例的目的在于提供一种进程信息获取方法、装置及电子设备,以解决频繁获取进程信息耗时长、且导致系统卡慢的问题。具体技术方案如下:
[0005]—种进程信息获取方法,应用于电子设备,所述方法包括:
[000?]获取目标进程的进程标识彳目息;
[0007]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0008]如果存在,获得所述目标进程的进程标识信息对应的进程信息。
[0009]可选的,所述方法还包括:
[0010]如果不存在,调用进程信息获取函数获得所述目标进程的进程信息。
[0011 ]可选的,所述方法还包括:
[0012]在本地针对获取的所述目标进程的进程?目息保存其对应的进程标识?目息。
[0013]可选的,所述进程信息包括:
[0014]进程完整路径、进程命令彳丁、父进程标识彳目息和父进程完整路径。
[0015]可选的,本地哈希表中的每个节点对应一个进程,每个节点的key值为进程标识信息,每个节点的value值为进程信息,所述判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息,包括:
[0016]判断所述本地哈希表中每个节点key值中是否存在所述目标进程的进程标识信息。
[0017]可选的,所述获取目标进程的进程标识信息,包括:
[0018]调用内核函数获取目标进程的进程标识信息。
[0019]—种进程信息获取装置,应用于电子设备,所述装置包括:
[0020]获取模块,用于获取目标进程的进程标识信息;
[0021 ]判断模块,用于判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识?目息;
[0022]第一获得模块,用于在所述判断模块判断本地保存的进程信息对应的进程标识信息中存在所述目标进程的进程标识信息时,获得所述目标进程的进程标识信息对应的进程
?目息O
[0023]可选的,所述装置还包括:
[0024]第二获得模块,用于在所述判断模块判断本地保存的进程信息对应的进程标识信息中不存在所述目标进程的进程标识信息时,调用进程信息获取函数获得所述目标进程的进程?目息O
[0025]可选的,所述装置还包括:
[0026]保存模块,用于在本地针对获取的所述目标进程的进程信息保存其对应的进程标识信息。
[0027]可选的,所述进程信息包括:
[0028]进程完整路径、进程命令行、父进程标识信息和父进程完整路径。
[0029]可选的,所述判断模块,具体用于:
[0030]判断所述本地哈希表中每个节点key值中是否存在所述目标进程的进程标识信息,其中,本地哈希表中的每个节点对应一个进程,每个节点的key值为进程标识信息,每个节点的value值为进程信息。
[0031]可选的,所述获取模块,具体用于:
[0032]调用内核函数获取目标进程的进程标识信息。
[0033]一种电子设备,所述电子设备包括:
[0034]壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0035]获取目标进程的进程标识信息;
[0036]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0037]如果存在,获得所述目标进程的进程标识彳g息对应的进程彳g息。
[0038]为达到上述目的,本申请实施例还提供了一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本申请所述的一种进程信息获取方法。其中,本申请所述的一种进程信息获取方法,应用于电子设备,该方法包括:
[0039]获取目标进程的进程标识信息;
[0040]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0041 ]如果存在,获得所述目标进程的进程标识ig息对应的进程ig息。
[0042]为达到上述目的,本申请实施例还提供了一种应用程序,其中,该应用程序用于在运行时执行本申请所述的一种进程信息获取方法。其中,本申请所述的一种进程信息获取方法,应用于电子设备,该方法包括:
[0043]获取目标进程的进程标识信息;
[0044]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0045]如果存在,获得所述目标进程的进程标识ig息对应的进程ig息。
[0046]在本发明实施例中,在本地保存进程信息及进程标识信息的对应关系,通过在本地查找目标进程的进程标识信息的方式,获得目标进程的进程信息,无需调用相应的函数来获取进程信息,由于查找的过程消耗时间较少,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【附图说明】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1为本发明实施例提供的一种进程信息获取方法的流程示意图;
[0049]图2为本发明实施例提供的一种哈希表原理图;
[0050]图3为本发明实施例提供的一种用于进程信息保存的哈希表示意图;
[0051 ]图4为本发明实施例提供的一种进程信息获取方法的另一流程示意图;
[0052]图5为本发明实施例提供的一种进程信息获取方法的另一流程示意图;
[0053]图6为本发明实施例提供的一种进程信息获取装置的结构示意图;
[0054]图7为本发明实施例提供的一种进程信息获取装置的另一结构示意图;
[0055]图8为本发明实施例提供的一种进程信息获取装置的另一结构示意图;
[0056]图9为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
[0057]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]为了解决现有技术问题,本发明实施例提供了一种进程信息获取方法、装置及电子设备。
[0059]下面首先对本发明实施例所提供的一种进程信息获取方法进行介绍。
[0060]需要说明的是,本发明实施例所提供的一种进程信息获取方法应用于电子设备。在实际应用中,该电子设备可以为手机、平板电脑、台式机和笔记本电脑等,这都是合理的。
[0061]另外,实现本发明实施例所提供的一种进程信息获取方法的功能软件可以为独立的用于实现进程信息获取的客户端软件。
[0062]如图1所示,本发明实施例提供的一种进程信息获取方法,应用于电子设备,可以包括:
[0063]SlOl:获取目标进程的进程标识信息。
[0064]其中,目标进程为当前正在运行的进程,例如:A进程正在写文件,则A进程为目标进程。进程标识信息为进程的身份标识,举例而言,可以为进程PID,当然并不局限于此,当一个程序运行时,系统就会自动分配给该程序的进程一个独一无二的PID,进程终止后,该PID将被系统收回,可能会被继续分配给新运行的程序,通过进程的标识信息可以识别出对应的进程。
[0065]在目标进程运行时,由内核函数PsGetCurrentProcessId获得目标进程的进程标识信息,以便进行后续步骤。
[0066]S102:判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识?目息,如果是,执彳丁步骤SI 03。
[0067]在本地保存有进程彳目息及进程标识彳目息的对应关系,当获得目标进程的进程标识?目息后,判断本地保存的进程?目息对应的进程标识?目息中是否存在该目标进程的进程标识信息,并根据判断结果,执行不同的操作。
[0068]其中,针对每个进程,可以通过调用进程信息获取函数的方式获得进程的进程信息,当该进程运行时,确定该进程的标识信息,将该进程信息及该进程标识信息保存到本地;针对每个进程,还可以通过其他可执行方式获取进程信息,当该进程运行时,确定该进程的标识信息,将该进程信息及该进程标识信息保存到本地,这都是合理的。
[0069]S103:获得所述目标进程的进程标识信息对应的进程信息。
[0070]当判断结果为本地保存的进程信息对应的进程标识信息中存在该目标进程的进程标识?目息时,获得在本地保存的该目标进程的进程标识?目息对应的进程?目息。
[0071]与现有技术相比,在本发明实施例中,在本地保存进程信息及进程标识信息的对应关系,通过在本地查找目标进程的进程标识信息的方式,获得目标进程的进程信息,无需调用相应的函数来获取进程信息,由于查找的过程消耗时间较少,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题。
[0072]具体的,所述进程信息可以包括:
[0073 ] 进程完整路径、进程命令行、父进程标识信息和父进程完整路径。
[0074]其中,进程完整路径为进程的全路径;进程命令行为一个参数,用于执行相应的命令;父进程为已创建一个或多个子进程的进程,此处父进程为目标进程的父进程,父进程标识信息为父进程的身份标识,可以为父进程PID;父进程完整路径为父进程的全路径。
[0(175] 获得正在运彳丁的进程的进程完整路径、进程命令彳丁、父进程标识彳目息和父进程完整路径,系统即可对进程进行的行为做安全性鉴定,也可对这个行为做拦截。
[0076]具体的,本地保存的进程信息对应的进程标识信息可以存放在本地哈希表中。本地哈希表中的每个节点对应一个进程,每个节点的k e y值为进程标识信息,每个节点的value值为进程信息,所述判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息,可以包括:
[0077]判断所述本地哈希表中每个节点key值中是否存在所述目标进程的进程标识信息。
[0078]其中,哈希表HASHMAP的原理为映射,HASHMAP中每个节点包含一个key值和一个va Iue值,一个key值对应一个va Iue值,多个节点按数组的形式保存,如图2所示。
[0079]可以理解的是,可以将HASHMAP运用在进程信息的保存上如图3所示,当进程标识信息为进程PID时,本地HASHMAP中的每个节点对应一个进程,每个节点的key值为进程标识信息,每个节点的value值为进程信息,由于系统上的进程一般不会超过200个,各个进程的PID值是不会重复的,所以使用HASHMAP来保存、查找和添加数据都很高效。由此,通过进程PID就可以找到该进程PID对应的进程信息。
[0080]根据目标进程的进程PID,循环匹配本地HASHMAP中的每一个节点的PID是否与该目标进程的进程PID相同,如果相同,即已找到与该目标进程的进程PID相同的节点,返回该节点的value值,获得该目标进程的进程彳g息。
[0081]当正在运行的进程释放后,在本地哈希表中,删除该已释放的进程对应的节点,以更新本地哈希表。
[0082]具体的,所述获取目标进程的进程标识信息,可以包括:
[0083]调用内核函数获取目标进程的进程标识信息。
[0084]为了获取目标进程的进程标识信息,需要调用内核函数PsGetCurrentProcessId来获取当前正在运行的目标进程的进程标识信息。
[0085]进一步的,在图1所示实施例的基础上,如图4所示,本发明实施例提供的一种进程信息获取方法,应用于电子设备,还可以包括:
[0086]S104:调用进程信息获取函数获得所述目标进程的进程信息。
[0087]其中,在步骤S102的判断结果为否时,执行步骤S104。
[0088]当进程标识信息为进程PID时,根据目标进程的进程PID,循环匹配本地HASHMAP中的每一个节点的PID是否与该目标进程的进程PID相同,如果相同,即已找到与该目标进程的进程PID相同的节点,返回该节点的value值,获得该目标进程的进程信息。
[0089]如果不相同,即未找到与该目标进程的进程PID相同的节点,表示HASHMAP表中不存在目标进程的进程PID对应的数据,因此无法获得目标进程的进程信息,此时,调用内核函数PsGetCurrentProcessId获取目标进程的进程PID,由这个进程PID作为参数,调用ZwQueryInf ormat1nProcess和内核路径转换等进程信息获取函数获取目标进程的进程信息。
[0090]由此,在本地无法获得目标进程的进程信息时,通过调用进程信息获取函数的方式获得目标进程的进程信息。
[0091]更进一步的,在图4所示实施例的基础上,如图5所示,本发明实施例提供的一种进程信息获取方法,应用于电子设备,在步骤S104后,还可以包括:
[0092]S105:在本地针对获取的所述目标进程的进程信息保存其对应的进程标识信息。
[0093]当进程标识信息为进程PID时,将目标进程的进程PID作为key值,获取的目标进程的进程信息作为value值,将该key值与value值组成的节点保存到HASHMAP中,一般会保存到最后节点的位置上。
[0094]由于,在通过调用进程信息获取函数的方式获得进程的进程信息的情况下,在生成HASHMAP时只会调用进程获取函数获取进程信息一次,在下一次使用时,会先查找HASHMAP中是否存在目标进程的进程PID,所以会找到已保存在本地的进程PID,不会再次调用进程获取函数获取进程信息,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题;在通过其他可执行方式获取进程信息的情况下,在生成HASHMAP时并未调用进程获取函数获取进程信息,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题。
[0095]同时,由于系统的进程一般不会超过200个,200个数量内的进程信息的数据量是比较少的,因此,将进程信息保存到HASHMAP中是很高效且稳定的,所以不管系统多么频繁获取进程信息,也不会造成系统卡慢的现象。
[0096]由此,在本地无法获得目标进程的进程信息时,在调用进程信息获取函数的方式获得目标进程的进程信息后,将目标进程的进程信息及进程标识信息保存到本地。
[0097]相对于上述方法实施例,本发明实施例还提供了一种进程信息获取装置,应用于电子设备,如图6所示,该装置可以包括:
[0098]获取模块201,用于获取目标进程的进程标识信息;
[0099]判断模块202,用于判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0100]第一获得模块203,用于在所述判断模块202判断本地保存的进程信息对应的进程标识信息中存在所述目标进程的进程标识信息时,获得所述目标进程的进程标识信息对应的进程信息。
[0101]与现有技术相比,在本发明实施例中,在本地保存进程信息及进程标识信息的对应关系,通过在本地查找目标进程的进程标识信息的方式,获得目标进程的进程信息,无需调用相应的函数来获取进程信息,由于查找的过程消耗时间较少,因此,减少了消耗时间,解决了频繁调用函数获取进程信息导致系统卡慢的问题。
[0102]具体的,所述进程信息可以包括:
[0103]进程完整路径、进程命令行、父进程标识信息和父进程完整路径。
[0104]具体的,所述判断模块202,可以具体用于:
[0105]判断所述本地哈希表中每个节点key值中是否存在所述目标进程的进程标识信息,其中,本地哈希表中的每个节点对应一个进程,每个节点的key值为进程标识信息,每个节点的value值为进程信息。
[0106]具体的,所述获取模块201,可以具体用于:
[0107]调用内核函数获取目标进程的进程标识信息。
[0108]进一步的,在图6所示实施例的基础上,如图7所示,本发明实施例提供的一种进程信息获取装置,应用于电子设备,该装置还可以包括:
[0109]第二获得模块204,用于在所述判断模块202判断本地保存的进程信息对应的进程标识信息中不存在所述目标进程的进程标识信息时,调用进程信息获取函数获得所述目标进程的进程信息。
[0110]更进一步的,在图7所示实施例的基础上,如图8所示,本发明实施例提供的一种进程信息获取装置,应用于电子设备,该装置还可以包括:
[0111]保存模块205,用于在本地针对获取的所述目标进程的进程信息保存其对应的进程标识信息。
[0112]相应地,如图9所述,本申请实施例还提供了一种电子设备,所述电子设备可以包括:
[0113]壳体901、处理器902、存储器903、电路板904和电源电路905,其中,电路板904安置在壳体围成的空间内部,处理器902和存储器903设置在电路板904上;电源电路905,用于为电子设备的各个电路或器件供电;存储器903用于存储可执行程序代码;处理器902通过读取存储器903中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
[0114]获取目标进程的进程标识信息;
[0115]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0116]如果存在,获得所述目标进程的进程标识ig息对应的进程ig息。
[0117]相应地,本申请实施例还提供了一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本申请所述的一种进程信息获取方法。其中,本申请所述的一种进程信息获取方法,应用于电子设备,该方法可以包括:
[0118]获取目标进程的进程标识信息;
[0119]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0120]如果存在,获得所述目标进程的进程标识彳g息对应的进程彳g息。
[0121]相应地,本申请实施例还提供了一种应用程序,其中,该应用程序用于在运行时执行本申请所述的一种进程信息获取方法。其中,本申请所述的一种进程信息获取方法,应用于电子设备,该方法可以包括:
[0122]获取目标进程的进程标识信息;
[0123]判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;
[0124]如果存在,获得所述目标进程的进程标识彳g息对应的进程彳g息。
[0125]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0126]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0127]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种进程信息获取方法,其特征在于,应用于电子设备,所述方法包括: 获取目标进程的进程标识彳目息; 判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息; 如果存在,获得所述目标进程的进程标识ig息对应的进程ig息。2.根据权利要求1所述方法,其特征在于,所述方法还包括: 如果不存在,调用进程信息获取函数获得所述目标进程的进程信息。3.根据权利要求2所述方法,其特征在于,所述方法还包括: 在本地针对获取的所述目标进程的进程?目息保存其对应的进程标识?目息。4.根据权利要求1所述方法,其特征在于,所述进程信息包括: 进程完整路径、进程命令彳丁、父进程标识?目息和父进程完整路径。5.根据权利要求1所述方法,其特征在于,本地哈希表中的每个节点对应一个进程,每个节点的key值为进程标识信息,每个节点的value值为进程信息,所述判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息,包括: 判断所述本地哈希表中每个节点key值中是否存在所述目标进程的进程标识信息。6.根据权利要求1所述方法,其特征在于,所述获取目标进程的进程标识信息,包括: 调用内核函数获取目标进程的进程标识信息。7.一种进程信息获取装置,其特征在于,应用于电子设备,所述装置包括: 获取模块,用于获取目标进程的进程标识信息; 判断模块,用于判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识?目息; 第一获得模块,用于在所述判断模块判断本地保存的进程信息对应的进程标识信息中存在所述目标进程的进程标识?目息时,获得所述目标进程的进程标识?目息对应的进程?目息。8.根据权利要求7所述装置,其特征在于,所述装置还包括: 第二获得模块,用于在所述判断模块判断本地保存的进程信息对应的进程标识信息中不存在所述目标进程的进程标识信息时,调用进程信息获取函数获得所述目标进程的进程?目息O9.根据权利要求8所述装置,其特征在于,所述装置还包括: 保存模块,用于在本地针对获取的所述目标进程的进程信息保存其对应的进程标识信息。10.一种电子设备,其特征在于,所述电子设备包括: 壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤: 获取目标进程的进程标识彳目息; 判断本地保存的进程信息对应的进程标识信息中是否存在所述目标进程的进程标识信息;如果存在,获得所述目标进程的进程标识彳g息对应的进程彳目息D
【文档编号】G06F21/56GK105844156SQ201610166352
【公开日】2016年8月10日
【申请日】2016年3月22日
【发明人】李文靖
【申请人】北京金山安全软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1