多次因netio.sys蓝屏 疑似由360AntiHijack64.sys导致的空指针。
本帖最后由 360fans_18623092 于 2026-10-9 21:29 编辑以下报告使用agent工具诊断生成。附带三次崩溃蓝屏的dump文件和包含最后一次崩溃的完整dump文件。
# NETIO.SYS 0xD1 蓝屏诊断报告(关联 360AntiHijack64.sys)
报告日期:2026-10-09
报告目的:向 360 工程师反馈 360 安全卫士驱动 360AntiHijack64.sys 与系统网络栈蓝屏的相关证据,请求核查与修复。
---
## 一、问题概述
本机在 2026-10-06 至 2026-10-09 期间发生 3 次完全相同的蓝屏:
- 停止代码:DRIVER_IRQL_NOT_LESS_OR_EQUAL (0xD1)
- 失败操作:NETIO.SYS
- 崩溃时间与次数:10-06 17:30、10-09 14:21、10-09 20:07(其中 10-09 一天内两次)
3 次崩溃的特征完全一致(同一故障 IP 偏移、同一栈特征),属于确定性缺陷而非偶发。
对 3 份 minidump 的解析结果显示:**崩溃现场的内核栈上三次全部出现 360AntiHijack64.sys,且出现在完全相同的代码偏移(+0xe862、+0xe7ec);其中两次同时出现 adgnetworkwfpdrv.sys(AdGuard for Windows 的 WFP 网络过滤驱动)。**
---
## 二、环境信息
| 项目 | 内容 |
|---|---|
| 操作系统 | Microsoft Windows 11 专业版,10.0.26200(x64) |
| 系统安装时间 | 2026-06-25 |
| 崩溃时间点 | 2026-10-06 17:30、2026-10-09 14:21、2026-10-09 20:07 |
| 360 安全卫士 | 12.0.0.1961 |
| 360 杀毒 | 7.0.0.1070 |
| 涉事驱动 | 360AntiHijack64.sys,文件版本 1.0.0.1107,签名 360.cn(CN),文件大小 112,200 字节,二进制构建时间 2025-02-12,本机部署时间 2026-09-21 09:31 |
| 服务项 | 服务名 `360AntiHijack`,显示名 360Safe Anti Hijack Service,Start=1(系统启动),Type=1(内核驱动) |
| 共存第三方网络过滤驱动 | adgnetworkwfpdrv.sys(AdGuard for Windows 8.0.5584,驱动版本 8.0.91.0,构建 2026-08-28,本机部署 2026-10-08 16:16) |
| 其他网络相关驱动 | rtwlane711.sys(Realtek 8922AE WiFi 7)、rt25cx21x64.sys(Realtek PCIe 2.5GbE)、wintun.sys(mihomo TUN,0.14) |
---
## 三、核心证据
### 1. 三次崩溃的 BugCheck 参数完全同型
| dump 文件 | BugCheck | Param1(被访问地址) | Param2(IRQL) | Param3(读写) | Param4(故障 IP) |
|---|---|---|---|---|---|
| 100926-12140-01.dmp | 0xD1 | 0x50 | 0x2 | 0x0(读) | NETIO.SY+0x22fa1 |
| 100926-12250-01.dmp | 0xD1 | 0x50 | 0x2 | 0x0(读) | NETIO.SY+0x22fa1 |
| 100626-12640-01.dmp | 0xD1 | 0x50 | 0x2 | 0x0(读) | NETIO.SY+0x22fa1 |
含义:在 IRQL=2(DISPATCH_LEVEL)上,NETIO.SYS 内部同一处代码(模块内偏移 0x22fa1)尝试**读取地址 0x50**(典型的空指针 + 0x50 偏移解引用),随即蓝屏。三次跨重启、跨不同模块加载基址,偏移完全一致,说明是同一代码路径、同一逻辑缺陷。
### 2. 崩溃栈上第三方驱动出现情况(对 dump 栈区按 64 位指针扫描,映射到各驱动模块)
**dump: 100926-12140-01.dmp(2026-10-09 20:07,NETIO.SY 基址 0xfffff8052b990000)**
```
故障 IP : NETIO.SY+0x22fa1
NETIO.SY : +0x22fa1, +0x2309c, +0x22fa1, +0x2401b, +0x2260b, +0x211a4,
+0x200ba, +0x95000, +0x95c28, +0x407f2, +0x846b0, +0x4054d, +0x40500
ntoskrnl.exe : +0x6c26e9, +0x6bd9a8, +0x6af3ee, +0x6af3ab
360AntiHijack64.sys : +0xe862, +0xe7ec, +0xe7ec <== 关键
adgnetworkwfpdrv.sys: +0xeba6, +0x17550
vmswitch.sys : +0x8576
```
**dump: 100926-12250-01.dmp(2026-10-09 14:21,NETIO.SY 基址 0xfffff8077b100000)**
```
故障 IP : NETIO.SY+0x22fa1
NETIO.SY : +0x22fa1, +0x2309c, +0x22fa1, +0x2401b, +0x2260b, +0x211a4,
+0x200ba, +0x95000, +0x95c28, +0x407f2, +0x846b0, +0x4054d, +0x40500
ntoskrnl.exe : +0x6c26e9, +0x6bd9a8, +0xfd25c0, +0x6af3ee, +0x6af3ab
360AntiHijack64.sys : +0xe862, +0xe7ec, +0xe7ec <== 关键
```
**dump: 100626-12640-01.dmp(2026-10-06 17:30,NETIO.SY 基址 0xfffff804203c0000)**
```
故障 IP : NETIO.SY+0x22fa1
NETIO.SY : +0x22fa1, +0x22fa1, +0x249c0, +0x43dd3, +0x25b5a, +0x26d39, +0x22909,
+0x211a4, +0x200ba, +0x95000, +0x95c28, +0x407f2, +0x846b0, +0x4054d, +0x40500
ntoskrnl.exe : +0x6c26e9, +0x6bd9a8, +0x25f5b2, +0x6af3ee, +0x6af3ab
360AntiHijack64.sys : +0xe862, +0xe7ec, +0xe7ec <== 关键
adgnetworkwfpdrv.sys: +0xf301, +0x17550, +0x17550
ndis.sys : +0x17b0f
```
**统计:3/3 次崩溃栈上均有 360AntiHijack64.sys,且偏移恒为 +0xe862 与 +0xe7ec;2/3 次同时有 adgnetworkwfpdrv.sys。**
---
## 四、分析与推测
1. 故障点是 NETIO.SYS(微软网络 I/O 核心),但 NETIO 自身极少存在此类空指针缺陷;此类 0xD1 几乎都是**调用方(过滤器驱动 / WFP callout)传入非法上下文**所致。
2. 崩溃发生在 IRQL=2(DISPATCH_LEVEL)——即 WFP/NETIO 的 DPC/分类回调路径。第三方 WFP 过滤驱动(360AntiHijack64.sys 与 adgnetworkwfpdrv.sys)恰好都挂在这条路径上,且崩溃栈上可见二者帧交替出现,说明二者处于同一过滤链、在同一 DPC 上下文中被调用。
3. 本机同时运行两套带内核网络过滤的软件(360 安全卫士 + AdGuard for Windows),二者 WFP 过滤驱动在同一 NET_BUFFER_LIST / callout 上下文叠加,是 NETIO.SYS 0xD1 的经典成因组合。**360AntiHijack64.sys 是三次崩溃中唯一全勤的第三方内核模块,且偏移固定**,属优先核查对象。
4. 崩溃场景推测:高网络负载 / 多虚拟网卡环境(本机存在 Hyper-V vSwitch、TUN 虚拟网卡)下,防劫持驱动对流量做检测时持有的上下文对象在 DPC 阶段被再次访问时已失效或为空。
---
## 五、已排除项(供参考)
- **Realtek 网卡驱动**(rtwlane711.sys / rt25cx21x64.sys):三次 0xD1 崩溃栈上均未出现。
- **其他两次不同错误码的崩溃**(2026-09-15 0x133 DPC_WATCHDOG_VIOLATION、2026-09-04 0x9F DRIVER_POWER_STATE_FAILURE):栈上均无 360AntiHijack64.sys,与本次问题无关,不计入本报告结论。
- **vmswitch.sys(Hyper-V)**:仅 1 次出现在栈上,且位于 NETIO 正常路径,非异常项。
---
## 六、请求 360 侧核查的内容
1. 核查 **360AntiHijack64.sys v1.0.0.1107 中偏移 +0xe862 与 +0xe7ec** 对应函数的功能与实现(疑似与防劫持流量检测 / WFP callout 回调相关),确认其在 IRQL=2 上下文下对传入对象是否存在空引用或生命周期(对象已释放/未初始化)问题。
2. 评估该驱动与**其他第三方 WFP 过滤驱动(如 adgnetworkwfpdrv.sys,AdGuard)共存**时的兼容性:是否存在共享过滤链上的锁竞争、callout 注册/注销竞态,或对 NET_BUFFER_LIST 的错误处理。
3. 提供该驱动的符号(PDB)或对应的修复/测试版本,以便在相同环境下验证。
4. 如需复现环境:系统长期运行 360 安全卫士 12.0.0.1961 + 360 杀毒 7.0.0.1070 + AdGuard 8.0.5584,网络侧存在 Hyper-V 虚拟交换机与 TUN 虚拟网卡;崩溃在正常使用中随机发生(约 1~2 次/天),无特定用户操作可稳定触发。
---
## 七、附件与分析方法
**可提供的附件(本机路径):**
- `C:\Windows\Minidump\100926-12140-01.dmp`(2026-10-09 20:07)
- `C:\Windows\Minidump\100926-12250-01.dmp`(2026-10-09 14:21)
- `C:\Windows\Minidump\100626-12640-01.dmp`(2026-10-06 17:30)
- 另有 `C:\Windows\Minidump\091526-12718-01.dmp`、`090426-12156-01.dmp`(不同错误码,仅供参考)
- 完整转储:`C:\Windows\MEMORY.DMP`(2.78 GB,对应 **2026-10-09 20:07** 那次崩溃;Windows 仅保留最近一次完整转储,前两次已被覆盖)
**分析方法说明(便于对方复核):**
本报告未使用 WinDbg,而是直接解析 Windows 内核 minidump 的 PAGEDU64(triage dump)格式:
1. 读取 DUMP_HEADER64:BugCheckCode(偏移 0x38)与 4 个 BugCheck 参数(偏移 0x40 起,各 8 字节);
2. 在文件偏移 0x2000 处读取 TRIAGE_DUMP_HEADER:DriverListOffset(+0x30)、DriverCount(+0x34)、CallStackOffset(+0x28)、SizeOfCallStack(+0x2C);
3. 驱动列表每项 0x90 字节:+0x00 为名称在字符串池中的偏移(UTF-16,长度前缀),+0x38 为模块基址,+0x48 为镜像大小;字符串池位于 TRIAGE_DUMP_HEADER+0x38 处;
4. 将故障 IP 与栈区内的 64 位指针映射到上述模块区间,得到各模块的模块内偏移。
注:栈帧列表为对栈区指针的启发式扫描结果(非完整展开),但三次崩溃中 360AntiHijack64.sys 的偏移一致性足以支撑上述结论。建议 360 侧用符号化的 `!analyze -v` 与 `kv` 复核本机的这 3 份 dump。
dump文件下载地址二维码也是附件下载地址
感谢您的反馈,我们提交给技术分析
页:
[1]