请使用手机微信扫码安全登录

切换账号密码登录

绑定手机号

应国家法规对于账号实名的要求,请您在进行下一步操作前,需要先完成手机绑定 (若绑定失败,请重新登录绑定)。了解更多

不绑定绑定手机号

360官网 | 360商城

推荐论坛版块活动360粉丝商城众测粉丝轰趴馆常见问题
本帖最后由 郭友友 于 2016-9-6 10:06 编辑
针对近期大量用户反馈,更新英伟达显卡驱动372.54及372.70版本后导致开机卡在欢迎界面或黑屏,之前已经给出了解决方案http://bbs.360.cn/thread-14447916-1-1.html。近期360的攻城狮们努力奋战,给出了更详细了分析结果,确认此问题为英伟达显卡驱动自身的问题。

先抛出个结论,之后给分析结果,说明(文中的dllmain对应dll入口点,模块的入口点函数名不一定名字都是dllmain)

结论:
Dwm.exe进程初始化LdrInitializeThunk内部先映射dll,在一块儿调用这些dll的dllmain,在调用user32的dllmain时,加载英伟达的nvinitx.dll这个模块使用SHGetShellFolder,该函数使用了rpcrt4.dll中的一些数据,但是锁相关数据还没有被初始化(因为按调用顺序先后还没有调用到rpcrt4.dl它的dllmain)就使用,之后导致异常,出现死锁情况。最终导致黑屏或者卡在系统欢迎界面。

分析的简要过程:
1.从卡时获取的dump上看explorer卡在ConnectPort到dwm.exe的一个port。


2.查看dwm.exe中的线程,发现其中一个线程卡在调用SHGetShellFolder函数内部。这个卡之后就导致explorer.exe工作异常,一直卡在链接dwm.exe中的port。


3. 查看锁sechost!SddlSidLookupCritical的状态,发现此锁被dwm.exe主线程占用,没有释放。 仔细分析发现主线程正常情况下不应该释放不了这个临界区。

4.猜测只可能出现什么异常导致没有释放这个临界区。

(上双机调试)调试发现dwm.exe的主线程中英伟达nvinitx.dll的dllmain会调用SHGetFoldPathW函数,这个函数调用的时候,已经占用了锁SddlSidLookupCritical,这个时候在去调用RPCRT4.dll中相关函数,却在调用EnterCriticalSection获取rpcrt4的临界区GlobalMutex出现异常,跳出到shell32中的异常处理函数_GSHandlerCheck_EH,这个时候导致没有释放SddlSidLookupCritical锁,SHGetFoldPathW就返回了。查看了下异常,发现rpcrt4中的临界区该临界区GlobalMutex没有初始化,dllmain 内部很多其它变量值也没有初始化,可以确定是dllmain没有被调用到




5. ida分析可以知道GlobalMutex的初始化在rpcrt4.dll的dllmain内部 。所以可以知道出问题的原因就是rpcrt4.dll的dllmain没有调用到,那么为什么会导致这个dllmain没有调用掉呢?

6. 分析发现这个SHGetFoldPathW的调用是在nvinitx.dll的dllmain中。
ntdll!LdrpInitializeProcess函数先映射导入表中的dll在调用这些dll中的dllmain函数。
这个出问题环境调试发现rpcr4.dll中dllmain并没有调用到,这个时候gdi32的dllmain函数内部调用loadlibrary加载nvinitx.dll,并调用nvinitx.dll的dllmain函数,但是这个时候调用LdrpLoadDll加载rpcr4.dll的时候,(之前刚映射,这个时候LdrpLoadDll发现rpcr4.dll已经被映射了,所以就不会调用这个rpcr4.dll的dllmain函数)
Loadlibrary调用LdrpLoadDll(这个函数先检查模块rpcr4.dll是否映射,发现已经映射就不会调用这个的dllmain,接下来调用其它函数使用临界区GlobalMutex就出现异常崩溃)这个rpcr4.dll的dllmain会在接下来的ntdll!LdrpRunInitalizeroutines函数内部调用 。



7.更新了英伟达显卡驱动372.54及372.70版本后,开机启动过程中,经过上面一系列的异常调用,最终系统会被卡在欢迎界面或个别电脑出现黑屏的情况。解决方案http://bbs.360.cn/thread-14447916-1-1.html供大家参考。






360fans_uid1422657 + 1 经验 很给力!

心塞头发计算机 + 1 经验 很给力!

360工作人员-驱动哥 + 6 金币 + 6 经验 很给力!

共 43 个关于英伟达显卡新版驱动使用SHGetShellFolder不当导致系统卡在欢迎界面or黑屏的回复 最后回复于 2016-10-13 00:04

评论

直达楼层

沙发
360fans_u9926871 LV3.中士 发表于 2016-9-6 11:00 | 只看该作者 | 私信
很不错
板凳
360fans_uid232839 LV7.上尉 发表于 2016-9-6 12:19 | 只看该作者 | 私信
我没有出现此情况
地板
360fans54009119 LV1.上等兵 发表于 2016-9-6 13:34 | 只看该作者 | 私信
今天2016年9月6日,最新病毒,360无提示,而且杀不出来。QQ管家能杀出来,详情:开机10分钟后,左面的任何文件夹包括我的电脑程序都打不开,打开任务管理,结束explorer,新建explorer失败。。
5
360fans_uid26810221 LV3.中士 发表于 2016-9-6 13:41 | 只看该作者 | 私信
谢谢360的回答,我的电脑也是这问题{:14_363:}
6
360fans_u30368758 VIP认证 校园部长 发表于 2016-9-6 15:58 | 只看该作者 | 私信
我知道啦
来自YQ601(360社区3.0.6版)
7
360工作人员-驱动哥 产品答疑师 发表于 2016-9-6 17:33 | 只看该作者 | 私信
360fans54009119 发表于 2016-9-6 13:34
今天2016年9月6日,最新病毒,360无提示,而且杀不出来。QQ管家能杀出来,详情:开机10分钟后,左面的任何 ...

您好 是否可以提供一下病毒样本 上传云盘等分享后供我们分析。
无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
10
360fans139068180 LV2.下士 发表于 2016-9-7 02:14 | 只看该作者 | 私信
大锅饭的风格豆腐干
11
360fans_uid54964 LV8.少校 发表于 2016-9-7 06:37 | 只看该作者 | 私信
谢谢,明白了。。。。。
12
兆志餐馆 LV8.少校 发表于 2016-9-7 07:07 | 只看该作者 | 私信
谢谢分享!问题解决了。
13
看风景的女孩 LV5.少尉 发表于 2016-9-7 12:51 | 只看该作者 | 私信
我没出现这个问题
14
360fans73500565 LV2.下士 发表于 2016-9-7 14:25 | 只看该作者 | 私信
这锅甩的不错
15
360fans_u30590114 LV8.少校 发表于 2016-9-7 17:28 | 只看该作者 | 私信
支持一下
16
360fans994270028 LV1.上等兵 发表于 2016-9-7 22:25 | 只看该作者 | 私信
感谢帮我解决了这个问题,不然我会以为是因为病毒。虽然也有想到显卡的原因,但是不知道怎么办。非常感谢
17
尼佳电脑 LV5.少尉 发表于 2016-9-8 10:25 | 只看该作者 | 私信
很强大的分析,NV 你走点心,,,
18
360fans71841357 LV1.上等兵 发表于 2016-9-8 12:36 | 只看该作者 | 私信
111111111111
19
360fans73519786 LV2.下士 发表于 2016-9-8 17:20 | 只看该作者 | 私信
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
360fans_uid96577 LV8.少校 发表于 2016-9-9 08:46 | 只看该作者 | 私信
好!
21
360fans_yVZqAL LV5.少尉 发表于 2016-9-9 10:54 | 只看该作者 | 私信
谢谢分享。。。。。。。。
22
360fans_uid26485221 LV2.下士 发表于 2016-9-10 10:02 | 只看该作者 | 私信
按这个方法解决了。不错。
23
360fans_uid4550978 LV2.下士 发表于 2016-9-10 16:09 | 只看该作者 | 私信
太复杂了看不懂!
24
360fans_u30597954 LV9.中校 发表于 2016-9-11 10:52 | 只看该作者 | 私信
谢谢分享
来自MI MAX(360社区3.0.7版)
25
360fans_u32614781 LV3.中士 发表于 2016-9-12 18:50 | 只看该作者 | 私信
不错不错
26
360fans_uid25149475 LV4.上士 发表于 2016-9-13 01:30 | 只看该作者 | 私信
27
360fans73614492 LV1.上等兵 发表于 2016-9-13 14:55 | 只看该作者 | 私信
分析得不错~
28
360fans_u8337513 LV4.上士 发表于 2016-9-15 16:33 | 只看该作者 | 私信
瞬间觉得写代码的太累了。
反编译或许更累
29
360fans73677211 LV1.上等兵 发表于 2016-9-15 17:28 | 只看该作者 | 私信
可是安全模式 也进不去怎么办, 没辙了吗,  还是真咬重装, 那就要真的打了个补丁, 日了狗的心情
30
360fans_WQWO8b LV2.下士 发表于 2016-9-22 18:08 | 只看该作者 | 私信
但是如何解释把360或者金山之类的XX卫士 删掉后裸奔

最新的驱动又进的去呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

360电脑专家003 产品答疑师

粉丝:70 关注:1 积分:18518

精华:57 金币:15720 经验:11888

最后登录时间:2024-4-26

360商城青铜会员

私信 加好友

最新活动

读书日主题活动 |  世界读书日,360AI阅读

排行榜

热度排行 查看排行
今日 本周 本月 全部
    今日 本周 本月 全部

      内容推荐 热门推荐最新主帖

      扫码添加360客服号,涨知识的同时还有超多福利等你哦

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