一种蓝屏的处理处理方法、装置及电子设备与流程

文档序号:11807726阅读:387来源:国知局
一种蓝屏的处理处理方法、装置及电子设备与流程

本发明涉及互联网反病毒安全技术领域,尤其涉及一种蓝屏的处理方法、装置及电子设备。



背景技术:

随着互联网技术发展,包括操作系统在内的计算机软件,都需要不断地更新换代。微软的windows操作系统一般是通过补丁的方式进行更新,找到补丁升级程序(windows update)即可以升级windows补丁。如图1所示,在“已安装更新”中可以找到已经更新得到的补丁程序。

微软以补丁的方式更新系统中的缺陷(简称BUG),反病毒软件也可以下载更新微软发布的补丁。但是,微软的补丁也并不是不会存在问题,由于个别补丁可能没有经过严格测试就发布了,有可能更新后导致系统崩溃以及蓝屏等严重错误。

反病毒安全软件在更新微软补丁过程中,若用户反馈有导致系统崩溃以及蓝屏的严重BUG,反病毒安全软件会第一时间停止这一导致系统崩溃的补丁的更新。但是,这种导致系统崩溃的补丁的更新,微软不一定会马上处理,微软的补丁升级程序(windows update),可能并不会及时停止,这就造成了用户的损失。



技术实现要素:

有鉴于此,本发明实施例提供一种蓝屏的处理方法、装置及电子设备,以解决现有技术的操作系统无法及时停止导致系统崩溃以及蓝屏的补丁的更新,在一定程度上造成用户损失的问题。

第一方面,本发明实施例提供一种蓝屏的处理方法,包括:

创建挂钩于创建文件函数的钩子函数,所述创建文件函数用于打开文件获取文件句柄;

判断是否为操作系统的补丁触发蓝屏;

当确定为所述操作系统的补丁触发蓝屏时,通过所述钩子函数拦截触发蓝屏的操作系统的补丁的更新。

结合第一方面,在第一方面的第一种实施方式中,所述创建挂钩于创建文件函数的钩子函数包括:

在系统服务描述符表中获取并保存所述创建文件函数的原始函数地址;

定义一个钩子函数,所述钩子函数的函数地址替换系统服务描述符表中所述创建文件函数的原始函数地址。

结合第一方面,在第一方面的第二种实施方式中,所述判断是否为操作系统的补丁触发蓝屏包括:

在所述钩子函数中,获取保存在对象属性参数中的文件路径;

若所述保存在对象属性参数中的文件路径包含预设于反病毒安全软件的注册表数据中的补丁名,则确定为所述操作系统的补丁在触发蓝屏。

结合第一方面、第一方面的第一种实施方式或第一方面的第二种实施方式,在第一方面的第三种实施方式中,通过所述钩子函数拦截触发蓝屏的操作系统的补丁的更新包括:

当确定为操作系统的补丁触发蓝屏时,在钩子函数中,返回一个拒绝访问的状态,退出执行触发蓝屏的操作系统的补丁的安装和/或下载。

第二方面,本发明实施例提供一种蓝屏的处理装置,包括:

创建单元,用于创建挂钩于创建文件函数的钩子函数,所述创建文件函数用于打开文件获取文件句柄;

判断单元,用于判断是否为操作系统的补丁触发蓝屏;

拦截单元,用于当确定为所述操作系统的补丁触发蓝屏时,通过所述钩子函数拦截触发蓝屏的操作系统的补丁的更新。

结合第二方面,在第二方面的第一种实施方式中,所述创建单元包括:

地址获取模块,用于在系统服务描述符表中获取并保存所述创建文件函数的原始函数地址;

创建模块,定义一个钩子函数,所述钩子函数的函数地址替换系统服务描述符表中所述创建文件函数的原始函数地址。

结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述判断单元包括:

路径获取模块,用于在所述钩子函数中,获得保存在对象属性参数中的文件路径;

补丁判断模块,用于若所述保存在对象属性参数中的文件路径包含预设于反病毒安全软件的注册表数据中的补丁名,则确定为所述操作系统的补丁在触发蓝屏。

结合第二方面、第二方面的第一种实施方式或第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述拦截单元具体用于当确定为操作系统的补丁触发蓝屏时,在钩子函数中,返回一个拒绝访问的状态,退出执行触发蓝屏的操作系统的补丁的安装和/或下载。

第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下操作:

创建挂钩于创建文件函数的钩子函数,所述创建文件函数用于打开文件获取文件句柄;

判断是否为操作系统的补丁触发蓝屏;

当确定为所述操作系统的补丁触发蓝屏时,通过所述钩子函数拦截触发蓝屏的操作系统的补丁的更新。

第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种蓝屏的处理方法。

第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种蓝屏的处理方法。

本发明实施例提供的一种蓝屏的处理方法、装置及电子设备,利用挂钩创建文件函数,当确定为操作系统的补丁触发蓝屏时,执行钩子函数并拦截触发蓝屏的操作系统的补丁的更新,拦截了一些引发崩溃、蓝屏的操作系统补丁的安装,阻止了在用户不熟悉的情况误装了补丁造成蓝屏,有利于提高用户体验,降低用户损失。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为现有技术微软操作系统中已安装更新的示意图;

图2为本发明实施例一种蓝屏的处理方法流程图;

图3为本发明实施例中钩子函数的原型数据示意图;

图4为本发明实施例一种蓝屏的处理装置示意图;

图5为本发明电子设备一个实施例的结构示意图。

具体实施方式

下面结合附图对本发明实施例一种蓝屏的处理方法及装置进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图2为本发明实施例一种蓝屏的处理方法流程图,如图2所示,本实施例的方法可以包括:

步骤101、创建挂钩于创建文件函数的钩子函数,所述创建文件函数用于打开文件获取文件句柄;

在本实施例中,创建文件函数为windows操作系统中的NtCreateFile,创建文件函数NtCreateFile用于打开文件获取文件句柄,而挂钩于创建文件函数NtCreateFile的钩子函数即为NewNtCreateFile。

需要说明的是,windows update程序下载并安装补丁的过程:

下载:windows update程序->调用应用层的CreateFile函数->调用内核层的NtCreateFile函数->文件打开成功返回文件句柄->NtWriteFile写入数据->文件下载完成

安装:windows update程序->调用应用层的CreateFile函数->调用内核层的NtCreateFile函数->文件打开成功返回文件句柄->NtWriteFile解压或者复制->文件安装完成

可以看出,不管是补丁下载或者安装,都会执行到内核函数:创建文件函数NtCreateFile。那么本技术方案可以挂钩内核函数:创建文件函数NtCreateFile,实现操作系统补丁文件的下载和安装的拦截。

挂钩的具体方法是:在系统服务描述符表(System Services Descriptor Table,简称SSDT)中获取并保存创建文件函数NtCreateFile的原始函数地址;定义一个钩子函数NewNtCreateFile,并将钩子函数NewNtCreateFile的函数地址替换系统服务描述符表(sSDT表)中创建文件函数NtCreateFile的原始函数地址。即是实现了内核函数的挂钩,钩子函数就是NewNtCreateFile,本技术方案中主要逻辑实现是都是在钩子函数NewNtCreateFile实现的。

挂钩后的流程是:

下载:windows update程序->调用应用层的CreateFile函数->NewNtCreateFile->调用内核层的NtCreateFile函数->文件打开成功返回文件句柄->NtWriteFile写入数据->文件下载完成

安装:windows update程序->调用应用层的CreateFile函数->NewNtCreateFile->调用内核层的NtCreateFile函数->文件打开成功返回文件句柄->NtWriteFile解压或者复制->文件安装完成

在钩子函数NewNtCreateFile中,调用内核函数PsGetCurrentProcessId获取当前操作进程标识值,由进程标识值为参数,调用内核函数ZwQueryInformationProcess获取当前操作进程的进程名,匹配进程名是否TrustedInstaller.exe,这个进程名就是windows update下载和安装补丁时的操作进程名。如果是TrustedInstaller.exe进程名,才是操作系统更新程序在下载安装,才进行下一步。

步骤102、判断是否为操作系统的补丁触发蓝屏;

图3为本发明实施例中钩子函数的原型数据示意图,如图3所示,钩子函数NewNtCreateFile中,有一个POBJECT_ATTRIBUTES结构的参数是保存文件路径的,在钩子函数NewNtCreateFile中,获得用于保存文件路径的对象属性参数POBJECT_ATTRIBUTES结构;如果是一个补丁文件,这个文件路径如:

C:\Windows\Downloaded Program Files\Windows6.1-KB3153171-x86.msu.cab

匹配预设中的补丁文件名,目前已知的操作系统补丁造成系统蓝屏会有预设的这两个:KB3153171,KB3146706,这预设的拦截的补丁名是可扩展的,是保存到反病毒安全软件的注册表数据中,本方案所在驱动程序在初始化的时候,会读取注册表数据预设这个补丁列表。若保存对象属性参数POBJECT_ATTRIBUTES结构中的文件路径包含了预设于反病毒安全软件的注册表数据中的补丁名,则确定为操作系统的补丁在触发蓝屏,就可以阻止其下载和安装了。

步骤103、当确定为操作系统的补丁触发蓝屏时,通过所述钩子函数拦截触发蓝屏的操作系统的补丁的更新。

在本步骤中,拦截方法是,在NewNtCreateFile钩子函数中,直接返回一个拒绝访问的状态,退出执行,那就不会执行到原始的创建文件函数NtCreateFile,这样就不会执行到系统打开文件获取句柄那一步,从而实现拦截下载或者安装;其它情况放行文件,就会执行到原始的创建文件函数NtCreateFile让系统打开文件成功。

本发明实施例,运行在反病毒安全软件的驱动程序中,利用挂钩创建文件函数,在钩子函数中匹配操作进程名,匹配操作系统补丁名,是预设中的话就拦截,不是就放行,拦截了一些引发崩溃、蓝屏的操作系统补丁的安装,阻止了在用户不熟悉的情况误装了补丁造成蓝屏,有利于提高用户体验,降低用户损失。

图4为本发明实施例一种蓝屏的处理装置的结构示意图,如图4所示,本实施例的蓝屏的处理装置包括:创建单元1,用于创建挂钩于创建文件函数的钩子函数,所述创建文件函数用于打开文件获取文件句柄;判断单元2,用于判断是否为操作系统的补丁触发蓝屏;拦截单元3,用于当确定为操作系统的补丁触发蓝屏时,通过所述钩子函数拦截触发蓝屏的所述操作系统的补丁的更新。

进一步地,所述创建单元包括:地址获取模块,用于在系统服务描述符表中获取并保存所述创建文件函数的原始函数地址;创建模块,定义一个钩子函数,并替换系统服务描述符表中所述创建文件函数的原始函数地址。

进一步地,所述判断单元包括:路径获取模块,用于在所述钩子函数中,获取保存在对象属性参数中的文件路径;补丁判断模块,用于若所述保存在对象属性参数中的文件路径包含预设于反病毒安全软件的注册表数据中的补丁名,则确定为操作系统的补丁在触发蓝屏。

进一步地,所述拦截单元具体用于当确定为操作系统的补丁触发蓝屏时,在钩子函数中,直接返回一个拒绝访问的状态,退出执行触发蓝屏的操作系统的补丁的安装和/或下载。

本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供一种电子设备。图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图2所示实施例的流程,如图5所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的一种蓝屏的处理方法。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明前述任一实施例所述的一种蓝屏的处理方法。

本发明实施例还提供了一种应用程序,用于执行本发明前述任一实施例所述的一种蓝屏的处理方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例,运行在反病毒安全软件的驱动程序中,利用挂钩创建文件函数,在钩子函数中匹配操作进程名,匹配操作系统补丁名,是预设中的话就拦截,不是就放行,拦截了一些引发崩溃、蓝屏的操作系统补丁的安装,阻止了在用户不熟悉的情况误装了补丁造成蓝屏,有利于提高用户体验,降低用户损失。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1