当前位置:网站首页 >> 娱乐

技术分析称金山猎豹浏览器导致电脑蓝屏

时间:2018-11-02 11:59:06 来源:互联网 阅读:1次

技术分析称金山猎豹浏览器导致电脑蓝屏

近不少友反映,在用金山猎豹浏览器上时,电脑经常出现蓝屏死机的情况。友截图显示,一个名为s的文件是蓝屏的罪魁祸首。经技术人士分析,s是猎豹浏览器的驱动程序,该程序存在低级错误,因此引发用户电脑蓝屏。

据了解,这已经不是金山旗下产品首次出现蓝屏问题。早些时候,金山毒霸推送微软补丁曾先后两次造成大面积蓝屏故障,致使近千万金山用户受到蓝屏故障影响。

以下是金山猎豹浏览器s驱动蓝屏问题技术分析:

根据蓝屏文件定位原因,猎豹浏览器驱动s将一块保存命令行的字符串缓存内存,从镜像文件路径长度开始,移动整个内存长度的内容,由于移动的范围超出了命令行字符串内存长度,因此导致了蓝屏。

详细分析s二进制代码发现,其代码存在明显的低级错误。涉及此次蓝屏故障,问题在于,s会挂钩系统内核函数NtCreateUserProcess,所有的进程创建都会调用这个系统调用,猎豹浏览器的驱动拦截到进程创建后,会拆解其中的ProcessParameters这个参数,并试图从中分析出创建进程的命令行,但是其解析代码的实现方式非常不稳定。

那么猎豹浏览器s是如何进行命令行拆解的呢?比如这样一个命令行:

C:e /c

猎豹浏览器会试图将/c这个命令行拆解出来。解析出程序路径ImagePathName为"C:e"以后,需要把CommandLine里后面"/C"前移抹掉ImagePathName部分,(假设pDes指向CommandLine的开始,PathLen是ImagePathName的长度,len是"C:e /c"的字节长度)。

s的代码是这样的:memmove(pDes, pDes + PathLen, len)

这里存在明显的错误,如果要移动CommandLine的命令行参数部分出来,移动长度应该是CommandLine总长度减去ImagePathName和空格长度,而这里使用了总长度,就会导致发生读取缓存越界的问题。如果CommandLine的Buffer位于内存页尾部附近,且后面一个内存页是无效页,就会引发电脑蓝屏。

原标题:技术分析称金山猎豹浏览器导致电脑蓝屏

原文链接:

稿源:中国广播

作者:刘梦

空气悬浮风机
星力捕鱼9代
恒生指数期货开户

相关文章

一周热门

热点排行

热门精选

Copyright (c) 2011 八零CMS 版权所有 备案号:苏ICP备17012668号-1

网站地图