查看: 3746|回复: 21
收起左侧

[费尔] 费尔蓝屏保护原理初探.[欢迎大家批评,请避免口水]

  [复制链接]
JillPal
发表于 2012-8-13 15:37:51 | 显示全部楼层 |阅读模式
本帖最后由 JillPal 于 2012-8-13 09:09 编辑

     “蓝屏”、或“系统崩溃”,外国人又叫它BSOD(Blue Screen of Death)。从专业的角度讲,这一术语被定义为“是指当Microsoft Windows崩溃或停止执行(由于灾难性的错误或者内部条件阻止系统继续运行下去)时所显示的蓝色屏幕”。而我们平常所说的“系统崩溃(system crash)”或者“内核错误(kernel error)”抑或“停止错误(Stop error)”的专业术语为“程序错误检查(Bug Check)”。当系统检测到引发崩溃的致命错误时,Windows自己执行崩溃函数“KeBugCheckEx”。该函数接受一个停止代码(STOP Code,也称为错误检查码“Bug Check Code”),以及四个根据停止代码来解释的参数(下文中会有图例)。在调用KeBugCheckEx之后,首先该系统所有处理器上的所有中断将被屏蔽,然后系统将显示器切换到低分辨率的VGA图形模式(因为这是所有Windows平台显卡均支持的通用模式),绘制一个蓝色背景,然后显示此停止代码,并且后面紧跟一些对用户诊断错误有帮助的关键信息。最后,KeBugCheckEx调用所有已注册的设备驱动程序错误检查回调函数(这种回调函数通过调用KeRegisterBugCheckCallback函数来注册),从而让这些驱动程序停止运行它们所支配的设备(有系统数据结构已经被破坏得太严重以至于蓝屏都显示不出来的可能性)。[截取自百度百科]


   
上图就是视窗操作系统的基础架构,一般软件的运行被严格限制在用户层内,即使它有访问硬件设备的功能也要借助硬件的驱动才可以,如果应用程序存在问题直接访问不该使用的内存或者硬件,系统内核层的管理系统就会检测到这个错误并拦截,如果错误比较严重影响到内核层并难以自动恢复的时候,Windows就会停止系统运行并按照如上所述进一步切换到蓝屏.费尔的拦截蓝屏大概就是基于上述功能,即通过调用KeBugCheckEx这一函数来达到防止蓝屏出现,保证用户保存工作的效果.

     
       当病毒破坏,仅仅拦截KeBugCheckEx防止是不够的,必须同时拦截病毒的破坏才可能防止系统进一步损坏,这个时候如果费尔能同时拦截病毒的破坏,个人觉得蓝屏防护功能依然有起作用的合理性.如下图:
   

     如果此时无法拦截病毒或是其它硬件或驱动的问题,蓝屏的作用就是提醒用户赶紧中断电脑的运行并进行进行检查,此时继续拦截蓝屏并不能对系统起到保护作用.



    根据上面的分析我个人觉得,费尔的蓝屏拦截功能还是有其存在的合理性的,即它拦截的应该都是可以控制的蓝屏,同时我们也应该注意到,很多蓝屏并不能依靠拦截来解决,而且它们也很可能无法被拦截,所以MJ建议的要分析蓝屏原因并找到解决方法的观点是更有效的措施.
   
    PS:虽然我个人对费尔的蓝屏保护持肯定态度,但现代操作系统毕竟越来越安全可靠.比如WinVista/Win7比WinXP/Win2K的内存管理更加先进就是很好的体现,所以我也建议费尔的官人在日后更新版本的改良中能谨慎对待蓝屏保护及相关功能,以使用户获得他们需要的更加安全舒适的体验.
   
   这篇文章是我的匆忙之作,水平所限一定存在不少错误,希望能抛砖引玉得到大家的批评指点.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 2经验 +30 人气 +1 收起 理由
luxiao200888 + 30 版区有你更精彩: )
chujunci + 1 按照Mj大牛的说法,这个蓝屏保护是不合理的.

查看全部评分

whf20
发表于 2012-8-13 15:50:03 | 显示全部楼层
本帖最后由 whf20 于 2012-8-13 15:51 编辑

总算了解了蓝屏产生的原因以及Windows的工作机制。
老机子
发表于 2012-8-13 15:50:53 | 显示全部楼层
你分析得很好,但就是那个MJ不以为然!
安全无极限
发表于 2012-8-13 16:01:39 | 显示全部楼层
技术性文章,很不错。
BootMgr
头像被屏蔽
发表于 2012-8-13 16:04:39 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
Ventureminking
发表于 2012-8-13 16:08:46 | 显示全部楼层
本帖最后由 luxiao200888 于 2012-8-13 17:42 编辑


在大牛楼下占座

然后学习学习
费尔托斯特2011
发表于 2012-8-13 16:45:45 | 显示全部楼层
真是无孔不入啊!!!(只可意会,不可言明
Sailer.X 该用户已被删除
发表于 2012-8-13 17:06:20 | 显示全部楼层
虽然支持费尔,但是也同意MJ的观点,不到万不得已,系统是不会蓝屏的,最多假死什么的。如果蓝屏,一定是出现严重错误。拦截蓝屏的出发点是好的,但正如MJ所讲事实上这没什么意义。找到蓝屏的问题所在并修复才是正确的、最佳的解决方案。LZ的见解很不错~
侧耳倾听
发表于 2012-8-13 17:13:23 | 显示全部楼层
听得Mj这么一说觉得挺有道理
费尔出发点是好的!
Lance6716
发表于 2012-8-13 17:16:10 | 显示全部楼层
5L到处复制粘贴....
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-18 03:44 , Processed in 0.140612 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表