开机启动项的清理方法和装置转让专利

申请号 : CN201210506572.8

文献号 : CN103019778B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘智锋

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明实施例提供了一种开机启动项的清理方法和装置,所述方法包括:获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;获取所述程序文件的安全属性,并依据所述程序文件的安全属性对相应的开机启动项进行清理。本发明实施例可以避免开机时木马等恶意程序劫持DLL文件,当启动项执行完成后,木马等恶意程序退出启动项,此时无法找出木马劫持的相关文件的问题。

权利要求 :

1.一种开机启动项的清理方法,包括:

获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;

将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;进一步包括:读取计算机操作系统记录的启动项信息;将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件;

去除与系统文件具备相同名称的程序文件,和/或,去除系统启动项注册表中预置键值项所对应的程序文件;

获取所述开机启动项所加载的程序文件的安全属性,并依据所述开机启动项所加载的程序文件的安全属性对相应的开机启动项进行清理。

2.根据权利要求1所述的方法,所述开机启动项所加载的程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。

3.根据权利要求1所述的方法,所述读取计算机操作系统记录的启动项信息的步骤包括:读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;

和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。

4.根据权利要求3所述的方法,所述依据所述开机启动项所加载的程序文件的安全属性对相应的开机启动项进行清理的步骤包括:依据所述开机启动项所加载的程序文件的安全属性确定对应的开机启动项的安全属性;

依据各开机启动项的安全属性确定待清理的开机启动项;

删除系统启动项注册表中待清理的开机启动项的键值;

和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。

5.根据权利要求4所述的方法,所述依据各开机启动项的安全属性确定待清理的开机启动项的步骤包括:若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;

若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。

6.根据权利要求1所述的方法,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。

7.根据权利要求6所述的方法,所述将进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件的步骤还包括:依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。

8.根据权利要求1所述的方法,还包括:

调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;

所述获取计算机开机过程中所加载的进程信息的步骤包括:调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。

9.根据权利要求1所述的方法,所述获取所述开机启动项所加载的程序文件的安全属性的步骤包括:将所述开机启动项所加载的程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述开机启动项所加载的程序文件的安全属性;

或,在计算机本地预置的第二特征信息数据库中,依据所述开机启动项所加载的程序文件对应的特征信息查找所述开机启动项所加载的程序文件的安全属性。

10.一种开机启动项的清理装置,包括:

进程信息获取模块,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;

匹配模块,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;

安全属性获取模块,适于获取所述开机启动项所加载的程序文件的安全属性;

去除模块,适于去除与系统文件具备相同名称的程序文件,和/或,去除系统启动项注册表中预置键值项所对应的程序文件;

清理模块,适于依据所述开机启动项所加载的程序文件的安全属性对相应的开机启动项进行清理;

其中,所述匹配模块包括:

读取子模块,适于读取计算机操作系统记录的启动项信息;

命令行匹配子模块,适于将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;

程序文件获取子模块,适于从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。

11.根据权利要求10所述的装置,所述开机启动项所加载的程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。

12.根据权利要求10所述的装置,所述读取子模块读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;

和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。

13.根据权利要求12所述的装置,所述清理模块包括:属性确定子模块,适于依据所述开机启动项所加载的程序文件的安全属性确定对应的开机启动项的安全属性;

清理启动项确定子模块,适于依据各开机启动项的安全属性确定待清理的开机启动项;

删除子模块,适于删除系统启动项注册表中待清理的开机启动项的键值;和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。

14.根据权利要求13所述的装置,所述清理启动项确定子模块还适于:若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;

若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。

15.根据权利要求10所述的装置,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。

16.根据权利要求15所述的装置,所述匹配模块还包括:子进程程序文件提取子模块,适于依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。

说明书 :

开机启动项的清理方法和装置

技术领域

[0001] 本发明实施例涉及计算机技术领域,特别是涉及一种开机启动项的清理方法和装置。

背景技术

[0002] 开机启动项是Windows系统下一个非常常见的功能,它让一些应用程序随着Windows系统的启动而启动。将一些常用的程序,以及这些程序加载过程中调用的DLL(Dynamic Link Library,动态链接库)文件等添加到开机启动项中,使这些常用的程序在开机时就运行,不用用户手动启动,非常方便。
[0003] 实际情况中,开机启动项的功能会被一些程序滥用甚至恶意使用,一些程序未经用户允许,便将自身或是其他的程序、DLL文件,加入到用户的开机启动项中,其中可能会存在病毒木马程序或文件,从而给用户计算机带来一定的危险。
[0004] 计算机开机后,系统的启动项文件夹或是相关注册表中记录有各个启动项。现有技术中,多通过判断上述位置中各个启动项文件的危险级别,来进一步清理可疑的启动项。但是,有些木马或者其他类型的恶意程序会伪装成看似正常的、与某个程序相关的DLL文件添加在启动项中,开机的时候,该程序运行,该木马劫持的DLL文件也会运行,并且运行后即会自行退出启动项。在开机后扫描启动项文件夹或是相关注册表的时候,所有的启动项文件都是安全文件,无法找出木马劫持的相关文件,因此,这种清理方式具有滞后性。

发明内容

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的开机启动项的清理方法和装置。
[0006] 根据本发明的一个方面,提供了一种开机启动项的清理方法,包括:
[0007] 获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0008] 将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0009] 获取所述程序文件的安全属性,并依据所述程序文件的安全属性对相应的开机启动项进行清理。
[0010] 本发明实施例中,所述程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。
[0011] 本发明实施例中,所述将进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件的步骤包括:
[0012] 读取计算机操作系统记录的启动项信息;
[0013] 将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;
[0014] 从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。
[0015] 本发明实施例中,所述读取计算机操作系统记录的启动项信息的步骤包括:
[0016] 读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;
[0017] 和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。
[0018] 本发明实施例中,所述依据程序文件的安全属性对相应的开机启动项进行清理的步骤包括:
[0019] 依据所述程序文件的安全属性确定对应的开机启动项的安全属性;
[0020] 依据各开机启动项的安全属性确定待清理的开机启动项;
[0021] 删除系统启动项注册表中待清理的开机启动项的键值;
[0022] 和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。
[0023] 本发明实施例中,所述依据各开机启动项的安全属性确定待清理的开机启动项的步骤包括:
[0024] 若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;
[0025] 若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。
[0026] 本发明实施例中,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。
[0027] 本发明实施例中,所述将进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件的步骤还包括:
[0028] 依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。
[0029] 本发明实施例中,在所述获取程序文件的安全属性的步骤之前,所述方法还包括:
[0030] 去除与系统文件具备相同名称的程序文件;
[0031] 和/或,去除系统启动项注册表中预置键值项所对应的程序文件。
[0032] 本发明实施例中,所述方法还包括:
[0033] 调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;
[0034] 所述获取计算机开机过程中所加载的进程信息的步骤包括:
[0035] 调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。
[0036] 本发明实施例中,所述获取程序文件的安全属性的步骤包括:
[0037] 将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述程序文件的安全属性;
[0038] 或,在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。
[0039] 根据本发明的另一个方面,提供了一种开机启动项的清理装置,包括:
[0040] 进程信息获取模块,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0041] 匹配模块,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0042] 安全属性获取模块,适于获取所述程序文件的安全属性;
[0043] 清理模块,适于依据所述程序文件的安全属性对相应的开机启动项进行清理。
[0044] 本发明实施例中,所述程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。
[0045] 本发明实施例中,所述匹配模块包括:
[0046] 读取子模块,适于读取计算机操作系统记录的启动项信息;
[0047] 命令行匹配子模块,适于将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;
[0048] 程序文件获取子模块,适于从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。
[0049] 本发明实施例中,所述读取子模块读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;
[0050] 和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。
[0051] 本发明实施例中,所述清理模块包括:
[0052] 属性确定子模块,适于依据所述程序文件的安全属性确定对应的开机启动项的安全属性;
[0053] 清理启动项确定子模块,适于依据各开机启动项的安全属性确定待清理的开机启动项;
[0054] 删除子模块,适于删除系统启动项注册表中待清理的开机启动项的键值;和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。
[0055] 本发明实施例中,所述清理启动项确定子模块还适于:
[0056] 若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;
[0057] 若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。
[0058] 本发明实施例中,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。
[0059] 本发明实施例中,所述匹配模块还包括:
[0060] 子进程程序文件提取子模块,适于依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。
[0061] 本发明实施例中,所述装置还包括:
[0062] 去除模块,适于去除与系统文件具备相同名称的程序文件;和/或,去除系统启动项注册表中预置键值项所对应的程序文件。
[0063] 本发明实施例中,所述装置还包括:
[0064] 记录模块,适于调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;
[0065] 所述进程信息获取模块调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。
[0066] 本发明实施例中,所述安全属性获取模块包括:
[0067] 服务端获取子模块,适于将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述程序文件的安全属性;
[0068] 或,本地获取子模块,适于在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。
[0069] 根据本发明实施例,通过记录计算机开机过程中加载进程命令行和进程加载的程序文件,其中包括了开机启动时可能加载的木马等恶意程序劫持DLL文件,与计算机操作系统记录的启动项信息进行匹配,得出计算机开机启动过程中,开机启动项所加载的程序文件,进而通过判断程序文件的安全性对启动项进行清理,与背景技术相比,本发明实施例可以避免开机后木马等恶意程序劫持文件退出启动项,无法找出木马劫持的相关文件的问题。
[0070] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
[0071] 当然,实施本发明的任一产品不一定需要同时达到以上所述的所有优点。附图说明
[0072] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0073] 图1示出了根据本发明一种开机启动项的清理方法实施例的流程图;
[0074] 图2示出了根据本发明一种开机过程的处理方法实施例的结构框图;
[0075] 图3示出了根据本发明一种开机启动项的清理装置实施例的结构框图;
[0076] 图4示出了根据本发明一种开机过程的处理系统实施例的结构框图;
[0077] 图5示出了根据本发明的一种清理系统实施例的结构框图;
[0078] 图6示出了某个与启动项相关的注册表的示意图。

具体实施方式

[0079] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0080] 本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上计算机、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0081] 计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理计算机执行的。在分布式云计算环境中,程序模块可以位于包括存储计算机的本地或远程计算系统存储介质上。
[0082] 参考图1,示出了本发明实施例的一种开机启动项的清理方法实施例的流程图,具体可以包括以下步骤:
[0083] 步骤100,获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件。
[0084] 计算机开机过程中,开机启动项中的各个程序对应的进程命令行,通过加载该程序的EXE可执行程序文件创建相应的进程,进程是程序在计算机上的一次执行活动,运行一个程序就启动了一个进程。一些进程还可能会进一步创建相应的子进程,在登录完成后,进程表中就出现了很多的进程。
[0085] 各个进程运行时,还会进一步加载相关的动态链接库文件,即DLL文件,DLL文件不是可执行文件,包含了可由多个程序同时调用的代码和数据。
[0086] 本发明实施例中,进程命令行对应加载的程序文件包括EXE可执行文件(进程文件),和/或进程加载的DLL文件。在具体的实现中,进程信息中包含的是EXE文件和/或DLL文件的文件路径。
[0087] 例如,在某次开机过程中,进程信息记录驱动记录的进程信息包括,进程的命令行”c:\test\testrun.exe”/startup),加载的EXE文件路径为c:\test\testrun.exe,加载的DLL文件路径包括c:\windows\system32\advapi32.dll、c:\windows\system32\ntdll.dll和c:\test\testrun.exe。
[0088] 本发明实施例中,在开机时运行预置的进程信息记录驱动,通过调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息,在获取计算机开机过程中所加载的进程信息时,通过调用预置的网络通信驱动与进程信息记录驱动通信的相关信息,以获取进程信息记录驱动记录的进程信息。具体的实现中,进程信息记录驱动可以为安全程序的qutmdrv.sys驱动,网络通信驱动为qutmload.dll驱动,qutmload.dll驱动可与qutmdrv.sys驱动通信,从qutmdrv.sys驱动中获取进程信息。
[0089] 步骤102,将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行。
[0090] 计算机操作系统中记录的也有启动项的相关信息,其中对应的可以获取开机启动项,以及对应的进程命令行,通过将启动项信息与进程信息进行匹配,可以进一步确定各个启动项对应加载的程序文件。
[0091] 具体而言,步骤S12可以包括:
[0092] 子步骤1021,读取计算机操作系统记录的启动项信息;
[0093] 子步骤1022,将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;
[0094] 子步骤1023,从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。
[0095] 进程信息和启动项信息中均包括有各个进程对应的进程命令行,将进程信息与启动项信息中的进程命令行进行匹配,找出相匹配的命令行,即进程信息和启动项信息中共同包含的进程命令行;然后从启动项信息找出相匹配的命令行对应的开机启动项,从进程信息中找出相匹配的进程命令行对应的程序文件,即可得到开机启动项所加载的程序文件。
[0096] 本发明实施例中,读取计算机操作系统记录的启动项信息的步骤可以具体包括:
[0097] 子步骤1021-1,读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;
[0098] 和/或,子步骤1021-2,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。
[0099] 操作系统的相关注册表和文件夹中记录有启动项的相关信息,本发明实施例中,可以通过读取操作系统的相关启动项注册表和启动项文件夹来获取启动项信息。
[0100] 和启动项相关的注册表有多个,如图6所示为某个与启动项相关的注册表的示意图,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion的注册表,Run子键下包括多个键值项,键值项的名称即为开机启动项,键值项的键值为相应的进程命令行,图3中键值项名称testrun对应为一个启动项,键值项的键值“c:\test\testrun.exe”/startup”对应为进程命令行。
[0101] Run子键不仅位于注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下,还位于注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下。HKEY_CURRNT_USE R和HKEY_LOCAL_MACHINE的区别是前者对于当前用户有效,后者对于所有用户都有效。因此,在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下,也可以用同样的方法读取到启动项信息。
[0102] 除此之外,在具体的实现中,还可以在以上两个注册表下的“RunServicesOnce”子键、“RunServices”子键、“RunOnce\Setup”子键以及“RunOnce”子键中,采用同样的方法读取到启动项的相关信息。
[0103] 操作系统目录下的相关启动文件夹中也记录了相关的启动项信息,启动文件夹中包括一个或多个文件,具体为在开机时加载的EXE程序文件或是程序的快捷方式,文件名称对应为开机启动项,文件的属性信息中包括了相应的进程命令行。对于启动文件夹中的快捷方式,通过右键点击快捷方式-->属性-->目标,目标即是进程命令行,对于启动文件夹中的EXE文件,文件名称对应为启动项,将当前文件的路径加上文件名即为该启动项对应的进程命令行。
[0104] 本发明实施例中,启动项文件夹包括启动文件夹以及All Users中的自启动程序文件夹,启动项文件夹位于“documents and Settings-->User-->〔开始〕菜单-->程序”目录下,自启动程序文件夹位于“documentsand Settings-->All User-->〔开始〕菜单-->程序”目录下。
[0105] 在具体的实现中,启动项信息中记录的可以是各个父进程对应的进程命令行,而进程信息中记录的可以是父进程和/或子进程所加载的程序文件,将进程信息与启动项信息匹配后得到的是启动项所加载的父进程对应的程序文件。
[0106] 本发明实施例中,进程信息中还可以进一步包括父进程和子进程的对应关系,步骤1021还可以包括:
[0107] 子步骤1021-3,依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。
[0108] 进程信息记录驱动在获取各个进程对应加载的程序文件时,还可以进一步对各个进程分配唯一的编号,其中,子进程的编号依据父进程的编号生成。本发明实施例中,在对进程信息和启动项信息进行匹配后,可以进一步依据进程的编号的对应关系,可以进一步查找到某个父进程对应的所有子进程,进而可以获得启动项对应的所有进程所加载的程序文件。
[0109] 步骤104,获取所述程序文件的安全属性,并依据所述程序文件的安全属性对相应的开机启动项进行清理。
[0110] 获取了开机过程中的各个启动项加载的一个或多个程序文件后,可以进一步获取启动项加载的程序文件的安全属性。具体而言,可以通过对程序文件所对应的特征信息进行识别来获取程序文件的安全属性。
[0111] 在本发明实施例中,获取所述程序文件的安全属性的步骤可以包括:
[0112] 子步骤1041,将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述程序文件的安全属性;
[0113] 或,子步骤1042,在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。
[0114] 本发明实施例中,程序文件记录的可能是EXE文件和/或DLL文件的文件路径,这种情况下,还需要进一步依据文件路径获取相应的EXE文件和/或DLL文件。程序文件的特征信息可以通过对程序文件处理后得到,具体而言,程序文件包括MS-DOS可执行体、文件头、可选头、数据目录、节头以及节等结构组成。其中,文件头中包含如下结构:
[0115] 1)“Machine(机器)”,用来指出该二进制文件预定运行于什么样的系统;
[0116] 2)“NumberOfSections(节数)”,它是紧跟在头后面的节的数目;
[0117] 3)“TimeDateStamp(时间戳)”,用来给出文件建立的时间;
[0118] 4-5)“PointerToSymbolTable(符号表指针)”和“NumberOfSymbols(符号数)”(都是32位)都用于调试信息的;
[0119] 6)“SizeOfOptionalHeader(可选头大小)”只是“IMAGE_OPTIONAL_HEADER(可选头)”项的大小,可以用它去验证PE文件结构的正确性;
[0120] 7)“Characteristics(特性)”是一个16位的,由许多标志位形成的集合组成,但大多数标志位只对目标文件和库文件有效。
[0121] 本发明实施例可以通过预设算法对程序文件进行转换,并将转换后的文件作为程序文件对应的特征信息。在一种优选的实施例中,可以采用信息摘要算法对程序文件进行转换,信息摘要算法即MD5(Message-DigestAlgorithm 5),MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被″压缩″成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串,可以确保信息传输完整一致。
[0122] 本发明的一种优选实施例中,可以将程序文件的特征信息上传到服务器端进行识别,服务器端预置有第一特征信息数据库,其中包括程序的特征信息与程序的安全属性的对应关系。安全属性可以包括危险文件、安全文件和未知文件,在具体的实现中,可以将安全属性相应的更具体的设置为黑文件、白文件和灰文件。在具体的实现中,安全属性具体的种类和个数也可以根据需要设定,本发明对此并不做限制。
[0123] 本发明的另一种优选实施例中,也可以在计算机本地对特征信息的安全属性进行判断,计算机本地可以预置第二特征信息数据库,其中包含了程序的特征信息与安全等级的对应关系。在计算机无法连接服务端时,可以在本地的第二特征信息数据库,查找程序文件的特征信息对应的程序文件的安全等级。
[0124] 在本发明实施例中,依据程序文件的安全属性对相应的开机启动项进行清理的步骤可以包括:
[0125] 子步骤1043,依据所述程序文件的安全属性确定对应的开机启动项的安全属性;
[0126] 子步骤1044,依据各开机启动项的安全属性确定待清理的开机启动项;
[0127] 子步骤1045,删除系统启动项注册表中待清理的开机启动项的键值和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。
[0128] 在确定了各个程序文件的安全属性之后,可以进一步依据程序文件的安全属性确定开机启动项的安全属性,本发明实施例中,开机启动项加载的程序文件可以包括一个或多个,开机启动项的安全属性可以是对应的一个或多个程序文件中安全性最低的安全属性。
[0129] 例如,若某个启动项加载了一个EXE文件和一个DLL文件,EXE文件的特征信息对应的安全属性为黑文件,DLL文件的特征信息对应的安全属性为灰文件,黑文件的安全属性低于灰文件的安全属性,启动项的安全属性可以确定为黑文件。
[0130] 获取了开机启动项的安全属性后,可以进一步依据开机启动项的安全属性确定待清理的开机启动项,具体而言:
[0131] 若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;
[0132] 若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。
[0133] 在具体的清理过程中,对于系统注册表中的开机启动项,可以通过删除启动项程序对应的注册表的键值来禁止开机时运行该启动项,例如,需要删除testrun.exe程序的系统启动项,可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 目录下,查找并删除启动项注册表名称为testrun的键值项,然fg除该键值项的键值c:\test\testrun.exe。
[0134] 对于系统目录下启动项文件夹中待清理的开机启动项,可以直接删除开机启动项对应的EXE程序文件或是快捷方式,从而禁止开机时运行该启动项。
[0135] 在具体的实现中,在所述步骤104之前,所述方法还可以包括:
[0136] 去除与系统文件具备相同名称的程序文件;
[0137] 和/或,去除系统启动项注册表中预置键值项所对应的程序文件。
[0138] 在步骤102中获取了程序文件后,在获取程序文件的安全属性前,可以先排除一些已知的安全程序文件,具体可以包括与系统文件同名的程序文件,以及一些大多程序会加载的程序文件。
[0139] 具体的实现中,可以预先收集多个系统文件添加到系统文件列表中,当某个程序文件与系统文件列表中的某个系统文件同名时,可以不用进一步判断安全属性,从待识别的程序文件中去除该程序文件。
[0140] 在注册表某些重要的键值项中会记录一些大多程序会加载的程序文件。例如,在路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Windows\的注册表下,[AppInit_DLLs]键值项所对应的键值中包含一个DLL文件名或者一组DLL文件名(用空格或逗号隔开)。当有程序加载User32.dll时,User32.dll会加载这里面的所有DLL。因为界面程序大都会用到User32.dll,所以这个注册表位置下的DLL会被大多数的程序加载。因此,可以收集一些特殊的键值项,对于这些键值项所对应的程序文件,无需进一步判断安全属性,可以从待识别的程序文件中去除该程序文件。
[0141] 综上所述,依据本发明实施例,通过记录计算机开机过程中加载进程命令行和进程加载的程序文件,其中包括了开机启动时可能加载的木马等恶意程序劫持DLL文件,与计算机操作系统记录的启动项信息进行匹配,得出计算机开机启动过程中,开机启动项所加载的程序文件,进而通过判断程序文件的安全性对启动项进行清理,与背景技术相比,本发明实施例可以避免开机后木马等恶意程序劫持文件退出启动项,无法找出木马劫持的相关文件的问题。
[0142] 需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
[0143] 参考图2,示出了本发明实施例的一种开机过程的处理方法实施例的流程图,具体可以包括以下步骤:
[0144] 步骤200,获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0145] 步骤202,将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0146] 步骤204,获取所述程序文件的安全属性;
[0147] 步骤206,依据所述程序文件的安全属性对相应的开机启动项进行清理,并依据所述程序文件的安全属性,以及预置的与所述安全属性相对应的程序清理策略,对各程序文件进行清理。
[0148] 与上个实施例不同的是,本实施例中,还可以进一步依据程序文件的安全属性对程序文件进行清理。在本发明的一种优选实施例中,程序文件的安全属性可以包括危险文件、安全文件和未知文件,应用程序的安全属性与程序清理策略可以有如下对应关系:
[0149] 当程序文件的安全属性为危险文件时,对应的清理策略为删除与程序文件相关的所有文件;
[0150] 当程序文件的安全属性为安全文件或未知文件时,对应的清理策略为不做任何处理。
[0151] 在具体的实现中,程序文件安全属性的分类和程序清理策略的对应关系可以根据应用环境和需求灵活设置。
[0152] 其中,步骤200-206的部分内容可以参照图1中各个步骤的描述,此处不再赘述。
[0153] 参考图3,示出了本申请的一种开机启动项的清理装置实施例的结构框图,具体可以包括以下模块:
[0154] 进程信息获取模块10,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0155] 匹配模块12,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0156] 安全属性获取模块14,适于获取所述程序文件的安全属性;
[0157] 清理模块16,适于依据所述程序文件的安全属性对相应的开机启动项进行清理。
[0158] 本发明实施例中,所述程序文件可以包括创建进程的可执行文件和进程加载的动态链接库文件。
[0159] 本发明实施例中,所述匹配模块可以包括:
[0160] 读取子模块,适于读取计算机操作系统记录的启动项信息;
[0161] 命令行匹配子模块,适于将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;
[0162] 程序文件获取子模块,适于从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。
[0163] 本发明实施例中,所述读取子模块可以读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;
[0164] 和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。
[0165] 本发明实施例中,所述清理模块可以包括:
[0166] 属性确定子模块,适于依据所述程序文件的安全属性确定对应的开机启动项的安全属性;
[0167] 清理启动项确定子模块,适于依据各开机启动项的安全属性确定待清理的开机启动项;
[0168] 删除子模块,适于删除系统启动项注册表中待清理的开机启动项的键值;和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。
[0169] 本发明实施例中,所述清理启动项确定子模块还可以适于:
[0170] 若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;
[0171] 若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。
[0172] 本发明实施例中,所述启动项信息中可以包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。
[0173] 本发明实施例中,所述匹配模块还可以包括:
[0174] 子进程程序文件提取子模块,适于依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。
[0175] 本发明实施例中,所述装置还可以包括:
[0176] 去除模块,适于去除与系统文件具备相同名称的程序文件;和/或,去除系统启动项注册表中预置键值项所对应的程序文件。
[0177] 本发明实施例中,所述装置还可以包括:
[0178] 记录模块,适于调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;
[0179] 所述进程信息获取模块调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。
[0180] 本发明实施例中,所述安全属性获取模块可以包括:
[0181] 服务端获取子模块,适于将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库横纵,依据所述特征信息查找所述程序文件的安全属性;
[0182] 或,本地获取子模块,适于在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。
[0183] 参考图4,示出了本申请的一种开机过程的处理系统实施例的结构框图,具体可以包括以下模块:
[0184] 进程信息获取模块20,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0185] 匹配模块22,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0186] 安全属性获取模块24,适于获取所述程序文件的安全属性;
[0187] 启动项清理模块26,适于依据所述程序文件的安全属性对相应的开机启动项进行清理;
[0188] 程序文件清理模块28,适于依据所述程序文件的安全属性,以及预置的与所述安全属性相对应的程序清理策略,对各程序文件进行清理。
[0189] 其中,模块20-26可以参照图3中各个模块的描述,此处不再赘述。
[0190] 参考图5,示出了本申请的一种清理系统实施例的结构框图,具体可以包括:
[0191] 计算机31和服务器32;
[0192] 所述计算机31包括进程信息获取模块311、匹配模块312、程序属性获取模块313、启动项属性确定模块314、清理启动项确定模块315、启动项清理模块316和程序文件清理模块317;
[0193] 所述进程信息获取模块311,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;
[0194] 所述匹配模块312,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;
[0195] 所述程序属性获取模块313,适于提取所述程序文件的特征信息发送到服务器,并接受服务器依据所述特征信息确定的程序文件的安全属性;
[0196] 所述启动项属性确定模块314,适于依据所述程序文件的安全属性确定对应的开机启动项的安全属性;
[0197] 所述清理启动项确定模块315,依据各开机启动项的安全属性确定待清理的开机启动项;
[0198] 所述启动项清理模块316,适于删除系统启动项注册表中待清理的开机启动项的键值,和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件;
[0199] 所述程序文件清理模块317,适于依据所述程序文件的安全属性,以及预置的与所述安全属性相对应的程序清理策略,对各程序文件进行清理。
[0200] 所述服务器32包括程序特征信息数据库321、程序属性查询模块322;
[0201] 所述程序属性查询模块322,适于接收计算机发送的开机启动项所加载的程序文件的特征信息,并在所述特征信息数据库中查找所述特征信息对应的安全属性。
[0202] 其中,本发明实施例中的各个模块可以参照图1-4的各个实施例的描述,此处不再赘述。
[0203] 对于上述开机启动项的清理装置、开机过程的处理系统和清理系统的实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1和图2所示方法实施例的部分说明即可。
[0204] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0205] 本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
[0206] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它计算机固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0207] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0208] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0209] 本领域那些技术人员可以理解,可以对实施例中的计算机中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个计算机中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者计算机的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0210] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0211] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的开机启动项的清理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的计算机或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0212] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0213] 本文公开了A1、一种开机启动项的清理方法,包括:获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;获取所述程序文件的安全属性,并依据所述程序文件的安全属性对相应的开机启动项进行清理。A2、根据A1所述的方法,所述程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。A3、根据A1所述的方法,所述将进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件的步骤包括:读取计算机操作系统记录的启动项信息;将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。A4、根据A3所述的方法,所述读取计算机操作系统记录的启动项信息的步骤包括:读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。A5、根据A4所述的方法,所述依据程序文件的安全属性对相应的开机启动项进行清理的步骤包括:依据所述程序文件的安全属性确定对应的开机启动项的安全属性;依据各开机启动项的安全属性确定待清理的开机启动项;删除系统启动项注册表中待清理的开机启动项的键值;和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。A6、根据A5所述的方法,所述依据各开机启动项的安全属性确定待清理的开机启动项的步骤包括:若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。A7、根据A3所述的方法,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。A8、根据A7所述的方法,所述将进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件的步骤还包括:依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。
A9、根据A1所述的方法,在所述获取程序文件的安全属性的步骤之前,所述方法还包括:去除与系统文件具备相同名称的程序文件;和/或,去除系统启动项注册表中预置键值项所对应的程序文件。A10、根据A1所述的方法,还包括:调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;所述获取计算机开机过程中所加载的进程信息的步骤包括:调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。A11、根据A1所述的方法,所述获取程序文件的安全属性的步骤包括:将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述程序文件的安全属性;或,在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。
[0214] 本文公开了B12、一种开机启动项的清理装置,包括:进程信息获取模块,适于获取计算机开机过程中所加载的进程信息,所述进程信息包括进程命令行和进程加载的程序文件;匹配模块,适于将所述进程信息与计算机操作系统记录的启动项信息进行匹配,获得开机启动项所加载的程序文件,所述启动项信息包括开机启动项和对应的进程命令行;安全属性获取模块,适于获取所述程序文件的安全属性;清理模块,适于依据所述程序文件的安全属性对相应的开机启动项进行清理。B13、根据B12所述的装置,所述程序文件包括创建进程的可执行文件和/或进程加载的动态链接库文件。B14、根据B12所述的装置,所述匹配模块包括:读取子模块,适于读取计算机操作系统记录的启动项信息;命令行匹配子模块,适于将所述启动项信息中的进程命令行与所述进程信息中的进程命令行进行匹配;程序文件获取子模块,适于从所述启动项信息中查找与相匹配的进程命令行对应的开机启动项,并从所述进程信息中查找与所述相匹配的进程命令行对应的程序文件,得出所述开机启动项所加载的程序文件。B15、根据B14所述的装置,所述读取子模块读取计算机操作系统启动项注册表中的键值项,其中,所述键值项的名称为开机启动项,所述键值项的键值为相应的进程命令行;和/或,读取计算机操作系统目录下的启动项文件夹中各个文件,其中,文件名称为开机启动项,文件的属性信息中包括相应的进程命令行。B16、根据B15所述的装置,所述清理模块包括:属性确定子模块,适于依据所述程序文件的安全属性确定对应的开机启动项的安全属性;清理启动项确定子模块,适于依据各开机启动项的安全属性确定待清理的开机启动项;删除子模块,适于删除系统启动项注册表中待清理的开机启动项的键值;和/或,删除系统目录下启动项文件夹中待清理的启动项对应的各个文件。B17、根据B16所述的装置,所述清理启动项确定子模块还适于:若开机启动项的安全属性为安全文件或未知文件,则所述开机启动项不是待清理的开机启动项;若开机启动项的安全属性为危险文件,则所述开机启动项为待清理的开机启动项。B18、根据B14所述的装置,所述启动项信息中包括各个父进程对应的进程命令行,所述进程信息中包括父进程和/或子进程所加载的程序文件,所述进程信息中还包括父进程和子进程的对应关系。B19、根据B18所述的装置,所述匹配模块还包括:子进程程序文件提取子模块,适于依据进程信息中父进程和子进程的对应关系,提取父进程对应的子进程的程序文件,将所述父进程和子进程分别对应的程序文件作为开机启动项对应的程序文件。B20、根据B12所述的装置,还包括:去除模块,适于去除与系统文件具备相同名称的程序文件;和/或,去除系统启动项注册表中预置键值项所对应的程序文件。B21、根据B12所述的装置,还包括:记录模块,适于调用进程信息记录驱动与计算机操作系统通信,记录计算机开机过程中所加载的进程信息;所述进程信息获取模块调用网络通信驱动与所述进程信息记录驱动通信,获取所述进程信息记录驱动记录的进程信息。B22、根据B12所述的装置,所述安全属性获取模块包括:服务端获取子模块,适于将所述程序文件对应的特征信息上传到服务器端,服务器端在预置的第一特征信息数据库中,依据所述特征信息查找所述程序文件的安全属性;或,本地获取子模块,适于在计算机本地预置的第二特征信息数据库中,依据所述程序文件对应的特征信息查找所述程序文件的安全属性。