首页
社区
课程
招聘
[原创]最新版360安全卫士极速版蓝屏分析
2023-5-7 12:18 20463

[原创]最新版360安全卫士极速版蓝屏分析

2023-5-7 12:18
20463

一、蓝屏背景

今天(2023年5月7号)正在写文档,写到一半,还没来得及保存,突然电脑蓝屏了,瞬间懵了,我的文档!!蓝屏后,我又打开了电脑,我没来的及保存的文档没了,又的重写,重写就重写呗,写着写着,我擦!又蓝屏了,气的我吐血。作为一个程序员,受不了了,我要查查为什么蓝屏!
图片描述
(蓝屏的操作系统版本)

二、调查蓝屏原因

1、查找蓝屏dmp文件
在目录C:\Windows\Minidump下找到了蓝屏dmp文件,
果然今天两次蓝屏的dmp文件都在这里。日期都是2023年5月7号

 

图片描述
2、用windbg分析dmp文件
显示的蓝屏原因:系统服务异常。
图片描述
(蓝屏原因)
再继续分析看看,从windbg的分析看,导致蓝屏的模块名称叫360hvm64.sys
,这个文件到底是谁的啊,我用everything搜了一下,我擦!原来是360.
图片描述
(蓝屏调用堆栈和蓝屏模块)
图片描述
(原来导致蓝屏的这个驱动文件是360安全卫士的)

 

看下我电脑上的360安全卫士
图片描述
(查看360安全卫士版本)
图片描述
(查看360主版本号和病毒库版本)

 

使用windbg命令lmvm,查看下360hvm64.sys模块信息

 

图片描述
找到360hvm64.sys文件,拖到IDA里面逆向分析下。看看到底是哪个位置蓝屏了。先rebase一下。方法,IDA菜单Edit->Segments->Rebase program...
在弹出的框内输入windbg命令lmvm 360Hvm64命令显示的模块起始地址。
图片描述
(rebase程序)
在IDA中,按下快捷键G(或者菜单Jump->Jump to address)跳转到崩溃的地址处
图片描述
(查看下奔溃的伪代码)
图片描述
个人盲猜是hooknt!NtOpenKey 下图有个指针转换,然后调用到nt!NtOpenKey,盲猜是hook nt!NtOpenKey出错,如果错误,欢迎各位大佬拍砖,下面我上传了dmp文件和引起蓝屏的
图片描述
备注:附件中是dmp文件和导致蓝屏的360的驱动文件


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-5-9 17:34 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 1
打赏
分享
最新回复 (17)
雪    币: 3160
活跃值: (5180)
能力值: ( LV6,RANK:92 )
在线值:
发帖
回帖
粉丝
0xC5 1 2023-5-7 20:07
2
0
所以为什么会产生蓝屏呢?
雪    币: 20199
活跃值: (29735)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-5-7 20:25
3
1
找到了位置,具体原因不知呗
雪    币: 22619
活跃值: (3822)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huangyalei 2023-5-7 20:27
4
0
没下文了?
雪    币: 2392
活跃值: (4235)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sanganlei 2023-5-7 20:39
5
0
统一回复:各位逆向大佬分析分析,逆向我业余水平,主要正向开发。
雪    币: 2927
活跃值: (2530)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocaofff 2023-5-8 09:02
6
0
卸载360
雪    币: 70
活跃值: (1357)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
李不空 2023-5-8 09:23
7
0
原来以为能学点东西
雪    币: 154
活跃值: (2113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saloyun 2023-5-8 09:26
8
0
都啥年代了,怎么可能是hook。
这也明显不是函数地址的事情,都调到NtOpenKey了,那么函数地址肯定没问题。至于内部为啥获取不到nt!CmpCallbackListLock,要拿fulldmp看看才能清楚。
雪    币: 405
活跃值: (1975)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wowocock 1 2023-5-8 10:12
9
0

用360急救箱扫描后,重启即可,否则还会随机蓝屏。哎。

最后于 2023-5-8 10:13 被wowocock编辑 ,原因:
雪    币: 8233
活跃值: (5460)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
mudebug 2023-5-8 13:52
10
0
之前我还遇到过开了360.他会让vs2022无法产生c#程序的问题。就算关闭360也无效,只能卸载。
雪    币: 203
活跃值: (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
CHDzc 2023-5-8 16:32
11
0
saloyun 都啥年代了,怎么可能是hook。 这也明显不是函数地址的事情,都调到NtOpenKey了,那么函数地址肯定没问题。至于内部为啥获取不到nt!CmpCallbackListLock,要拿fulldmp ...
有道理... hvm应该是360的在x64上的使用虚拟技术做的Filter吧
雪    币: 1554
活跃值: (9406)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
TkBinary 5 2023-5-10 10:27
12
0
看下参数能分析出来吗.
雪    币: 2712
活跃值: (3006)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
院士 2023-5-22 19:28
13
0
大佬接着分析下呗。
雪    币: 485
活跃值: (2159)
能力值: ( LV12,RANK:356 )
在线值:
发帖
回帖
粉丝
findreamwang 6 2023-5-23 18:10
14
0
根据栈回溯,在nt!CmpCallCallBacksEx函数中crash,看了一下,可能应该是注册表回调出问题了
```
  v11 = KeGetCurrentThread();                   // KTHREAD
  v50 = v11;
  if ( a4 == 1 )
  {
    v12 = *(v11 + 0263);
    if ( v12 )
      v13 = *(v12 + 8);                         // <-----
    else
      v13 = &CallbackListHead;
    v14 = KeGetCurrentThread();
    --*(v14 + 242);
    ExAcquirePushLockSharedEx(&CmpCallbackListLock, 0i64);
    v15 = a7;
    while ( 1 )
    {
      do
      {
        v13 = *v13;                             // <-----
        v48 = v13;
        v44 = 1;
        if ( v13 == &CallbackListHead )
          goto LABEL_21;
      }
```
雪    币: 5615
活跃值: (2842)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
沉迷于 2023-5-24 10:08
15
0
我觉得应该是驱动出了点问题
雪    币: 576
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kakasasa 2023-5-24 10:51
16
0
这么闲还去分析,一点收益都没有的事情,除非360的开发查bug
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
zbc200414096 2023-5-26 10:58
17
0
看看!!!谢谢分享!!!
雪    币: 47
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
KBug 2023-9-17 11:43
18
0
可能是驱动卸载了没有调用注册表回调卸载
游客
登录 | 注册 方可回帖
返回