ChatGPT_Codex_Windows闪退与SecureLink冲突完整排查实录

ChatGPT / Codex Windows 桌面版启动后闪退:从 0xC06D007F 到 SecureLink 注入冲突的完整排查实录

适用场景:

  • ChatGPT / Codex Windows 桌面版可以打开,但几秒后直接闪退
  • Windows 事件查看器出现 0xC06D007F
  • 重装、重置、修复 VC++ 运行库均无效
  • 电脑中安装了企业 VPN、零信任、终端安全、上网认证、远程办公等会注入进程的客户端

一、先说结论

本次故障最终定位为:

网宿 SecureLink 3.9.1
    ↓
向 ChatGPT.exe 注入 WsInjtdll64.dll
    ↓
ChatGPT.exe 加载 serialport.node
    ↓
DLL 加载 / 初始化过程中发生兼容性冲突
    ↓
抛出 0xC06D007F
    ↓
ChatGPT.exe 闪退

最终验证结果:

卸载 SecureLink 3.9.1
→ 重新启动 Windows
→ ChatGPT / Codex 恢复正常

注意:

本次问题不是“ChatGPT 安装包损坏”,也不是单纯的 VC++ 运行库问题,而是第三方软件的 DLL 注入与新版 ChatGPT / Codex 桌面客户端发生兼容性冲突。


二、故障现象

重新安装 Windows 版 ChatGPT / Codex 桌面客户端后,出现以下情况:

  • 程序能够正常启动;
  • 主界面能够正常显示;
  • 几秒后直接退出;
  • 没有明显弹窗;
  • 重装 ChatGPT 无效;
  • 重置应用数据无效;
  • 重新安装 Visual C++ 运行库无效。

Windows 事件日志中的关键错误:

出错应用程序名称:ChatGPT.exe
异常代码:0xc06d007f
故障模块名称:unknown

程序路径类似:

C:\Program Files\WindowsApps\
OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0\
app\ChatGPT.exe

三、第一步:不要反复重装,先查 Windows 崩溃日志

1. 让 ChatGPT 再闪退一次

先启动 ChatGPT,让问题重新出现。

然后立刻使用管理员 PowerShell 执行:

Get-WinEvent -FilterHashtable @{
    LogName='Application'
    Level=2
    StartTime=(Get-Date).AddMinutes(-30)
} | Where-Object {
    $_.Message -match 'ChatGPT|Codex|OpenAI'
} | Select-Object TimeCreated, ProviderName, Id, Message | Format-List

本次得到的核心信息:

出错应用程序名称:ChatGPT.exe
异常代码:0xc06d007f
故障模块名称:unknown

2. 如何理解 0xC06D007F

这个异常通常说明:

程序在加载某个 DLL 或调用 DLL 中的函数时发生异常

常见方向包括:

  • DLL 版本不匹配;
  • DLL 被第三方程序劫持或注入;
  • 原生 Node / Electron 模块加载失败;
  • 安全软件、零信任、VPN、终端防护软件介入进程;
  • 某个延迟加载的 DLL 缺少函数入口。

此时继续重复重装 ChatGPT,意义已经不大。


四、第二步:先排除常规运行库问题

虽然最终不是 VC++ 的问题,但这一步仍然值得做,因为很多类似故障确实由运行库导致。

管理员 PowerShell:

winget install --id Microsoft.VCRedist.2015+.x64 -e --force

然后:

winget install --id Microsoft.VCRedist.2015+.x86 -e --force

安装完成后:

重新启动 Windows
→ 再测试 ChatGPT

本次结果:

仍然闪退

因此继续进入 Dump 分析。


五、第三步:使用 ProcDump 抓取 ChatGPT 崩溃转储

1. 下载 ProcDump

下载微软 Sysinternals 官方 ProcDump。

解压到:

C:\Procdump

确认目录中存在:

procdump.exe
procdump64.exe

2. 创建 Dump 目录

管理员 PowerShell:

New-Item -ItemType Directory -Path C:\ChatGPT_Dump -Force

切换目录:

cd C:\Procdump

开始监控:

.\procdump64.exe -accepteula -ma -e -w ChatGPT.exe C:\ChatGPT_Dump

正常情况下会看到类似:

Waiting for process named ChatGPT.exe...

3. 触发闪退

保持 PowerShell 窗口不要关闭。

然后:

启动 ChatGPT
→ 等待程序闪退

本次 ProcDump 捕获到:

Exception: C06D007F
Unhandled: C06D007F

并生成:

C:\ChatGPT_Dump\ChatGPT.exe_260716_012349.dmp

Dump 大约 1.4 GB。


六、第四步:使用 WinDbg 分析 Dump

1. 打开 Dump

安装并打开 WinDbg。

选择:

File
→ Open dump file

加载:

C:\ChatGPT_Dump\ChatGPT.exe_260716_012349.dmp

等待符号加载完成。


2. 执行分析命令

在 WinDbg 底部命令框输入:

!analyze -v

回车。


3. 本次最关键的分析结果

WinDbg 给出:

Failure.Bucket:
APPLICATION_FAULT_c06d007f_serialport.node!Unknown

以及:

MODULE_NAME: serialport
IMAGE_NAME: serialport.node

FAILURE_BUCKET_ID:
APPLICATION_FAULT_c06d007f_serialport.node!Unknown

这说明:

最终崩溃发生在 serialport.node 的加载 / 初始化阶段

但这还不是全部。

调用栈中又发现:

WsInjtdll64!Injt_RegisterDllCallback

关键调用链:

ntdll!LdrLoadDll
↓
WsInjtdll64!Injt_RegisterDllCallback
↓
KernelBase!LoadLibraryExW
↓
chrome!uv_dlopen
↓
serialport.node

这意味着:

在 ChatGPT 加载 serialport.node 的过程中,有一个第三方 DLL 正在介入 DLL 加载过程。

这类现象通常就是:

进程注入
DLL Hook
安全软件拦截
零信任 / VPN 客户端注入
终端防护组件

七、第五步:反查 WsInjtdll64.dll 属于哪个软件

在 WinDbg 中执行:

lmvm WsInjtdll64

得到:

Image path:
C:\Windows\System32\drivers\WsInjtdll64.dll

ProductVersion:
3.9.1

FileDescription:
CommonWsInjtdll

此时不要直接删除 DLL。

先查数字签名。


1. 查询数字签名

管理员 PowerShell:

Get-AuthenticodeSignature "C:\Windows\System32\drivers\WsInjtdll64.dll" |
Format-List Status,StatusMessage,SignerCertificate

本次查询到的签名厂商:

Wangsu Science and Technology Co., Ltd.

也就是:

网宿科技

2. 查询 SHA256

Get-FileHash "C:\Windows\System32\drivers\WsInjtdll64.dll" -Algorithm SHA256

本次文件哈希:

D3EF5A07805A1FC16EB5D6A52691BC276435F318B89A2FBF630208FC5C0C4157

3. 反查已安装软件

执行:

$keywords = 'Wangsu|网宿|WsInjt|CommonWs'

$paths = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
)

Get-ItemProperty $paths -ErrorAction SilentlyContinue |
Where-Object {
    $_.DisplayName -match $keywords -or
    $_.Publisher -match $keywords -or
    $_.InstallLocation -match $keywords
} |
Select-Object DisplayName, Publisher, DisplayVersion, InstallLocation |
Format-List

最终得到:

DisplayName    : SecureLink 3.9.1
Publisher      : 网宿科技
DisplayVersion : 3.9.1

WsInjtdll64.dll 本身也是:

ProductVersion: 3.9.1

版本完全对应。

至此,冲突对象基本锁定。


八、第六步:最终验证

卸载:

SecureLink 3.9.1

然后必须:

重新启动 Windows

注意:

只卸载但不重启,相关 DLL 或注入组件仍有可能驻留在当前系统会话中。

重启后:

ChatGPT 正常启动
不再闪退

再检查:

Test-Path "C:\Windows\System32\drivers\WsInjtdll64.dll"

结果:

False

说明:

WsInjtdll64.dll 已移除

同时 ChatGPT 恢复正常。

故障链至此闭环。


九、最终故障链

完整关系如下:

SecureLink 3.9.1
        ↓
加载 / 注入 WsInjtdll64.dll
        ↓
WsInjtdll64.dll 进入 ChatGPT.exe
        ↓
ChatGPT.exe 加载 serialport.node
        ↓
DLL 加载 / 初始化过程中发生兼容性异常
        ↓
0xC06D007F
        ↓
ChatGPT.exe 闪退

十、临时解决方案

如果只是为了验证问题:

卸载 SecureLink 3.9.1
→ 重新启动 Windows
→ 测试 ChatGPT

如果 ChatGPT 恢复正常,基本可以确认冲突。


十一、长期解决方案:软件必须共存怎么办?

很多单位环境中,SecureLink、VPN、零信任或企业安全客户端不能长期卸载。

此时不要简单删除 DLL,而应该按以下优先级处理。


优先联系:

单位 IT 管理员
SecureLink 管理员
网宿技术支持

升级到比:

SecureLink 3.9.1

更高的版本。

因为这类问题本质属于:

旧版注入模块
+
新版 Electron / Node / 原生模块
=
兼容性冲突

方案 2:将 ChatGPT.exe 加入进程注入排除名单

建议向管理员或厂商提出:

SecureLink 正常运行
但不要向 ChatGPT.exe 注入 WsInjtdll64.dll

建议排除:

ChatGPT.exe

而不是只排除完整路径。

原因是 Windows Store / MSIX 应用升级后,版本目录会变化,例如:

C:\Program Files\WindowsApps\
OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0\
app\ChatGPT.exe

下一次更新后,版本号目录可能改变。

因此更适合按:

进程名:ChatGPT.exe

进行兼容性排除。


方案 3:让厂商确认是否支持“进程注入白名单”

向 SecureLink 技术支持描述时,可以直接提供下面的信息。

故障描述模板

客户端:SecureLink 3.9.1

冲突程序:
ChatGPT.exe / OpenAI Codex Windows 桌面客户端

注入模块:
C:\Windows\System32\drivers\WsInjtdll64.dll

异常代码:
0xC06D007F

WinDbg Failure Bucket:
APPLICATION_FAULT_c06d007f_serialport.node!Unknown

调用栈关键模块:
WsInjtdll64!Injt_RegisterDllCallback

现象:
安装 SecureLink 后 ChatGPT 启动数秒即闪退;
卸载 SecureLink 并重启后恢复正常。

诉求:
请提供兼容版本,或将 ChatGPT.exe 加入 DLL 注入排除 / 进程兼容白名单。

这个模板可以直接发给厂商技术支持。


十二、不要这样处理

1. 不要直接删除 WsInjtdll64.dll

例如:

C:\Windows\System32\drivers\WsInjtdll64.dll

原因:

  • 软件可能自动修复;
  • 下次升级可能重新生成;
  • 可能导致 SecureLink 自身损坏;
  • 可能影响单位 VPN、零信任、访问控制等功能。

2. 不要无限循环重装 ChatGPT

如果事件日志始终是:

0xC06D007F

而且重装后故障完全一致,应尽快进入 Dump 分析。


3. 不要看到 serialport.node 就直接删除它

serialport.node 是最终崩溃现场,但未必是根因。

本次真正关键的是:

serialport.node 加载时
第三方 DLL WsInjtdll64.dll 正在介入

所以:

故障模块
≠
一定等于根因模块

这是排查此类问题时非常重要的一点。


十三、遇到类似问题时,可以直接套用这套排查流程

1. 让程序重新闪退一次
        ↓
2. 查 Windows Application Error
        ↓
3. 记录异常代码
        ↓
4. 常规修复无效后停止反复重装
        ↓
5. ProcDump 抓完整 Dump
        ↓
6. WinDbg 执行 !analyze -v
        ↓
7. 看 FAILURE_BUCKET_ID
        ↓
8. 看 STACK_TEXT
        ↓
9. 查调用栈中是否有第三方 DLL
        ↓
10. 使用 lmvm 模块名 反查 DLL
        ↓
11. 查数字签名、版本、厂商
        ↓
12. 反查对应已安装软件
        ↓
13. 临时卸载 / 停止该软件做 A/B 验证
        ↓
14. 最终通过升级或注入白名单解决

十四、几个实用判断经验

经验 1:界面能打开再闪退,通常不是主程序缺文件

如果程序:

能启动
能显示 UI
几秒后闪退

更应该怀疑:

延迟加载组件
插件
原生模块
DLL Hook
第三方注入
安全软件

而不是只盯着“安装包损坏”。


经验 2:故障模块 unknown 不代表无法定位

Windows 事件查看器可能只显示:

Faulting module: unknown

但 ProcDump + WinDbg 往往能够继续追到:

具体模块
调用栈
第三方 DLL
加载链

经验 3:第三方安全软件不一定“恶意”,但仍可能冲突

本次 WsInjtdll64.dll 有有效数字签名,并且属于正规厂商。

所以:

正规 DLL
≠
一定不会导致兼容性问题

尤其是:

VPN
零信任
终端管控
安全防护
输入法
远程控制
加密软件

这类软件常会使用:

DLL 注入
API Hook
网络拦截
进程监控

与 Electron、Chromium、Node 原生模块发生冲突并不罕见。


十五、如何确认自己的电脑是否是同类问题

如果你也遇到:

ChatGPT / Codex Windows 桌面版
启动后几秒闪退

可以先检查:

Get-WinEvent -FilterHashtable @{
    LogName='Application'
    Level=2
    StartTime=(Get-Date).AddMinutes(-30)
} | Where-Object {
    $_.Message -match 'ChatGPT|Codex|OpenAI'
} | Select-Object TimeCreated, ProviderName, Id, Message | Format-List

如果看到:

0xC06D007F

并且电脑中安装了:

VPN
零信任
企业安全客户端
远程办公客户端
终端防护客户端

建议优先考虑:

第三方 DLL 注入冲突

而不是一上来就反复重装 ChatGPT。


十六、本次排查得到的最终结论

本次故障中:

ChatGPT.exe

在加载:

serialport.node

时,调用链中存在:

WsInjtdll64!Injt_RegisterDllCallback

该 DLL:

C:\Windows\System32\drivers\WsInjtdll64.dll

数字签名厂商为:

Wangsu Science and Technology Co., Ltd.

最终反查到:

SecureLink 3.9.1

卸载 SecureLink 并重新启动 Windows 后:

ChatGPT 恢复正常
WsInjtdll64.dll 不再存在

因此本次故障最终确认是:

SecureLink 3.9.1 的 WsInjtdll64.dll 注入 ChatGPT.exe 后,与 ChatGPT / Codex 的 serialport.node 加载过程发生兼容性冲突,最终触发 0xC06D007F 并导致程序闪退。


十七、最简版结论

现象:
ChatGPT / Codex Windows 桌面版启动几秒后闪退

异常:
0xC06D007F

WinDbg:
APPLICATION_FAULT_c06d007f_serialport.node!Unknown

关键第三方模块:
WsInjtdll64.dll

来源:
网宿 SecureLink 3.9.1

验证:
卸载 SecureLink + 重启 → ChatGPT 恢复正常

长期解决:
升级 SecureLink,或让厂商 / 管理员将 ChatGPT.exe 加入 DLL 注入排除白名单

十八、排查后清理

确认问题解决后,可以删除 Dump:

Remove-Item "C:\ChatGPT_Dump" -Recurse -Force

如果 ProcDump 后续不再使用,也可以删除:

C:\Procdump

WinDbg 可以保留,后续排查其他 Windows 程序闪退时仍然非常有用。


补充说明

本次结论来自实际 A/B 验证:

安装 SecureLink 时:ChatGPT 闪退
卸载 SecureLink并重启后:ChatGPT 正常

因此故障关联已经得到验证。

但从长期维护角度看,建议优先通过:

升级 SecureLink
或
为 ChatGPT.exe 配置进程注入排除

解决,而不是长期卸载企业必需软件,也不要通过手工删除系统目录中的 DLL 来规避冲突。

posted @ 2026-07-16 02:05  忧桑の民工  阅读(11)  评论(0)    收藏  举报