当前位置: 首页 > article >正文

对于Windows 11蓝屏代码0x0000003B的研究

0x00 缘起

全新安装的Windows 11 24H2 专业版系统中,使用PowerShell或者CMD命令行运行处于网络存储器中的EXE可执行文件时,将100%出现代码为0x0000003B的蓝屏现象。使用联想蓝屏诊断工具对蓝屏DMP文件进行分析并没有报告导致蓝屏的具体原因以及处理方法。

使用WinDBG使用!analyze -v分析蓝屏DMP文件具有以下代码:

******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the BugCheck
Arg2: fffff80523a3156f, Address of the instruction which caused the BugCheck
Arg3: ffffa78304205c60, Address of the context record for the exception that caused the BugCheck
Arg4: 0000000000000000, zero.

Debugging Details:
------------------


KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2062

    Key  : Analysis.Elapsed.mSec
    Value: 7049

    Key  : Analysis.IO.Other.Mb
    Value: 4

    Key  : Analysis.IO.Read.Mb
    Value: 0

    Key  : Analysis.IO.Write.Mb
    Value: 24

    Key  : Analysis.Init.CPU.mSec
    Value: 875

    Key  : Analysis.Init.Elapsed.mSec
    Value: 192780

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 88

    Key  : Analysis.Version.DbgEng
    Value: 10.0.27704.1001

    Key  : Analysis.Version.Description
    Value: 10.2408.27.01 amd64fre

    Key  : Analysis.Version.Ext
    Value: 1.2408.27.1

    Key  : Bugcheck.Code.LegacyAPI
    Value: 0x3b

    Key  : Bugcheck.Code.TargetModel
    Value: 0x3b

    Key  : Dump.Attributes.AsUlong
    Value: 21808

    Key  : Dump.Attributes.DiagDataWrittenToHeader
    Value: 1

    Key  : Dump.Attributes.ErrorCode
    Value: 0

    Key  : Dump.Attributes.KernelGeneratedTriageDump
    Value: 1

    Key  : Dump.Attributes.LastLine
    Value: Dump completed successfully.

    Key  : Dump.Attributes.ProgressPercentage
    Value: 0

    Key  : Failure.Bucket
    Value: AV_appid!SmartlockerCheckUninstallStringEA

    Key  : Failure.Hash
    Value: {eaffc04d-0ec7-3e94-c878-165eb1d3b5f5}

    Key  : Hypervisor.Enlightenments.ValueHex
    Value: 7497cf94

    Key  : Hypervisor.Flags.AnyHypervisorPresent
    Value: 1

    Key  : Hypervisor.Flags.ApicEnlightened
    Value: 1

    Key  : Hypervisor.Flags.ApicVirtualizationAvailable
    Value: 0

    Key  : Hypervisor.Flags.AsyncMemoryHint
    Value: 0

    Key  : Hypervisor.Flags.CoreSchedulerRequested
    Value: 0

    Key  : Hypervisor.Flags.CpuManager
    Value: 1

    Key  : Hypervisor.Flags.DeprecateAutoEoi
    Value: 0

    Key  : Hypervisor.Flags.DynamicCpuDisabled
    Value: 1

    Key  : Hypervisor.Flags.Epf
    Value: 0

    Key  : Hypervisor.Flags.ExtendedProcessorMasks
    Value: 1

    Key  : Hypervisor.Flags.HardwareMbecAvailable
    Value: 1

    Key  : Hypervisor.Flags.MaxBankNumber
    Value: 0

    Key  : Hypervisor.Flags.MemoryZeroingControl
    Value: 0

    Key  : Hypervisor.Flags.NoExtendedRangeFlush
    Value: 0

    Key  : Hypervisor.Flags.NoNonArchCoreSharing
    Value: 1

    Key  : Hypervisor.Flags.Phase0InitDone
    Value: 1

    Key  : Hypervisor.Flags.PowerSchedulerQos
    Value: 0

    Key  : Hypervisor.Flags.RootScheduler
    Value: 0

    Key  : Hypervisor.Flags.SynicAvailable
    Value: 1

    Key  : Hypervisor.Flags.UseQpcBias
    Value: 0

    Key  : Hypervisor.Flags.Value
    Value: 38408431

    Key  : Hypervisor.Flags.ValueHex
    Value: 24a10ef

    Key  : Hypervisor.Flags.VpAssistPage
    Value: 1

    Key  : Hypervisor.Flags.VsmAvailable
    Value: 1

    Key  : Hypervisor.RootFlags.AccessStats
    Value: 1

    Key  : Hypervisor.RootFlags.CrashdumpEnlightened
    Value: 1

    Key  : Hypervisor.RootFlags.CreateVirtualProcessor
    Value: 1

    Key  : Hypervisor.RootFlags.DisableHyperthreading
    Value: 0

    Key  : Hypervisor.RootFlags.HostTimelineSync
    Value: 1

    Key  : Hypervisor.RootFlags.HypervisorDebuggingEnabled
    Value: 0

    Key  : Hypervisor.RootFlags.IsHyperV
    Value: 1

    Key  : Hypervisor.RootFlags.LivedumpEnlightened
    Value: 1

    Key  : Hypervisor.RootFlags.MapDeviceInterrupt
    Value: 1

    Key  : Hypervisor.RootFlags.MceEnlightened
    Value: 1

    Key  : Hypervisor.RootFlags.Nested
    Value: 0

    Key  : Hypervisor.RootFlags.StartLogicalProcessor
    Value: 1

    Key  : Hypervisor.RootFlags.Value
    Value: 1015

    Key  : Hypervisor.RootFlags.ValueHex
    Value: 3f7


BUGCHECK_CODE:  3b

BUGCHECK_P1: c0000005

BUGCHECK_P2: fffff80523a3156f

BUGCHECK_P3: ffffa78304205c60

BUGCHECK_P4: 0

FILE_IN_CAB:  102424-11718-01.dmp

TAG_NOT_DEFINED_202b:  *** Unknown TAG in analysis list 202b


DUMP_FILE_ATTRIBUTES: 0x21808
  Kernel Generated Triage Dump

FAULTING_THREAD:  ffffe50356cd80c0

CONTEXT:  ffffa78304205c60 -- (.cxr 0xffffa78304205c60)
rax=0000000000000028 rbx=0000000000000000 rcx=ffff808e26556380
rdx=ffffa78304206718 rsi=ffff808e26556380 rdi=0000000000000000
rip=fffff80523a3156f rsp=ffffa783042066b0 rbp=ffffa78304206730
 r8=ffffa783042066f0  r9=0000000000000000 r10=ffffa78304206218
r11=ffffa78304206118 r12=0000000000000000 r13=ffffffff800025b8
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00050246
appid!SmartlockerCheckUninstallStringEA+0x103:
fffff805`23a3156f 410fb74724      movzx   eax,word ptr [r15+24h] ds:002b:00000000`00000024=????
Resetting default scope

BLACKBOXBSD: 1 (!blackboxbsd)


BLACKBOXNTFS: 1 (!blackboxntfs)


BLACKBOXWINLOGON: 1

CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  powershell.exe

STACK_TEXT:  
ffffa783`042066b0 fffff805`23a325e5     : ffffffff`80003550 ffffe503`5db22ea0 00000000`00000005 00000000`00000000 : appid!SmartlockerCheckUninstallStringEA+0x103
ffffa783`04206760 fffff805`23a345a4     : ffffffff`80003550 ffff808e`1e014e68 ffff808e`1e014e68 ffffa783`04207590 : appid!SmartlockerVerifyProcess+0x261
ffffa783`042068a0 fffff805`23a30c90     : ffffffff`80003550 ffffffff`800025b8 00000000`00000000 ffff808e`00000000 : appid!SrpVerifyProcess+0x204
ffffa783`04206950 fffff805`23a30763     : ffffe503`4d5c95f0 ffffa783`04206b89 ffffe503`4469f040 fffff805`8e73d89a : appid!AipCreateProcessNotifyRoutine+0x314
ffffa783`04206ad0 fffff805`8ecb0386     : ffffa783`04206c30 ffffa783`04206c30 ffffe503`48a1e080 ffffa783`04207590 : appid!AiProcessNotifyRoutine+0x103
ffffa783`04206bf0 fffff805`8ecab173     : 00000000`00000000 00000000`00000000 00000000`00000001 ffffe503`5db22ea0 : nt!PspCallProcessNotifyRoutines+0x152
ffffa783`04206cc0 fffff805`8ec73d79     : ffffe503`5cb30080 ffffe503`48a1e080 ffffa783`04207450 ffffa783`04207318 : nt!PspInsertThread+0x7ab
ffffa783`04206d90 fffff805`8ea87158     : 00000000`00000000 00000000`0000000c 00000000`00000000 00000000`00000000 : nt!NtCreateUserProcess+0xa29
ffffa783`04207a30 00007ffb`b5ec1044     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x28
0000000f`bb2cba78 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffb`b5ec1044


SYMBOL_NAME:  appid!SmartlockerCheckUninstallStringEA+103

MODULE_NAME: appid

IMAGE_NAME:  appid.sys

IMAGE_VERSION:  10.0.26100.1882

STACK_COMMAND:  .cxr 0xffffa78304205c60 ; kb

BUCKET_ID_FUNC_OFFSET:  103

FAILURE_BUCKET_ID:  AV_appid!SmartlockerCheckUninstallStringEA

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {eaffc04d-0ec7-3e94-c878-165eb1d3b5f5}

Followup:     MachineOwner
---------

微软社区Jarl Lee对于0x0000003B提供了以下处理方法:

我会建议您采取下面的方法:
========================================
#方法A 卸载和重装相关驱动:

1. 回到桌面,右键点击左下方的Windows标志(或者按下WIN+X组合键)
2. 菜单选取【设备管理器】
3. 寻找相关的设备
4. 右键点击【卸载】,选择【是】
5. 重新启动电脑
6. Windows 将会尝试重新安装驱动程式

微软官方有详细简易的《Windows 10 中更新驱动程序》教学:
https://support.microsoft.com/zh-cn/help/402844...

========================================
#方法B 停止非核心的程序运作(包括第三方杀毒、优化软体)、卸载可能导致蓝屏的软件:

1. 卸载设备中的第三方杀毒、管家、优化软件
2. 同时按【Windows 徽标键+R】,输入 【msconfig】,按回车(Enter)
3. 点击 【服务】>【隐藏所有 Microsoft 服务】>【全部禁用】
4. 启动【任务管理器】,点击 【启动】 选项卡,将所有启动项都禁用
5. 重启设备

 上述建议以及解决方案均不能解决当前特地场景下出现蓝屏的问题。

0x01 环境

1. 硬件参数:

- CPU:AMD Ryzen 9 6900HX with Radeon Graphics 3.30 GHz;

- 内存:海力士Adia 16GB(8x2) 5600MT;

2. 软件参数:

- Windows:Windows 11 专业版 24H2

0x02 复现

在全新安装的Windows 11 专业版 24H2中,将局域网内的SMB服务器进行“映射网络驱动器”操作映射到本地,文件夹参数:"\\wangsens-air.lan\share"。

假设在网络驱动器Z盘中存在可执行文件main.exe,使用PowerShell执行以下命令:

cd Z://; .\main.exe

此时将100%触发蓝屏。

0x03 研究

使用ChatGPT 4-o分析Bugcheck Analysis信息,其回答如下:

分析蓝屏原因

根据您提供的蓝屏(BSOD)错误分析日志,蓝屏错误代码为 SYSTEM_SERVICE_EXCEPTION (3b),这通常表示在执行系统服务例程时发生了异常。具体分析如下:

  1. 错误代码及原因

    • 错误代码3b
    • Bugcheck参数
      • Arg1: 0xc0000005:表示发生了访问违规(Access Violation),即尝试读取或写入无效的内存地址。
      • Arg2: fffff80523a3156f:导致错误的指令地址。
      • Arg3: ffffa78304205c60:异常发生时的上下文记录地址。
  2. 故障模块

    • 模块名appid.sys
    • 函数名称SmartlockerCheckUninstallStringEA
    • 这是一个第三方驱动程序,通常与某些安全软件、应用保护软件或系统优化工具相关联。
  3. 导致崩溃的具体原因

    • 在 appid.sys 模块中,SmartlockerCheckUninstallStringEA 函数在尝试访问内存地址 [r15+24h] 时发生了访问违规。这可能是由于驱动程序中的编程错误、与其他驱动程序的不兼容,或者驱动程序本身已损坏。
  4. 相关进程

    • 进程名称powershell.exe
    • 这是一个系统进程,通常不会直接导致蓝屏,但可能与某些自动化脚本或系统管理任务相关。

建议的解决步骤

要解决此蓝屏问题,可以按照以下步骤进行排查和修复:

  1. 更新相关软件和驱动程序

    • 识别 appid.sys 所属的软件:通常 appid.sys 与某些安全软件(如杀毒软件、应用保护软件)相关。请检查系统中安装的所有第三方安全或系统优化软件,特别是最近安装或更新的。
    • 更新软件:访问相关软件的官方网站,下载并安装最新版本。这些更新通常包含错误修复和兼容性改进。
  2. 卸载有问题的软件

    • 如果您最近安装了某些安全软件或系统优化工具,尝试暂时卸载这些软件,观察蓝屏是否仍然发生。
    • 卸载步骤
      • 打开 控制面板 > 程序和功能
      • 找到相关软件,选择卸载并按照提示完成。
  3. 运行系统文件检查和修复

    • 系统文件检查(SFC)

      1. 打开 命令提示符(以管理员身份运行)。
      2. 输入以下命令并按回车:
         

        bash复制

        sfc /scannow
      3. 等待扫描完成,按照提示修复发现的问题。
    • 部署映像服务和管理(DISM)

      1. 在 命令提示符 中,输入以下命令并按回车:
         

        bash复制

        DISM /Online /Cleanup-Image /RestoreHealth
      2. 等待操作完成。
  4. 检查系统更新

    • 确保您的Windows操作系统是最新的,已安装所有重要和可选更新。
    • 更新步骤
      • 打开 设置 > 更新和安全 > Windows 更新
      • 点击 检查更新 并安装所有可用更新。
  5. 进行内存测试

    • 有时候,内存问题也会导致访问违规错误。建议运行 Windows 内存诊断工具
    • 运行内存诊断
      1. 按 Win + R 键,输入 mdsched.exe,然后按回车。
      2. 选择 立即重新启动并检查问题
      3. 让诊断工具完成测试,并查看结果。
  6. 检查是否存在恶意软件

    • 使用可靠的杀毒软件进行全面系统扫描,确保系统中没有恶意软件干扰。
  7. 回滚最近的更改

    • 如果蓝屏问题在安装某些软件或驱动更新后开始出现,尝试使用 系统还原 回到更早的还原点。
  8. 禁用或管理启动项

    • 有时候,启动项中的第三方程序会导致驱动冲突。
    • 管理启动项
      1. 按 Ctrl + Shift + Esc 打开 任务管理器
      2. 转到 启动选项卡。
      3. 禁用不必要的启动项,尤其是与系统安全或优化相关的程序,看看是否改善稳定性。
  9. 联系软件供应商或技术支持

    • 如果问题仍然存在,建议联系相关软件的技术支持团队,提供蓝屏日志以获取专业帮助。

预防措施

  • 定期备份重要数据:使用Windows自带的备份工具或者第三方备份软件,确保数据安全。
  • 保持系统和软件的更新:及时安装Windows更新和应用程序补丁,以获得最新的功能和安全性修复。
  • 避免安装不可信的软件:仅从官方渠道或可信来源下载和安装软件,减少潜在的驱动冲突和恶意软件风险。

通过以上步骤,您应该能够定位并解决导致 SYSTEM_SERVICE_EXCEPTION (3b) 蓝屏错误的根本原因。如果问题依然无法解决,建议寻求专业技术人员的帮助,以进一步诊断和修复系统问题。

 其回答表示发生了访问违规(Access Violation),即尝试读取或写入无效的内存地址。综合微软社区回答以及ChatGPT回答,从以下角度进行研究:

1. SMB服务器本身问题。

        - 使用Windows 安全模式进行访问;

2. Windows 组件受损。

        - 重装Windows 11 24H2;

2.  网络驱动。

        - 由于问题出现在有线网络,更换为无线网络进行测试。

3. 安全软件(权限问题)。

        - 卸载 安全软件火绒;

        - 关闭 WindowsDefender 中内存完整性等相关保护。

        - 添加 网络驱动器为信任区域,并允许相关禁止项。

针对上述研究思路,依次进行实验验证:

1. 使用Windows 安全模式进行访问,可以执行上述“蓝屏操作”且不会蓝屏

2. 重装Windows 11 24H2,执行上述“蓝屏操作”会蓝屏

3. 更换为无线网络进行测试,执行上述“蓝屏操作”会蓝屏

4. 卸载 安全软件火绒,执行上述“蓝屏操作”会蓝屏

5. 关闭 WindowsDefender 中内存完整性等相关保护, 添加 网络驱动器为信任区域,并允许相关禁止项,可以执行上述“蓝屏操作”且不会蓝屏

通过实验可知,“WindowsDefender相关防护”以及“权限设置”是造成使用命令行运行网络驱动器可执行文件导致蓝屏的主要原因。

0x04 方法

针对使用命令行运行网络驱动器可执行文件导致蓝屏的问题,需要对WindowsDefender以及 Internet属性进行设置,具体设置如下。

1. WindowsDefender

1.1 通过安装火绒关闭(或其他安全软件)WD(WindowsDefender)的病毒和威胁防护。

1.2 关闭智能应用控制

1.3 关闭基于声誉的保护

1.4 关闭攻击防护

1.5 关闭内核隔离相关保护

        - 关闭 内存完整性

        - 关闭 内核模式硬件强制堆栈保护

        - 关闭 本地安全机构保护

        - 关闭 Microsoft 易受攻击的驱动程序阻止列表

综合ChatGPT的回答,猜测“内核隔离相关保护” 以及 “攻击防护” 中的相关操作可能造成“发生了访问违规(Access Violation)”问题,而导致蓝屏的出现。

2. Internet属性设置

2.1 添加受信任的站点

        - 在控制面版中启动 Internet选项;

        - 添加网络存储器路径

2.2 自定义区域安全级别

        - 在“受信任的站点中”打开"自定义级别"

        - 启用加载应用程序和不安全文件

3. 其他说明

上述方法中每一个步骤并非必须,研究中并没有找出导致蓝屏操作的根本原因,但是进行整体设置能够解决蓝屏问题。

0x05 结论

对于Windows 11 24H2 专业版系统中使用命令行运行处于网络存储器中的EXE可执行文件时所出现0x0000003B的蓝屏的问题。通过实验得知,可能是由于“WindowsDefender”相关防护以及“Internet属性设置”阻止了非特权指令陷入内核被执行导致发生了内存访问违规而出现0x0000003B蓝屏。通过安装第三方安全软件、关闭“WindowsDefender”相关防护以及正确配置“Internet属性设置”可以解决上述蓝屏问题的发生。

0x06 参考

1. 查找/分析Windows蓝屏DMP文件_蓝屏文件在哪个文件夹-CSDN博客

2. 系统蓝屏日志DMP文件分析工具WinDbg及教程_windbg的日志分析软件-CSDN博客 

3. 微软社区:win10出现蓝屏,错误代码0x0000003b 

4. 消除Windows下打开网络文件时的安全警告 - 简书 

5. win10创建网络磁盘映射,win10访问samba共享文件夹_win10添加映射网络文件夹-CSDN博客 

0x07 后记

- 己欲立而立人,己欲达而达人。


http://www.kler.cn/news/363916.html

相关文章:

  • 使用Redisson的布隆过滤器解决缓存穿透问题
  • Maven入门到实践:从安装到项目构建与IDEA集成
  • 在使用代理IP时,需要注意以下几点:
  • ZYNQ PS_GPIO中断
  • 富格林:可信操作助力有效追损
  • 系统登录接口文档Demo
  • 【c++小游戏】Surviving版本v0.1.1
  • [LeetCode] 78. 子集
  • 标准函数let、run、also、all、with、takeIf、takeUnless
  • [LeetCode] 207. 课程表
  • 【Java知识】一款强大的SQL处理库JSqlPaser
  • 【优选算法篇】在分割中追寻秩序:二分查找的智慧轨迹
  • Oracle CONNECT BY、PRIOR和START WITH关键字详解
  • MoCoOp: Mixture of Prompt Learning for Vision Language Models
  • PHP多功能图片编辑器
  • 深入解析Golang GMP
  • WebSocket Secure (WSS)
  • 在python中,导入Echart.js并运用可视化图表
  • docker run和docker start的区别
  • Rust编程语言变量的所有权(ownership)
  • Web前端-JavaScript输入输出语法
  • APP综合应用之业务场景脚本测试任务(5)--多重继承与总结
  • mov 转 mp4
  • 信号与系统学习:傅里叶级数
  • HarmonyOS 最新API12 创建云端一体化项目(带图展示)
  • 基于stm32的楼宇照明控制系统设计