一种启动项管理方法、装置、设备、存储介质及程序产品与流程

文档序号:33633116发布日期:2023-03-28 23:40阅读:53来源:国知局
一种启动项管理方法、装置、设备、存储介质及程序产品与流程

1.本技术涉及计算机技术领域,尤其涉及一种启动项管理方法、装置、设备、存储介质及程序产品。


背景技术:

2.软件的启动项一般是指开机时系统在前台或者后台运行的程序。在windows系统上管理各种第三方软件的启动项一直以来都是比较复杂的问题,管理效果不佳。
3.一方面原因在于windows系统的启动项写入点是对外开放的。这导致很多软件可以随意写入启动项,并且也可以在软件运行过程中也可以随时写入,更有甚者还存在软件之间的互相写入启动项来对抗杀毒软件的处理。另一方面原因是windows系统原本只提供应用层的启动项开启和关闭入口,但是有些软件通过驱动程序在内核级进行启动项的保护,防止被杀软关闭。这对系统用户造成了非常大的困扰,杀毒软件也在这方面跟此类软件进行着各种对抗。
4.目前而言,windows系统在启动项的管理方面难以应对软件的随意写入,也难于避免杀毒软件和此类第三方软件的频繁对抗,管理效果不佳,影响用户对系统的使用体验。针对于windows系统这种启动项管理局面,有必要提供一种能够更为有效的启动项管理方案。


技术实现要素:

5.本技术实施例提供了一种启动项管理方法、装置、设备、存储介质及程序产品,目的是实现对windows系统下软件的启动项的有效管理。
6.本技术第一方面提供了一种启动项管理方法。该方法包括:
7.根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点;
8.通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作;
9.获取所识别的启动项关联对象的操作信息;
10.根据所述操作信息确定目标软件;根据所述目标软件对应的启动项管理策略对所述目标软件的启动项进行管理。
11.本技术第二方面提供了一种启动项管理装置。该装置包括:
12.设置单元,用于根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点;
13.识别单元,用于通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作;
14.信息获取单元,用于获取所识别的启动项关联对象的操作信息;
15.软件确定单元,用于根据所述操作信息确定目标软件;
16.启动项管理单元,用于根据所述目标软件对应的启动项管理策略对所述目标软件的启动项进行管理。
17.本技术第三方面提供了一种启动项管理设备,所述启动项管理设备包括处理器以及存储器:
18.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
19.所述处理器用于根据所述程序代码中的指令执行第一方面提供的启动项管理方法的步骤。
20.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面提供的启动项管理方法的步骤。
21.本技术第五方面提供了一种计算机程序产品。该计算机程序产品包括计算机程序或指令,该计算机程序或指令被启动项管理设备执行时实现第一方面提供的启动项管理方法的步骤。
22.该计算机程序或指令被启动项管理设备执行时实现第一方面提供的启动项管理方法的步骤。
23.从以上技术方案可以看出,本技术实施例具有以下优点:
24.在软件的启动项信息被创建时,通过预先设置的过滤拦截点及时识别启动项关联对象(例如注册表、文件、服务api等)的变化。由于过滤拦截点是根据启动项关联对象的位置信息和操作类型对应设置的,因此具有较高的识别准确性和识别精度。获取说识别的启动项关联对象的操作信息,例如操作者进程信息、操作类型、操作者路径或被操作路径等,根据操作信息确定目标软件。在确定了目标软件后,采用其对应的启动项管理策略对该软件的启动项进行管理。由于此方案能够实现对启动项关联对象的变化的及时感知,从而能够在启动项信息发生创建后快速响应,以软件对应的启动项管理策略执行管理。这种及时感知、快速响应、针对性管理的技术能够提升对windows系统软件启动项的管理效率和管理效果,并从机器环境为用户营造一种清净感,提升用户的体验。
附图说明
25.图1为本技术实施例提供的一种实现启动项管理的场景架构图;
26.图2a为本技术实施例提供的一种启动项管理方法的流程图;
27.图2b为本技术实施例提供的一种在安装提示界面展示启动项权限管理选项的示意图;
28.图2c为本技术实施例提供的一种在启动项管理界面展示启动项权限管理选项的示意图;
29.图3a为本技术实施例提供的一种确定展示启动项权限管理选项的流程图;
30.图3b为本技术实施例提供的一种配置软件启动项权限的示意流程图;
31.图4为本技术实施例提供的一种过滤驱动设置过滤拦截点并进行识别的流程图;
32.图5为本技术实施例提供的一种匹配确定目标软件的流程图;
33.图6a为本技术实施例提供的另一种启动项管理方法的流程图;
34.图6b为本技术实施例提供的又一种启动项管理方法的流程图;
35.图7为本技术实施例提供的一种启动项管理装置的结构示意图;
36.图8为本技术实施例中服务器的一个结构示意图;
37.图9为本技术实施例提供的一种平板电脑的结构示意图。
具体实施方式
38.当前启动项管理在windows系统中去实现时,面临管理效果不佳的困境。这是因为windows系统缺乏与移动端(例如手机)相比的系统环境。对于手机而言,第三方软件的行为都是被系统的权限管理所控制的,因此不会遇到windows在启动项管理方面的混乱局面。如何在windows系统中实现对启动项的有效管理,是需要解决的一大难题。
39.用户一般是主动使用杀毒软件的启动项相关的管理模块,来进行手动的扫描处理。通过扫描出来的启动项信息,然后根据自己的判断来对某些软件的启动项进行处理,是要禁用还是启用都需要用户自己的判断。有些杀毒软件的启动项管理模块可以捕捉到第三软件在写入启动项时机的行为,然后以提示弹窗的形式通知给用户,让用户自行判断是否阻止写入。以上方案依赖到用户过多的处理,用户需要面对第三方软件频繁的启动项拉起行为,从而让用户过多的人为的判断和处理,有时候如果用户注意力没有关注到,很可能导致软件的启动项互拉行为带来的对系统资源的频繁占用。影响用户的体验,干扰用户的正常操作。
40.针对这一问题,本技术中提供了一种启动项管理方法、装置、设备、存储介质及程序产品。通过感知启动项关联对象的变化了解启动项信息发生新的创建。通过拦截到的有关启动项关联对象的操作信息来确定目标软件。接着采用目标软件对应的启动项管理策略对目标软件进行启动项的管理。由于本方案以启动项关联对象的变化为感知目标,一旦获取到发生变化的启动项关联对象的操作信息,便基于该信息来确定软件并对其按照预先配置的启动项管理策略进行启动项管理,因此可以提升管理效率和管理效果,减少启动项管理混乱的局面。并且能够进行自动化的应对、操作,减少用户在处理过程中受到的干扰,提升用户体验。
41.图1为本技术实施例提供的一种实现启动项管理的场景架构图。如图1所示,该场景中包括过滤驱动和启动项感知模块。其中,启动项感知模块隶属于电脑管家软件,启动项感知模块位于应用层。过滤驱动与启动项感知模块配合来完成启动项管理。其中,过滤驱动负责感知启动项关联对象的变化,将操作信息上抛给启动项感知模块,启动项感知模块则负责基于操作信息确定目标软件,并采用目标软件对应的启动项管理策略对目标软件的启动项进行处理。整个过程可以做到令系统用户无感,也可以在管理前期、管理阶段和管理结束后,为用户提供其所需的提示。至于提示与否,可以根据用户的设置进行,此处不做限制。
42.过滤驱动和电脑管家软件均安装在运行有windows系统的启动项管理设备上。该设备可以是服务器或者终端设备。终端设备可以是个人电脑、笔记本电脑、平板电脑、游戏机等。终端设备开机时,过滤驱动也随即启动。读取策略配置信息,解析策略配置信息得到策略链,过滤驱动遍历策略链并针对其中描述的待过滤拦截的启动项关联对象的位置信息和操作类型设置过滤拦截点。开机时刻完成策略链的安装后,电脑管家的启动项感知模块启动,这个模块会注册回调通知来获取过滤驱动上抛的有关发生变更的启动项关联对象的操作信息。下面结合实施例,介绍启动项管理方法的具体实现。
43.图2a为本技术实施例提供的一种启动项管理方法的流程图。如图2a所示的启动项管理方法包括:
44.s201、根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点。
45.软件尝试启动项信息的写入时,创建启动项信息。一般软件的启动项信息的创建
可以分以下几种,a.注册表值的创建和变更,如开机启动项、右键菜单、插件项、服务启动等;b.文件信息的落地,比如计划任务的创建;c.系统的服务api创建。有鉴于此,本技术实施例中,将注册表、文件和服务api作为三类启动项关联对象,启动项关联对象的变化与启动项信息的创建相关联。为了及时感知启动项信息的写入,对软件启动项进行及时、有效的管理,首先通过过滤驱动设置过滤拦截点。过滤拦截点的主要作用是识别启动项关联对象的变化,尤其是在较为关键的位置发生的特定类型的操作。为使所设置的过滤拦截点具备上述作用,本技术实施例提出根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点。
46.待过滤拦截的注册表,其位置信息包括注册表的具体项位置;待过滤拦截的文件,其位置信息包括文件路径位置。待过滤拦截的服务api,其位置信息包括系统service进程。
47.待过滤拦截的注册表的操作类型包括:注册表的创建、修改和删除。待过滤拦截的文件的操作类型包括:文件的创建、修改、删除和重命名。待过滤拦截的服务api的操作类型包括:服务api的创建。
48.针对待过滤拦截的启动项关联对象的位置信息和操作类型,设置对应的过滤拦截点。例如针对待过滤拦截的注册表的位置信息和操作类型,设置针对于此位置和此类型操作的注册表的过滤拦截点;针对待过滤拦截的文件的位置信息和操作类型,设置针对于此位置和此类型操作的文件的过滤拦截点;针对待过滤拦截的服务api的位置信息和操作类型,设置针对于此位置和此类型操作的服务api的过滤拦截点。
49.s202、通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作。
50.在过滤拦截点设置了识别逻辑使其具备识别启动项关联对象在相应位置发生相应类型操作的作用。对于注册表、文件,过滤拦截点的识别逻辑表现为对相应位置发生相应类型操作的过滤拦截逻辑;对于服务类api,过滤拦截点的识别逻辑表现注入系统service进程的hook。
51.s203、获取所识别的启动项关联对象的操作信息。
52.过滤驱动通过设置的过滤拦截点感知到启动项关联对象发生变化并进行拦截,得到发生变化的启动项关联对象的操作信息,例如操作者进程信息、操作类型、操作者路径或者被操作路径等。过滤驱动上抛操作信息,启动项感知模块负责接收。具体实现方式为:启动项感知模块注册回调通知来获取过滤驱动上抛的操作信息。
53.s204、根据操作信息确定目标软件。
54.对于以上a、b类型的启动项信息创建,拦截得到的操作信息包括操作者路径、操作者进程信息、被操作路径等。启动项感知模块根据这些操作信息对本机进行一次启动项信息的扫描。将扫描到的启动项信息与操作信息一一匹配,将匹配成功的启动项信息确定为与启动项关联对象的变化相关联的启动项信息。接着,可以根据启动项信息确定对应的目标软件。实际应用中,启动项信息与软件具有对应关系,根据此对应关系便可以确定出上述匹配确定的启动项信息对应的软件,本技术实施例中将此软件称为目标软件,该目标软件正在尝试写入启动项。
55.对于以上c类型的启动项信息创建,过滤驱动会通过设置的过滤拦截点hook住系统的关键进程service.exe,因为服务和驱动都是通过系统服务管理器来启动服务和驱动
服务的。在软件调用service进程进行启动项创建的时候,通过hook的方式可以获取到软件试图启动的服务名称、注册表路径和执行二进制的路径信息作为操作信息。同上,通过匹配到具体的软件的启动项信息后,确定该软件正尝试写入启动项。
56.在明确了目标软件之后,需要对其进行启动项的管理,管理方式参见下方步骤s205。
57.s205、根据目标软件对应的启动项管理策略对目标软件的启动项进行管理。
58.启动项的管理策略包括允许、禁用。当通过s204确定了目标软件后,根据预先设定的启动项的管理策略进行启动项管理即可。下面介绍本步骤的一种示例实现方案,在本技术技术方案中建立了启动项禁用策略库,并将需要禁用启动项的软件标识(id)列入其中。位于启动项禁用策略库中的软件,其具体的启动项管理策略为禁用。因此当确定目标软件位于启动项禁用策略库时,需要遍历目标软件的所有启动项信息并禁用。如果目标软件并非位于启动项禁用策略库,则不需要采取启动项的禁用措施。
59.以上即为本技术实施例提供的一种启动项管理方法。通过预先设置的过滤拦截点及时识别启动项关联对象(例如注册表、文件、服务api等)的变化。由于过滤拦截点是根据启动项关联对象的位置信息和操作类型对应设置的,因此具有较高的识别准确性和识别精度。获取说识别的启动项关联对象的操作信息,例如操作者进程信息、操作类型、操作者路径或被操作路径等,根据操作信息确定目标软件。在确定了目标软件后,采用其对应的启动项管理策略对该软件的启动项进行管理。由于此方案能够实现对启动项关联对象的变化的及时感知,从而能够在启动项信息发生创建后快速响应,以软件对应的启动项管理策略执行管理。这种及时感知、快速响应、针对性管理的技术能够提升对windows系统软件启动项的管理效率和管理效果,并从机器环境为用户营造一种清净感,提升用户的体验。用户仅需要预先配置好软件的启动项管理策略便可以按照此策略在该软件尝试写入启动项时进行便捷的管理,避免过多地依赖用户的处理,用户也不需要面对频繁的启动项拉起行为。
60.针对前面提到的启动项禁用策略库,下面介绍一种构建此策略库的示例实现方式。
61.在本技术实施例中,提出在软件安装前,通过安装提示界面展示启动项权限管理选项,以便用户进行选择触发。根据用户的触发操作,便可以确定是否该软件的启动项的权限。例如,若用户选择禁用,则后续禁用该软件自行写入启动项;若用户选择允许,则后续在软件执行写入启动项时,即便感知到启动项关联对象的变化并确定了此软件,也可以根据用户在安装前的选择允许其写入启动项。本技术实施例中,响应于针对待安装软件的安装提示界面中启动项权限管理选项的触发操作,获得待安装软件的启动项权限信息。该信息可以用以构建启动项禁用策略库。例如,构建该待安装软件的标识与“禁用”这一启动项管理策略的映射关系,并将该映射关系添加到启动项禁用策略库中。
62.图2b展示了一种在安装提示界面展示启动项权限管理选项的示意图。软件在安装时刻,会根据此软件是否写入启动项的可能性来弹出对应的启动项权限管理选项。如果在刚开始安装时刻,用户就选择了开机自启动的禁用,那么就对此软件的所有可能存在的启动项在今后如果有写入行为,都会被自动感知后禁用。从而实现了软件安装时刻的启动项权限设定。
63.此外,在本技术实施例中还可以对已安装的软件的启动项权限进行统一的管理。
电脑管家展示功能菜单,功能菜单包括:软件弹窗拦截、启动项管理、右键菜单管理、软件安装提示等多个功能控件。用户触发功能控件,电脑管家展示相应的功能界面。当启动项管理这一功能控件被触发,展示启动项管理界面。
64.启动项管理界面中可以展示所有已安装软件的启动项权限管理选项。还可以展示软件名称与描述、管家建议、状态等信息。状态展示启动项权限信息。通过该界面中展示的启动项权限管理选项,用户可以方便快捷地实现在windows系统下对于不同软件的启动项权限的统一管理。例如用户通过触发软件a的启动项权限管理选项,禁用软件a的启动项;通过触发软件b的启动项权限管理选项,从禁用切换为允许软件b的启动项。通过用户对选项的触发动作,能够获得这些已安装软件的启动项权限信息。
65.可以理解的是,在这些已安装软件的安装阶段,用户就曾触发过安装提示界面中展示的启动项权限管理选项。在启动项管理界面中展示的启动项权限管理选项可以展示在安装阶段的触发结果。例如在安装阶段用户选择了对于软件a的启动项禁用,则在启动项管理界面中软件a的启动项权限管理选项默认置于“禁用”。当然,用户可以在启动项管理界面中通过选择触发更改启动项权限信息,例如从“禁用”变更为“允许”。此处,启动项权限管理选项可以是开关的形式。触发开关打开,表示“允许”,触发开关关闭,表示“禁用”。用户可以随时打开启动项管理界面对各软件的启动项权限进行管理、变更。
66.图2c为本技术实施例提供的一种在启动项管理界面展示启动项权限管理选项的示意图。如图2c所示,用户可以根据电脑管家的管家建议进行权限选项的选择。图2c展示的是用户主动使用场景下的启动项权限管理,可以对软件的整体启动项开关进行权限设置。以目标已安装软件为例,当针对目标已安装软件的启动项权限管理选项的触发操作具体为打开操作时,将所述启动项管理界面中展示的所述目标已安装软件的状态由禁用更改为允许;当针对目标已安装软件的启动项权限管理选项的触发操作具体为关闭操作时,将所述启动项管理界面中展示的所述目标已安装软件的状态由允许更改为禁用。
67.本技术实施例中,根据待安装软件的启动项权限信息和/或已安装软件的启动项权限信息,构建启动项禁用策略库。具体而言,启动项权限信息为禁用的软件,加入到启动项禁用策略库。可以是将软件的标识id加入到启动项禁用策略库。如果用户通过操作启动项权限管理选项将启动项权限信息更改为“允许”,相应地,该软件id也从启动项禁用策略库中移除。如果之前在软件安装时刻没有选择过禁用启动项权限,在此启动项管理界面可以再次选择整体启动项权限的禁用,那么这个软件的启动项权限会立即加入启动项自动感知禁用,此软件今后的启动项写入行为均会被自动拦截并禁用。在本技术实施例中,启动项禁用策略库可以跟随用户的触发选择动态变化,增加或者移除软件id。通过启动项禁用策略库可以更加快捷地查询与确定软件的启动项管理策略,实现对软件启动项轻松、快捷的管理。
68.本技术技术方案中,将启动项的管理按软件整合后进行整体的权限化管理,用户只用在软件安装时刻进行一次启动项权限设置,在今后此软件的启动项行为都会按照用户选择的方式进行设定,如果第三方软件在运行过程中存在重写启动项的行为都会被本发明的自动感知模块所处理。
69.实际应用中,可能并非所有软件均有写入启动项的可能,因此在软件安装前,通过安装提示界面展示启动项权限管理选项并非对每一个软件均适用。例如对于一些规范程度
高、口碑好的软件,可能鲜少出现这种使用过程中写入启动项的可能。要做到在软件安装时刻就能进行对于权限的标记,需要知道当前用户是运行的安装包,且这个安装包能被我们所识别。要做到这点从技术上要能做到识别用户当前正在运行安装包程序,安装包程序也是一种可执行文件,那么可以通过hook系统的createprocess来知道用户执行了可执行程序。此外,另外一个是要知道当前运行的可执行程序是一个安装包,并且要知道是哪个软件的安装包,计算出可执行文件的md5信息,然后通过云查平台来确定到这个md5信息对应的安装包属于哪个软件。云查平台是可以通过安装包的md5信息来确定安装包属于哪个软件的一套运营系统,这套系统会定时爬取外网的安装包信息来加以运营,具有较高的识别率。因为外网的安装包非常的庞大,目前是通过软件管理平台和常用的一些分发平台的安装包更新爬取来进行md5信息自动化记录的,这样可以保证99%以上的安装包识别到对应的软件。
70.图3a为本技术实施例提供的一种确定展示启动项权限管理选项的流程图。结合图3a,本技术介绍一种在软件安装前通过安装提示界面展示启动项权限管理选项的实现方式。
71.如图3a所示,在待安装软件的安装程序启动后,获取进程启动信息。接着根据进程启动信息获得可执行文件的路径。当根据可执行文件的路径确定可执行文件为安装包文件时,生成安装包文件的md5信息。其中md5信息是一种可以唯一识别文件内容的一串十六进制值信息。基于md5信息确定待安装软件的id。当根据待安装软件的id和本地的配置文件,确定待安装软件为疑似写入启动项的软件,则在待安装软件的安装提示界面中展示启动项权限管理选项。其中,本地配置文件是通过过往长期的启动项运营积累的信息构建得到的配置文件。
72.具体而言,电脑管家会hook住系统的createprocess接口,从而如果有进程启动的话会首先进入到图3a所示的检测逻辑。用户在运行某个可执行程序的时候,被电脑管家的hook模块所捕获。hook模块捕获到进程启动信息后,可以得到可执行文件的路径,然后根据这个路径来判断是否是安装包文件。具体而言,判断安装包文件是通过获取执行文件的manifest资源文件信息,通过这个信息中的inst标志可以获知这个执行文件是否是安装包。如果判断是安装包文件根据这个安装包来计算出这个安装包文件的md5信息;通过这个md5信息本方案会去安装包云查平台去查询安装包信息。如果云查发现是可以识别的软件安装包,云查平台会返回此安装包所对应软件的id,然后本发明方案会根据此id去询问本地的配置文件是否存在启动项写入行为的可能,如果存在启动项写入行为,在待安装软件的安装提示界面中展示启动项权限管理选项,等待用户触发选择。
73.在图3a展示的流程基础上,本技术实施例还提出,如果在安装阶段就已经获知安装包文件对应的具体软件,并已根据安装提示界面上针对启动项权限管理选项的触发操作获得软件的启动项权限信息,可以据此配置软件的启动项权限并构建启动项禁用策略库中。参见图3b展示的一种配置软件启动项权限的示意流程图。
74.需要说明的是,本技术实施例中,在安装包识别到对应的软件后,可以将软件id进行了集中化管理和生产,这样避免了安装包软件id和启动项的软件id的不统一。通过集中化管理和生产软件id,可以便于更好地打通各个平台的业务。
75.前面提到,过滤驱动通过设置过滤拦截点实现对启动项关联对象的变化的识别。
下面介绍过滤驱动设置过滤拦截点并进行识别的实现方式。过滤驱动位于运行windows系统的终端设备上,过滤驱动在终端设备开机时启动。图4为本技术实施例提供的一种过滤驱动设置过滤拦截点并进行识别的流程图。如图4所示,过滤驱动设置过滤拦截点,具体包括:
76.s401、过滤驱动在终端设备开机时,读取策略配置信息。
77.s402、过滤驱动解析策略配置信息得到策略链。
78.其中,策略链中描述有待过滤拦截的启动项关联对象的位置信息和操作类型。
79.总的来说,策略链就是指需要拦截哪些主要的系统关键项,比如:注册表的读写和删除、文件的创建修改和删除、系统服务的创建和修改;策略链上会比较细致的描述具体需要驱动过滤拦截的位置,例如,注册表的具体项位置,注册表的哪一个键值、哪一个项的的什么行为,如创建行为、修改行为和删除行为等;另外还能拦截具体的文件路径位置,比如哪一个路径下,某个文件类型、某个文件名称下的文件创建行为、文件修改行为和文件删除行为等。对于服务类型的拦截,是依赖注入系统service进程来挂钩关键的系统函数,如startservice、createservice、changeserviceconfig等函数,通过这些函数的参数来获取具体的操作对象路径、名称和操作行为等。
80.s403、过滤驱动遍历策略链,针对位置信息和操作类型设置过滤拦截点。
81.若从策略链遍历到有关注册表的位置信息和操作类型,则针对有关注册表的位置信息和操作类型设置注册表的过滤拦截点,用于识别注册表的变化。若从策略链遍历到有关文件的位置信息和操作类型,则针对有关文件的位置信息和操作类型设置文件的过滤拦截点,用于感知文件的变化。若从策略链遍历到有关服务api的位置信息和操作类型,则针对有关服务api的位置信息和操作类型设置服务api的过滤拦截点(例如设置hook),用于识别服务api的变化。设置哪些过滤拦截点视策略链中的内容而定。
82.s404、过滤驱动通过过滤拦截点识别逻辑识别启动项关联对象在相应位置发生相应类型的操作,并将所识别的启动项关联对象的操作信息上抛给启动项感知模块。
83.策略链遍历完成后,会通过过滤驱动安装具体的过滤拦截点来拦截上面描述的几种类型的操作。这些有关启动项关联对象变化的操作信息都是可以转换到启动项信息识别的,通过这些操作信息能够识别到哪些软件正在创建、修改或者删除启动项。在开机时刻完成策略链安装后,电脑管家的启动项感知模块开始启动,这个模块会注册回调通知来获取过滤驱动上抛上来的拦截信息。如果某个软件正在写入启动项信息,这个时候会被过滤驱动所拦截,过滤驱动通过几个过滤点获取到写入行为的操作信息后,会上抛给启动项感知模块,启动项感知模块会触发启动项扫描引擎的扫描。扫描完成后,会根据这些上抛信息来获取到本次拦截的启动项信息是属于哪个软件。下面几个步骤介绍根据操作信息识别目标软件的过程。该目标软件即是需要采取针对性的启动项管理策略进行管理的软件。
84.图5为本技术实施例提供的一种匹配确定目标软件的流程图。匹配确定目标软件的过程主要由启动项感知模块执行。
85.s501、启动项感知模块注册回调通知,获取过滤驱动上抛的所述操作信息。
86.在获取了操作信息的基础上可以继续执行后续步骤,目的是匹配得到启动项信息。具体参见s502-s503。
87.s502、启动项感知模块触发启动项扫描引擎根据所述操作信息进行全盘信息扫描。
88.启动项扫描引擎可以由电脑管家提供,或者启动项扫描引擎为电脑管家可以通过启动项感知模块触发完成扫描功能的一个独立于电脑管家的扫描引擎。其主要功能是扫描设备中全盘存有的各种启动项信息。对启动项信息以全盘为扫描范围进行针对性的扫描。扫描的目的是获取尽可能全面的启动项信息,从而后续步骤中便于准确识别目标软件。
89.s503、将启动项扫描引擎扫描到的启动项信息与所述操作信息进行逐一匹配,确定匹配成功的启动项信息。
90.以此能够明确本次感知的启动项关联对象的变化对应的启动项信息究竟是什么。由于启动项信息与软件具有对应关系,因此便可以基于该对应关系,在已经确定启动项信息的基础上确定目标软件,参见s504。
91.s504、启动项感知模块根据启动项信息与软件的对应关系,确定匹配成功的启动项信息对应的目标软件。
92.在确定了目标软件后,即可以根据目标软件对应的启动项管理策略对目标软件的启动项进行管理。如前文实施例中s205介绍。此处不再赘述。
93.图6a为本技术实施例提供的另一种启动项管理方法的流程图。该图以更加完整的流程描述了启动项管理的全流程。包括软件安装阶段、软件安装后对于启动项权限信息的收集以建立启动项禁用策略库;过滤驱动设置过滤拦截点识别并拦截对应的启动项关联对象的变化,捕获操作信息并上抛给启动项感知模块;启动项感知模块触发启动项引擎扫描确定目标软件,随后结合启动项禁用策略库中存在目标软件id与否的情况确定是否需要禁用目标软件的启动项。
94.图6b为本技术实施例提供的又一种启动项管理方法的流程图。如该图所示,在设备开机后过滤驱动启用并开始工作,通过读取和解析策略配置信息得到策略链。根据策略链中的待过滤拦截的启动项关联对象的位置信息和操作类型设置过滤拦截点。设置完成后启用过滤拦截点实现有效拦截。拦截到启动项关联对象发生了相应位置相应类型操作的过滤拦截点向启动项感知模块上抛操作信息。启动项感知模块根据上抛信息触发启动项扫描引擎工作,将扫描到的启动项信息与操作信息匹配,基于匹配成功的启动项信息确定目标软件。若目标软件的id位于启动项禁用策略库中,则禁用其启动项信息;否则不予禁用处理。
95.以上实施例介绍的启动项管理方法,能够有效解决了windows系统上启动项难以管理的现状,给用户提供了一套非常简单高效的启动项管理方法。该技术方案中,一方面提升了用户的使用体验,另一方面也能在一定程度上提升我们对软件启动项的禁用成功率。减少启动项管理无效或者管理局面混乱的情况发生的几率。
96.基于前述介绍的启动项管理方法,相应地,本技术实施例提供了一种启动项管理装置。该启动项管理装置用于对windows系统下安装的软件进行启动项管理,图7为启动项管理装置的结构示意图。如图7所示,启动项管理装置包括:
97.设置单元701,用于根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点;
98.识别单元702,用于通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作;
99.信息获取单元703,用于获取所识别的启动项关联对象的操作信息;
100.软件确定单元704,用于根据所述操作信息确定目标软件;
101.启动项管理单元705,用于根据所述目标软件对应的启动项管理策略对所述目标软件的启动项进行管理。
102.本技术技术方案中,在软件的启动项信息被创建时通过预先设置的过滤拦截点及时识别启动项关联对象(例如注册表、文件、服务api等)的变化。由于过滤拦截点是根据启动项关联对象的位置信息和操作类型对应设置的,因此具有较高的识别准确性和识别精度。获取说识别的启动项关联对象的操作信息,例如操作者进程信息、操作类型、操作者路径或被操作路径等,根据操作信息确定目标软件。在确定了目标软件后,采用其对应的启动项管理策略对该软件的启动项进行管理。由于此方案能够实现对启动项关联对象的变化的及时感知,从而能够在启动项信息发生创建后快速响应,以软件对应的启动项管理策略执行管理。这种及时感知、快速响应、针对性管理的技术能够提升对windows系统软件启动项的管理效率和管理效果,并从机器环境为用户营造一种清净感,提升用户的体验。
103.可选地,启动项管理单元,具体用于:
104.当确定所述目标软件位于启动项禁用策略库时,遍历所述目标软件的所有启动项信息并禁用。
105.可选地,启动项管理装置还包括:启动项禁用策略库构建单元;
106.该启动项禁用策略库构建单元包括:启动项权限信息获取子单元和策略库构建子单元;其中,
107.启动项权限信息获取子单元,用于响应于针对待安装软件的安装提示界面中启动项权限管理选项的触发操作,获得所述待安装软件的启动项权限信息;响应于针对启动项管理界面中已安装软件的启动项权限管理选项的触发操作,获得所述已安装软件的启动项权限信息;
108.策略库构建子单元,用于根据所述待安装软件的启动项权限信息和/或所述已安装软件的启动项权限信息,构建所述启动项禁用策略库。
109.可选地,启动项管理装置还包括:
110.进程启动信息获取单元,用于在待安装软件的安装程序启动后,获取进程启动信息;
111.文件路径获取单元,用于根据所述进程启动信息获得可执行文件的路径;
112.md5信息生成单元,用于当根据所述可执行文件的路径确定所述可执行文件为安装包文件时,生成所述安装包文件的md5信息;
113.软件id获取单元,用于基于所述md5信息确定待安装软件的id;
114.选项展示单元,用于当根据待安装软件的id和本地的配置文件,确定所述待安装软件为疑似写入启动项的软件,则在所述待安装软件的安装提示界面中展示启动项权限管理选项。
115.可选地,信息获取单元,具体用于:
116.注册回调通知以获取过滤驱动上抛的所述操作信息;
117.其中,所述过滤驱动预先设置有过滤拦截点,所述过滤拦截点用于识别所述启动项关联对象的变化。
118.可选地,所述过滤驱动位于运行windows系统的终端设备上,所述过滤驱动在所述
终端设备开机时启动;启动项管理装置,具体用于通过过滤驱动设置过滤拦截点。其中,设置单元用于通过过滤驱动执行以下操作:
119.在所述终端设备开机时,读取策略配置信息;
120.解析所述策略配置信息得到策略链;所述策略链中描述有待过滤拦截的启动项关联对象的位置信息和操作类型;
121.遍历所述策略链,针对所述位置信息和所述操作类型设置过滤拦截点。
122.可选地,启动项关联对象为以下任一类型:注册表、文件或服务api;
123.所述过滤驱动具体用于:
124.若从所述策略链遍历到有关注册表的位置信息和操作类型,则针对有关注册表的位置信息和操作类型设置注册表的过滤拦截点,用于识别注册表的变化;
125.若从所述策略链遍历到有关文件的位置信息和操作类型,则针对有关文件的位置信息和操作类型设置文件的过滤拦截点,用于识别文件的变化;
126.若从所述策略链遍历到有关服务api的位置信息和操作类型,则针对有关服务api的位置信息和操作类型设置服务api的过滤拦截点,用于识别服务api的变化。
127.可选地,待过滤拦截的注册表的操作类型包括:注册表的创建、修改和删除;
128.待过滤拦截的文件的操作类型包括:文件的创建、修改、删除和重命名;
129.待过滤拦截的服务api的操作类型包括:服务api的创建。
130.可选地,软件确定单元,包括:
131.启动项信息匹配子单元,用于根据所述操作信息匹配所述启动项信息;
132.软件确定子单元,用于根据所述启动项信息确定对应的目标软件。
133.可选地,启动项信息匹配子单元,具体用于:
134.根据所述操作信息进行全盘信息扫描;
135.将扫描到的启动项信息与所述操作信息进行逐一匹配,将匹配成功的启动项信息确定为与启动项关联对象的变化相关联的启动项信息;
136.软件确定子单元,具体用于:
137.根据启动项信息与软件的对应关系,确定匹配成功的启动项信息对应的目标软件。
138.可选地,发生变化的启动项关联对象的操作信息,包括以下至少一种:
139.操作者进程信息、操作类型、操作者路径或被操作路径。
140.可选地,启动项管理装置还包括:展示单元,用于响应于在电脑管家功能菜单中对启动项管理功能控件的触发操作,展示所述启动项管理界面;所述启动项管理界面包括已安装软件的如下信息:
141.软件名称与描述、管家建议、状态以及启动项权限管理选项;其中,状态展示启动项权限信息。
142.所述装置还包括:状态切换单元,用于当针对目标已安装软件的启动项权限管理选项的触发操作具体为打开操作时,将所述启动项管理界面中展示的所述目标已安装软件的状态由禁用更改为允许;状态切换单元,还用于当针对目标已安装软件的启动项权限管理选项的触发操作具体为关闭操作时,将所述启动项管理界面中展示的所述目标已安装软件的状态由允许更改为禁用。
143.本技术还提供一种启动项管理设备。该设备可以是台式电脑、笔记本电脑、平板电脑等能够运行windows系统的设备。启动项管理设备包括处理器以及存储器:
144.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;存储器可以是短暂存储或持久存储;
145.所述处理器用于根据所述程序代码中的指令执行前文介绍的启动项管理方法中部分或者全部步骤。
146.上文介绍的启动项管理设备还可以是运行windows server
tm
操作系统的服务器。下面就服务器形式介绍启动项管理设备的结构。
147.图8是本技术实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
148.服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
149.上述实施例中由服务器所执行的步骤可以基于该图7所示的服务器结构。
150.其中,cpu 922用于执行如下步骤:
151.根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点;
152.通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作;
153.获取所识别的启动项关联对象的操作信息;
154.根据所述操作信息确定目标软件;根据所述目标软件对应的启动项管理策略对所述目标软件的启动项进行管理。
155.图9示出的是与本技术实施例提供的支持搭载windows系统的平板电脑的部分结构的框图。参考图9,平板电脑包括:射频(英文全称:radio frequency,英文缩写:rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图9中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
156.下面结合图9对平板电脑的各个构成部件进行具体的介绍:
157.rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:low noise amplifier,英文缩写:lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动
通讯系统(英文全称:global system of mobile communication,英文缩写:gsm)、通用分组无线服务(英文全称:general packet radio service,gprs)、码分多址(英文全称:code division multiple access,英文缩写:cdma)、宽带码分多址(英文全称:wideband code division multiple access,英文缩写:wcdma)、长期演进(英文全称:long term evolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:short messaging service,sms)等。
158.存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行平板电脑的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据平板电脑的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
159.输入单元1030可用于接收输入的数字或字符信息,以及产生与平板电脑的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
160.显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及平板电脑的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:liquid crystal display,英文缩写:lcd)、有机发光二极管(英文全称:organic light-emitting diode,英文缩写:oled)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图9中,触控面板1031与显示面板1041是作为两个独立的部件来实现平板电脑的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现平板电脑的输入和输出功能。
161.平板电脑还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在平板电脑移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别平板电脑姿态的应
用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于平板电脑还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
162.音频电路1060、扬声器1061,传声器1062可提供用户与平板电脑之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给比如另一平板电脑,或者将音频数据输出至存储器1020以便进一步处理。
163.wifi属于短距离无线传输技术,平板电脑通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块1070,但是可以理解的是,其并不属于平板电脑的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
164.处理器1080是平板电脑的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体数据及信息收集。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
165.平板电脑还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
166.尽管未示出,平板电脑还可以包括摄像头、蓝牙模块等,在此不再赘述。
167.在本技术实施例中,该平板电脑所包括的处理器1080还具有以下功能:
168.根据启动项关联对象的位置信息和操作类型设置对应的过滤拦截点;
169.通过所述过滤拦截点的识别逻辑识别启动项关联对象在相应位置发生相应类型的操作;
170.获取所识别的启动项关联对象的操作信息;
171.根据所述操作信息确定目标软件;根据所述目标软件对应的启动项管理策略对所述目标软件的启动项进行管理。
172.本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前文介绍的启动项管理方法中部分或者全部步骤。计算机可读存储介质可以是短暂存储或持久存储。
173.本技术还提供了一种计算机程序产品。该计算机程序产品包括计算机程序或指令,该计算机程序或指令被启动项管理设备执行时实现前文介绍的启动项管理方法中部分或者全部步骤。
174.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
175.在本技术所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其
它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述系统的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个系统可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
176.所述作为分离部件说明的系统可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
177.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
178.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:random access memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
179.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1