CN108399087A - 一种进程关闭的方法、装置及电子设备 - Google Patents

一种进程关闭的方法、装置及电子设备 Download PDF

Info

Publication number
CN108399087A
CN108399087A CN201810241907.5A CN201810241907A CN108399087A CN 108399087 A CN108399087 A CN 108399087A CN 201810241907 A CN201810241907 A CN 201810241907A CN 108399087 A CN108399087 A CN 108399087A
Authority
CN
China
Prior art keywords
current operation
application program
progress information
driver
operation process
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.)
Pending
Application number
CN201810241907.5A
Other languages
English (en)
Inventor
杨峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201810241907.5A priority Critical patent/CN108399087A/zh
Publication of CN108399087A publication Critical patent/CN108399087A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种进程关闭的方法、装置及电子设备,该方法包括:应用程序获得电子设备的当前运行进程对应的进程信息;基于所获得的进程信息,判断当前运行进程是否为结束应用程序的进程;当判断该当前运行进程为结束应用程序的进程时,将当前运行进程对应的进程信息发送至应用程序对应的驱动程序,以使驱动程序调用进程结束函数,关闭当前运行进程,其中,进程结束函数为:基于NtTerminateProcess函数所调用的函数。以实现关闭结束应用程序的进程,提高电子设备的安全性。

Description

一种进程关闭的方法、装置及电子设备
技术领域
本发明涉及信息安全技术领域,特别是涉及一种进程关闭的方法、装置及电子设备。
背景技术
近年来,随着电子设备普及,各种应用程序层出不穷,电子设备的安全性得到越来越广泛的关注。目前,安全应用程序通过调用电子设备系统内核的NtTerminateProcess函数的方式,来关闭相应应用程序的进程,避免相应应用程序对电子设备造成危害。
然而,上述NtTerminateProcess函数的调用方式是公开的,这就使得一些恶意应用程序为了防止其进程被安全应用程序通过上述方式关闭,恶意应用程序会预先挂钩该NtTerminateProcess函数。当恶意应用程序检测到安全应用程序通过调用NtTerminateProcess函数的方式,来关闭该恶意应用程序的进程时,该恶意应用程序会控制该预先挂钩的NtTerminateProcess函数无法执行关闭操作,使得该恶意应用程序的进程不能被关闭,而该恶意应用程序往往是用户希望关闭的,其进程往往是用户希望结束的。其中,上述恶意应用程序可以为:携带在电子设备系统上执行恶意任务的病毒、蠕虫和特洛伊木马等应用程序,其中,可以称上述恶意应用程序为结束应用程序。
可见,目前关闭结束应用程序对应的进程的方式,无法完全的实现关闭进程的功能,这就导致电子设备仍存在一定程度上的安全隐患。
发明内容
本发明实施例的目的在于提供一种进程关闭的方法、装置及电子设备,以实现关闭结束应用程序的进程,提高电子设备的安全性。具体技术方案如下:
一方面,本发明实施例提供了一种进程关闭的方法,所述方法包括:
应用程序获得电子设备的当前运行进程对应的进程信息;
基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
可选地,所述应用程序获得电子设备的当前运行进程对应的进程信息的步骤,包括:
所述应用程序获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
可选地,所述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
可选地,所述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
可选地,所述基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程的步骤,包括:
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
可选地,在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序的步骤之后,所述方法还包括:
接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
输出所述提示信息。
另一方面,本发明实施例提供了一种进程关闭的装置,所述装置包括:
第一获得模块,用于获得电子设备的当前运行进程对应的进程信息;
判断模块,用于基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
发送模块,用于当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
可选地,所述第一获得模块,具体用于
获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
可选地,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
可选地,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
可选地,所述判断模块,具体用于
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
可选地,所述装置还包括接收模块和输出模块;
所述接收模块,用于在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序之后,接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
所述输出模块,用于输出所述提示信息。
另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放应用程序;
处理器,用于执行存储器上所存放的应用程序时,实现本发明实施例所提供的上述任一所述的进程关闭的方法步骤。
另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有应用程序,所述应用程序被处理器执行时实现本发明实施例所提供的上述任一所述的进程关闭的方法步骤。
本发明实施例中,应用程序获得电子设备的当前运行进程对应的进程信息;基于所获得的进程信息,判断当前运行进程是否为结束应用程序的进程;当判断该当前运行进程为结束应用程序的进程时,将当前运行进程对应的进程信息发送至应用程序对应的驱动程序,以使驱动程序调用进程结束函数,关闭当前运行进程,其中,进程结束函数为:基于NtTerminateProcess函数所调用的函数。
本发明实施例中,基于进程结束函数,将判断为结束应用程序的进程的当前运行进程关闭,该进程结束函数:基于NtTerminateProcess函数所调用的函数,可以实现对调用NtTerminateProcess函数无法关闭的进程的关闭,在一定程度上实现了对被确定为结束应用程序的进程的关闭的成功率,避免被确定为结束应用程序的进程,对电子设备的安全的威胁,在一定程度上提高电子设备的安全性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种进程关闭的方法的流程示意图;
图2为本发明实施例所提供的驱动程序调用进程结束函数,关闭当前运行进程的一种流程示意图;
图3为本发明实施例所提供的一种进程关闭的方法的流程示意图;
图4为本发明实施例所提供的一种进程关闭的装置的结构示意图;
图5为本发明实施例所提供的一种进程关闭的装置的另一结构示意图;
图6为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种进程关闭的方法、装置及电子设备,以实现关闭结束应用程序的进程,提高电子设备的安全性。
如图1所示,本发明实施例提供了一种进程关闭的方法,可以包括如下步骤:
S101:应用程序获得电子设备的当前运行进程对应的进程信息;
可以理解的是,本发明实施例所提供的进程关闭的方法,可以应用于应用程序中,该应用程序为安全类应用程序,该应用程序可以安装于任一电子设备中,上述电子设备可以为智能手机、电脑以及游戏机等等。在一种情况中,实现上述进程关闭的方法的功能软件可以是专门的客户端软件,也可以是其他安全类应用软件的插件,即上述应用程序可以以专门的客户端软件的形式存在,也可以以安全类应用软件的插件的形式存在。
在一种实现方式中,应用程序可以实时或定时地获得电子设备当前运行的进程对应的进程信息,本发明实施例中,称上述当前运行的进程为:当前运行进程。在一种情况中,上述进程信息可以包括:所对应进程的进程标识符、进程名称和/或进程路径等,可以唯一表征所对应进程的信息。
S102:基于所获得的进程信息,判断当前运行进程是否为结束应用程序的进程;
在一种情况中,电子设备本地或电子设备所连接的外部存储设备中,预先存储有预设的结束应用程序的进程对应的进程信息,当应用程序获得当前运行进程对应的进程信息后,将所获得的进程信息与预设的结束应用程序的进程对应的进程信息进行一一匹配;当所获得的进程信息与任一预设的结束应用程序的进程对应的进程信息匹配成功时,则确定当前运行进程为结束应用程序的进程;当所获得的进程信息与所有预设的结束应用程序的进程对应的进程信息均匹配失败时,则确定当前运行进程不为结束应用程序的进程。
在另一种情况中,应用程序获得当前运行进程对应的进程信息后,可以基于进程信息,计算所对应的当前运行进程对应的校验值,基于所计算的校验值,确定所对应当前运行进程是否为结束应用程序的进程。其中,上述基于所计算的校验值,确定所对应当前运行进程是否为结束应用程序的进程的过程,可以是:判断所计算的校验值是否在一定预设范围内,当为是时,确定所对应当前运行进程为结束应用程序的进程;反之,确定所对应当前运行进程不为结束应用程序的进程。
或者,电子设备本地或电子设备所连接的外部存储设备中,预先存储有结束应用程序的进程对应的校验值,上述基于所计算的校验值,确定所对应当前运行进程是否为结束应用程序的进程的过程,可以是:将所计算的校验值与预先存储的任一结束应用程序的进程对应的校验值进行匹配;当所计算的校验值与预先存储的任一结束应用程序的进程对应的校验值相同时,确定所对应当前运行进程为结束应用程序的进程。
在一种情况中,上述结束应用程序可以为:恶意应用程序,即可以为携带在电子设备系统上执行恶意任务的病毒、蠕虫和特洛伊木马等应用程序。
S103:当判断当前运行进程为结束应用程序的进程时,将当前运行进程对应的进程信息发送至应用程序对应的驱动程序,以使驱动程序调用进程结束函数,关闭当前运行进程,其中,进程结束函数为:基于NtTerminateProcess函数所调用的函数。
在一种情况中,应用程序需要通过其对应的驱动程序,才能调用电子设备的系统内核函数。上述进程结束函数为:电子设备的系统内核的函数,其为NtTerminateProcess函数的下层函数。驱动程序基于NtTerminateProcess函数的内核地址,才能获取到上述进程结束函数的内核地址,进而,基于上述进程结束函数的内核地址,调用上述进程结束函数。
本发明实施例中,当应用程序判断当前运行进程为结束应用程序的进程时,将该当前运行进程对应的进程信息发送至应用程序对应的驱动程序,即通知驱动程序需要关闭该当前运行进程;驱动程序获得上述当前运行进程对应的进程信息后,调用上述进程结束函数,关闭当前运行进程,以实现对确定为结束应用程序的进程的当前运行进程的关闭。
本发明实施例中,基于进程结束函数,将判断为结束应用程序的进程的当前运行进程关闭,该进程结束函数:基于NtTerminateProcess函数所调用的函数,可以实现对调用NtTerminateProcess函数无法关闭的进程的关闭,在一定程度上实现了对被确定为结束应用程序的进程的关闭的成功率,避免被确定为结束应用程序的进程,对电子设备的安全的威胁,在一定程度上提高电子设备的安全性。
在一种实现方式中,上述应用程序获得电子设备的当前运行进程对应的进程信息的步骤,可以包括:
上述应用程序获得驱动程序所发送的当前运行进程对应的进程信息,其中,当前运行进程对应的进程信息为:驱动程序检测到开始运行的进程时,向应用程序发送的开始运行的进程对应的进程信息。
本发明实施例,上述应用程序对应的驱动程序可以实时检测电子设备中是否存在运行的进程,当驱动程序检测到开始运行的进程时,获得该开始运行的进程对应的进程信息,并将开始运行的进程对应的进程信息作为当前运行进程对应的进程信息,发送至其对应的应用程序,以使应用程序执行本发明实施例所提供的进程关闭的流程。本发明实施例中,可以将运行时间不超过预设运行时长的进程,作为开始运行的进程。
在一种实现方式中,如图2所示,上述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,可以包括:
S201:驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
S202:驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
S203:驱动程序基于第二内核地址,调用PspTerminateProcess函数关闭当前运行进程。
在一种情况中,为了更好的实现对进程结束函数的调用,更好的保障电子设备的安全,本发明实施例,上述驱动程序每当调用上述进程结束函数时,均可以首先确定该进程结束函数的内核地址,基于该内核地址,调用进程结束函数。在一种实现方式中,上述进程结束函数可以为PspTerminateProcess函数。该PspTerminateProcess函数的内核地址,可以基于NtTerminateProcess函数的内核地址确定。
当驱动程序获取到NtTerminateProcess函数的内核地址,即第一内核地址后,基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址,进而基于第二内核地址调用PspTerminateProcess函数关闭当前运行进程。
其中,上述预设的调用特征为:基于应用程序所在电子设备的操作系统的类型进行设置的调用特征,不同的操作系统对应不同的调用特征。
本发明实施例中,在不同的电子设备的操作系统中,上述驱动程序可以首先获取NtTerminateProcess函数的内核地址,即第一内核地址,进而根据第一内核地址,确定指向PspTerminateProcess函数的0xE8开头的指令,并确定该0xE8开头的指令的地址,后续的,将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
举例而言,当电子设备的操作系统为windowsXP系统时,上述基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址的过程,可以是:基于第一内核地址,确定0xE8开头的指令,并确定该0xE8开头的指令的地址,其中,该0xE8开头的指令前面的6个字节是分别是0x68,0x18,0x07,0x00,0x00,0x53,该0xE8开头的指令后面的第5个字节是0x85,且其后面的第6个字节是0xC0;将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
当电子设备的操作系统为windows7系统时,上述基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址的过程,可以是:基于第一内核地址,确定0xE8开头的指令,并确定该0xE8开头的指令的地址,其中,该0xE8开头的指令前面的5个字节分别为0x68,0x18,0x07,0x00,0x00,该0xE8开头的指令后面的第5个字节为0x66,该0xE8开头的指令后面的第6个字节为0xFF;将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
当电子设备的操作系统为windows8系统时,上述基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址的过程,可以是:基于第一内核地址,确定0xE8开头的指令,并确定该0xE8开头的指令的地址,其中,该0xE8开头的指令前面的4个字节是分别是0x8B,0x7D,0xF0,0x56,该0xE8开头的指令后面的第5个字节是0xBA,该0xE8开头的指令后面的第10个字节是0x8B,该0xE8开头的指令后面的第11个字节是0xCF;将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
当电子设备的操作系统为windows8.1系统时,上述基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址的过程,可以是:基于第一内核地址,确定0xE8开头的指令,并确定该0xE8开头的指令的地址,其中,该0xE8开头的指令前面的4个字节分别是0x57,0xFF,0x75,0x0C,该0xE8开头的指令后面的3个字节是0x8B,0x4D,0xF8;将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
当电子设备的操作系统为windows10系统时,上述基于该第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址的过程,可以是:基于第一内核地址,确定0xE8开头的指令,并确定该0xE8开头的指令的地址,其中,该0xE8开头的指令前面的4个字节分别是0x8B,0xD7,0x8B,0xCE,该0xE8开头的指令后面的第5个字节是0xBA,该0xE8开头的指令后面的第10个字节是0x89,0xE8开头的指令后面的第13个字节是0x8B;将该0xE8开头的指令的地址加上5,再加上该0xE8开头的指令后面的4个字节,所得结果则为PspTerminateProcess函数的内核地址。
在另一种实现方式中,上述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,可以包括:
上述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
上述驱动程序基于第三内核地址,调用PspTerminateProcess函数关闭当前运行进程。
在一种情况中,为了减少电子设备的计算量,当首次基于上述NtTerminateProcess函数的内核地址以及预设的调用特征,确定出上述PspTerminateProcess函数的内核地址后,可以存储上述PspTerminateProcess函数的内核地址。后续的,在再次需要调用上述PspTerminateProcess函数时,直接获得所存储的上述PspTerminateProcess函数的内核地址,作为第三内核地址,基于上述第三内核地址调用PspTerminateProcess函数关闭当前运行进程。
在一种实现方式中,上述基于所获得的进程信息,判断当前运行进程是否为结束应用程序的进程的步骤,可以包括:
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征当前运行进程为结束应用程序的进程;当特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征当前运行进程不为结束应用程序的进程。
在一种情况中,操作人员可以预先收集结束应用程序的进程信息,作为预设结束进程信息,并进行存储,生成一存储有预设结束进程信息的特征库。当应用程序获得进程信息后,将所获得的进程信息与上述特征库中每一预设结束进程信息进行匹配,基于匹配结果确定上述所获得的进程信息对应的当前运行程序是否为结束应用程序。其中,当特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征当前运行进程为结束应用程序的进程;当特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征当前运行进程不为结束应用程序的进程。
在一种实现方式中,如图3所示,所述方法可以包括步骤:
S301:应用程序获得电子设备的当前运行进程对应的进程信息;
S302:基于所获得的进程信息,判断当前运行进程是否为结束应用程序的进程;
S303:当判断当前运行进程为结束应用程序的进程时,将当前运行进程对应的进程信息发送至应用程序对应的驱动程序,以使驱动程序调用进程结束函数,关闭当前运行进程,其中,进程结束函数为:基于NtTerminateProcess函数所调用的函数;
其中,上述S301与图1中所示的S101相同,上述S302与图1中所示的S102相同,上述S303与图1中所示的S103相同。
S304:接收驱动程序所发送的表征已关闭当前运行进程的提示信息;
S305:输出提示信息。
其中,为了更好的使用户知晓电子设备的安全状况,将上述确定为结束应用程序的进程的当前运行进程关闭后,还可以输出提示信息,以提示用户该电子设备成功拦截了恶意应用程序的启动。在一种情况中,上述提示信息可以以声音提示的形式输出,可以以屏幕亮度提示的形式输出,可以以文字信息提示的形式输出,还可以以界面跳转提示的形式输出,等等,本发明实施例并不对该提示信息的提示形式进行限定。其中,上述提示信息中可以携带该被确定为结束应用程序的进程的当前运行进程的进程信息,以起到对该当前运行进程进行定位的作用,用户可以根据该提示信息对该当前运行进程对应的应用程序进行处理,例如:卸载或设置权限限制。或者,该提示信息以界面跳转提示的形式输出时,可以是直接跳转至该电子设备的程序卸载界面,定位在该当前运行进程对应的应用程序上,以便该电子设备用户进行处理,等等,这都是合理的。
下面通过具体实施例对本发明实施例所提供的一种进程关闭的方法进行介绍。
在用户电脑中,存在一个恶意应用程序A,恶意应用程序A预先挂钩即hook了系统内核的公开函数NtTerminateProcess函数,以对其自身的进程进行保护。当电脑中的安全类应用程序调用NtTerminateProcess函数关闭恶意应用程序A的进程时,会失败。此时,当安全类应用程序获得电子设备的当前运行进程对应的进程信息,并基于所获得的进程信息,判断当前运行进程为结束应用程序的进程时,安全类应用程序将该所获得的进程信息发送至其对应的驱动程序,驱动程序调用进程结束函数PspTerminateProcess函数,即可关闭恶意应用程序A的进程,使得恶意应用程序A的进程保护失败,从而更好的保护电脑的安全。
相应于上述方法实施例,本发明实施例提供了一种进程关闭的装置,如图4所示,所述装置可以包括:
第一获得模块410,用于获得电子设备的当前运行进程对应的进程信息;
判断模块420,用于基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
发送模块430,用于当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
本发明实施例中,基于进程结束函数,将判断为结束应用程序的进程的当前运行进程关闭,该进程结束函数:基于NtTerminateProcess函数所调用的函数,可以实现对调用NtTerminateProcess函数无法关闭的进程的关闭,在一定程度上实现了对被确定为结束应用程序的进程的关闭的成功率,避免被确定为结束应用程序的进程,对电子设备的安全的威胁,在一定程度上提高电子设备的安全性。
在一种实现方式中,所述第一获得模块410,具体用于
获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述判断模块420,具体用于
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
在一种实现方式中,如图5所示,所述装置还可以包括接收模块510和输出模块520;
所述接收模块510,用于在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序之后,接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
所述输出模块520,用于输出所述提示信息。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信,
存储器630,用于存放应用程序;
处理器610,用于执行存储器630上所存放的应用程序时,实现本发明实施例所提供的任一所述的进程关闭的方法步骤:
应用程序获得电子设备的当前运行进程对应的进程信息;
基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
本发明实施例中,基于进程结束函数,将判断为结束应用程序的进程的当前运行进程关闭,该进程结束函数:基于NtTerminateProcess函数所调用的函数,可以实现对调用NtTerminateProcess函数无法关闭的进程的关闭,在一定程度上实现了对被确定为结束应用程序的进程的关闭的成功率,避免被确定为结束应用程序的进程,对电子设备的安全的威胁,在一定程度上提高电子设备的安全性。
在一种实现方式中,所述应用程序获得电子设备的当前运行进程对应的进程信息,包括:
所述应用程序获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程,包括:
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
在一种实现方式中,在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序之后,还包括:
接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
输出所述提示信息。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述方法实施例,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有应用程序,所述应用程序被处理器执行时实现本发明实施例所提供的任一所述的进程关闭的方法步骤:
应用程序获得电子设备的当前运行进程对应的进程信息;
基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
本发明实施例中,基于进程结束函数,将判断为结束应用程序的进程的当前运行进程关闭,该进程结束函数:基于NtTerminateProcess函数所调用的函数,可以实现对调用NtTerminateProcess函数无法关闭的进程的关闭,在一定程度上实现了对被确定为结束应用程序的进程的关闭的成功率,避免被确定为结束应用程序的进程,对电子设备的安全的威胁,在一定程度上提高电子设备的安全性。
在一种实现方式中,所述应用程序获得电子设备的当前运行进程对应的进程信息,包括:
所述应用程序获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述驱动程序调用进程结束函数,关闭所述当前运行进程,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
在一种实现方式中,所述基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程,包括:
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
在一种实现方式中,在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序之后,还包括:
接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
输出所述提示信息。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种进程关闭的方法,其特征在于,所述方法包括:
应用程序获得电子设备的当前运行进程对应的进程信息;
基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
2.根据权利要求1所述的方法,其特征在于,所述应用程序获得电子设备的当前运行进程对应的进程信息的步骤,包括:
所述应用程序获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
3.根据权利要求1所述的方法,其特征在于,所述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,包括:
所述驱动程序获取NtTerminateProcess函数的内核地址,作为第一内核地址;
所述驱动程序基于所获取的第一内核地址以及预设的调用特征,确定PspTerminateProcess函数的内核地址,作为第二内核地址;
所述驱动程序基于所述第二内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
4.根据权利要求1所述的方法,其特征在于,所述驱动程序调用进程结束函数,关闭所述当前运行进程的步骤,包括:
所述驱动程序获取预先存储的PspTerminateProcess函数的内核地址,作为第三内核地址;
所述驱动程序基于所述第三内核地址,调用所述PspTerminateProcess函数关闭所述当前运行进程。
5.根据权利要求1所述的方法,其特征在于,所述基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程的步骤,包括:
将所获得的进程信息,与特征库中每一预设结束进程信息进行匹配,其中,当所述特征库中存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程为结束应用程序的进程;当所述特征库中不存在与所获得的进程信息匹配的预设结束进程信息时,表征所述当前运行进程不为结束应用程序的进程。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述将所述当前运行进程对应的进程信息发送至所述应用程序对应的驱动程序的步骤之后,所述方法还包括:
接收所述驱动程序所发送的表征已关闭所述当前运行进程的提示信息;
输出所述提示信息。
7.一种进程关闭的装置,其特征在于,所述装置包括:
第一获得模块,用于获得电子设备的当前运行进程对应的进程信息;
判断模块,用于基于所获得的进程信息,判断所述当前运行进程是否为结束应用程序的进程;
发送模块,用于当判断所述当前运行进程为结束应用程序的进程时,将所述当前运行进程对应的进程信息发送至对应的驱动程序,以使所述驱动程序调用进程结束函数,关闭所述当前运行进程,其中,所述进程结束函数为:基于NtTerminateProcess函数所调用的函数。
8.根据权利要求7所述的装置,其特征在于,所述第一获得模块,具体用于
获得所述驱动程序所发送的所述当前运行进程对应的进程信息,其中,所述当前运行进程对应的进程信息为:所述驱动程序检测到开始运行的进程时,向所述应用程序发送的所述开始运行的进程对应的进程信息。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放应用程序;
处理器,用于执行存储器上所存放的应用程序时,实现权利要求1-6任一所述的进程关闭的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有应用程序,所述应用程序被处理器执行时实现权利要求1-6任一所述的进程关闭的方法步骤。
CN201810241907.5A 2018-03-22 2018-03-22 一种进程关闭的方法、装置及电子设备 Pending CN108399087A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810241907.5A CN108399087A (zh) 2018-03-22 2018-03-22 一种进程关闭的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810241907.5A CN108399087A (zh) 2018-03-22 2018-03-22 一种进程关闭的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN108399087A true CN108399087A (zh) 2018-08-14

Family

ID=63091986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810241907.5A Pending CN108399087A (zh) 2018-03-22 2018-03-22 一种进程关闭的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108399087A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783081A (zh) * 2020-06-08 2020-10-16 Oppo广东移动通信有限公司 一种恶意进程处理方法、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199155A1 (en) * 2008-01-31 2009-08-06 Embarq Holdings Company Llc System and method for managing workflow instances in a workflow application
CN102253863A (zh) * 2011-06-15 2011-11-23 奇智软件(北京)有限公司 一种进程关闭方法
CN102982283A (zh) * 2012-11-27 2013-03-20 蓝盾信息安全技术股份有限公司 一种杀死受保护的恶意计算机进程的系统及方法
CN105446776A (zh) * 2015-11-20 2016-03-30 北京金山安全软件有限公司 一种应用程序关闭方法、装置及电子设备
CN105930191A (zh) * 2016-04-28 2016-09-07 网宿科技股份有限公司 系统服务的重载方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090199155A1 (en) * 2008-01-31 2009-08-06 Embarq Holdings Company Llc System and method for managing workflow instances in a workflow application
CN102253863A (zh) * 2011-06-15 2011-11-23 奇智软件(北京)有限公司 一种进程关闭方法
CN102982283A (zh) * 2012-11-27 2013-03-20 蓝盾信息安全技术股份有限公司 一种杀死受保护的恶意计算机进程的系统及方法
CN105446776A (zh) * 2015-11-20 2016-03-30 北京金山安全软件有限公司 一种应用程序关闭方法、装置及电子设备
CN105930191A (zh) * 2016-04-28 2016-09-07 网宿科技股份有限公司 系统服务的重载方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IIPROGRAM: "干掉KV 2008, Rising等大部分杀软", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30699955/ARTICLE/DETAILS/99513919》 *
少仲: "浅谈驱动中强制结束进程的3种方法", 《HTTPS://BLOG.CSDN.NET/PY_PANYU/ARTICLE/DETAILS/45012289?UTM_SOURCE=BLOGXGWZ0》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783081A (zh) * 2020-06-08 2020-10-16 Oppo广东移动通信有限公司 一种恶意进程处理方法、终端设备及存储介质

Similar Documents

Publication Publication Date Title
CN105207775B (zh) 验证信息的读取方法及装置
CN103995707B (zh) 一种应用通知消息处理方法、装置及终端设备
CN104778401B (zh) 数据处理设备和用于执行应用程序的方法
CN109788461B (zh) 蓝牙双模数据通信方法及装置
CN104463569A (zh) 安全连接支付方法及其装置
EP3270319B1 (en) Method and apparatus for generating dynamic security module
CN104426960B (zh) 一种付费应用的试用方法及装置
CN107450955A (zh) 设备的无线配置方法、设备、移动终端、系统、锁具及可读存储介质
CN108243115A (zh) 报文处理方法及装置
CN112260366A (zh) 充电方法、充电装置和充电器
CN108399087A (zh) 一种进程关闭的方法、装置及电子设备
CN104796877B (zh) 一种防恶意扣费的方法和装置
CN115134344A (zh) 一种虚拟机控制台的控制方法及组件
CN108446553A (zh) 一种进程保护的方法、装置及电子设备
CN107241758A (zh) 网络控制方法、网络控制装置及智能终端
CN106203115B (zh) 一种应用程序的防护方法、装置及电子设备
CN105608364B (zh) 应用程序的安全保护方法和装置
CN107292614A (zh) 支付类应用程序管理方法、装置及移动终端
CN107315947A (zh) 支付类应用程序管理方法、装置及移动终端
CN106843917A (zh) 一种驱动程序的加载方法及装置
CN105335673A (zh) 一种信息安全处理方法和信息安全处理装置
CN112187734B (zh) 一种IPSec组件架构及VPN隧道建立方法
CN108196997A (zh) 一种用于对应用进行动态控制的装置、方法以及移动终端
CN104994225B (zh) 一种短信息发送控制方法和短信息发送控制装置
CN107295177B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180814

RJ01 Rejection of invention patent application after publication