首页
社区
课程
招聘
[原创]系统蓝屏的几种姿势,确定不了解下么?
发表于: 2020-2-28 22:09 10653

[原创]系统蓝屏的几种姿势,确定不了解下么?

2020-2-28 22:09
10653

蓝屏(BSOD)转储设置,看本文就够了! 这篇文章里比较详细的介绍了蓝屏转储设置。做好设置后,我们就可以在需要的时候使系统蓝屏了。这样我们就可以拿到一份系统转储,供我们分析问题了。本文介绍几种可以使系统蓝屏的办法。当然肯定还有其它办法,如果哪位小伙伴儿知道比较实用的方法,欢迎留言分享。


1. 通过驱动

思路是:在内核执行有问题的代码(比如,在驱动的入口处加上简单的 int* p = 0; *p = 0; ,然后加载有问题的驱动即可)。sysinternals 系列工具中的 NotMyFault 就是加载驱动,然后在驱动中模拟各种非法操作来使系统蓝屏的。

我们可以点击 Colors... 按钮,来看看其它颜色的 “蓝屏” 效果。可以通过 Hang 让系统挂起,还可以通过 Leak 模拟内核级内存泄漏。

我们还可以在命令行执行 notMyfault.exe /crash 来直接使系统蓝屏。如果我们想指定崩溃类型,可以使用 NotMyFault 的命令行版本 —— notmyfaultc.exe。

具体选项大家可以直接运行 notmyfaultc.exe 查看或者参考下图:


2. 杀死系统关键进程

如果系统关键进程挂掉了(比如,csrss.exe),那么系统也会蓝屏。

在 win7 系统中,具有管理员权限的进程可以杀死 csrss 进程,但是在 win10 中不能简单粗暴的杀死 csrss 进程了。

win10 变通方法:我们可以把其它进程设置为系统关键进程,然后杀掉。或者伪装成系统关键进程,然后自动退出。

感谢 https://bytecode77.com/hacking/payloads/bsod



3. 使用快捷键

如果系统由于某些原因挂起了,我们没办法杀死系统关键进程,也不能运行 NotMyFault 了。这时候我们还可以通过快捷键来使系统蓝屏!不过我们需要预先做一些设置才行。把下面的代码保存到 .reg 文件,然后双击导入注册表,重启生效。


重启后,按住右侧的 Ctrl 键,然后按两下 SCROLL LOCK 键就可以使系统蓝屏了。这个方法在极少数的情况下会失效。比如,系统挂起在更高的中断请求级别(IRQL),没办法处理按键。不过,我们应该没那么点背。正如微软官方文档介绍的那样,有时候即使 CTRL+ALT+DELETE 不响应了,RCTRL + SCROLL + SCROLL 还能工作。


如果键盘上没有 Scroll Lock 键,怎么办?


4. 使用自定义快捷键

也许有的小伙伴使用的笔记本电脑的键盘上没有 Scroll Lock 键,该怎么办呢?Windows 已经考虑到了这种情况,允许我们自定义蓝屏快捷键。具体设置可以参考 微软官方文档 —— Forcing a System Crash from the Keyboard 。保存下面的代码到 .reg 文件,双击导入注册表,重启生效。


重启后,按住左侧的 Ctrl 键,然后连续按两下 ` 键就可以使系统蓝屏了。注意:一定要连续按两下! 按一下是不行的

想要正确设置自定义蓝屏快捷键,不是一件容易的事。需要了解以下几点:

我们可以打开设备管理器,查看当前机器上的键盘信息。

我们可以用如下方法打开 设备管理器:

上面的例子中,` 键的扫描码是 0x29,在keyToScanTbl[134]的索引是 1 。


表格最后的说明非常重要:

高亮部分的意思是:操作系统的其它部分和所有的应用程序按 Scan Code Set 1 里的值处理扫描码。所以我猜测微软官方文档里的 keyToScanTbl[134] 的值是按照 Scan Code Set 1 给出的。实在没精力调查的更清楚了,如果哪位小伙伴儿熟悉相关内容,请务必指点!我特意录制了使用自定义快捷键 CTRL + ` + ` 触发蓝屏的过程。按一次 ` 是不行的,一定要按两次。


5. 借助硬件

如果以上方法都行不通,还可以使用 PCI Express Dump Switch Card 使系统蓝屏,Windows 7, Windows Server 2008 R2 及更早的系统需要设置如下注册表项:


6. 内核调试器

如果已经用内核调试器附加到目标系统了,我们可以直接使用 .dump 命令保存转储文件,没必要使系统蓝屏再保存转储文件。当然,如果我们喜欢,也可以使用 .crash 命令使系统蓝屏,如果执行完该命令后,系统没蓝屏,请执行 g 命令。说明:如果当前正在执行 bug check处理函数,不要使用 .crash 命令。


注意:

需要双机内核调试的时候才行。在本地内核调试的时候,不能使用 .dump 命令,也不能使用 .crash 命令!真是个坏消息!!!


7. 其它


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

最后于 2020-3-7 09:43 被编程难编辑 ,原因: 调整代码格式
收藏
免费 8
支持
分享
最新回复 (8)
雪    币: 14490
活跃值: (17421)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
2
mark,楼主辛苦了;
有个问题,我现在是最新的Windows10 系统,但是总是蓝屏,蓝屏提示是DDTraficMoniter 的问题,不知道楼主能不能解释下这个内核模块的作用是什么,我希望我以后能尽量避免使用这个模块
2020-2-28 23:16
0
雪    币: 7887
活跃值: (4624)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
花式蓝屏, 受教了!感谢
2020-2-28 23:17
0
雪    币: 396
活跃值: (2613)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢,楼主把注册表换行整理一下,或者直接放reg文件上来一下?
最后于 2020-2-29 10:05 被saloyun编辑 ,原因:
2020-2-29 10:02
0
雪    币: 8519
活跃值: (9122)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
5
saloyun 谢谢,楼主把注册表换行整理一下,或者直接放reg文件上来一下?
抱歉,编辑预览的时候显示正常。发表之后就乱了。已经编辑好了。
2020-3-7 09:44
0
雪    币: 8519
活跃值: (9122)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
6
pureGavin mark,楼主辛苦了; 有个问题,我现在是最新的Windows10 系统,但是总是蓝屏,蓝屏提示是DDTraficMoniter 的问题,不知道楼主能不能解释下这个内核模块的作用是什么,我希望我以后 ...
抱歉,对这个驱动不熟,我机器上没这个驱动,DDTraficMonitor 应该是三方驱动吧?可以在内核调试的时候使用 lvvm DDTraficMonitor 看下这个驱动的详细信息。如果是三方驱动,可以考虑卸载。
2020-3-7 09:51
0
雪    币: 14490
活跃值: (17421)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
7
编程难 抱歉,对这个驱动不熟,我机器上没这个驱动,DDTraficMonitor 应该是三方驱动吧?可以在内核调试的时候使用 lvvm DDTraficMonitor 看下这个驱动的详细信息。如果是三方驱动, ...
之前百度还没有结果的,刚刚搜了一下说是哒哒加速器的问题,卸载到最后就只剩下这个文件了,看名字好眼熟。。。

2020-3-8 12:35
0
雪    币: 1028
活跃值: (216)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
原来还有这么多蓝屏的姿势,学习了。
2020-3-11 11:52
0
雪    币: 1054
活跃值: (3841)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
好详细,收藏了。
2022-10-27 17:12
0
游客
登录 | 注册 方可回帖
返回
//