逆向工程师拆解Windows 11性能服务:能力强大 但并非“间谍软件”

📅 2026-08-26

摘要:

近期,Windows 11 的性能表现持续受到用户批评,而一个名为“Windows Health and Optimized Experiences”的后台服务也因此引发关注。此前有说法称,该服务会监控处理器、温度和电池信息,并每隔 15 分钟向微软发送数据。对此,逆向工程师 Xusheng Li 对其核心服务 whesvc 展开分析,结论是:该服务确实拥有相当广泛的系统权限,但现有脚本主要用于性能诊断,并未发现自动上传用户数据或进行屏幕监控的迹象。

微软工程师 Scott Hanselman 此前曾解释,该服务的定位是在 Windows 检测到运行卡顿或响应迟缓时,收集针对性的性能诊断数据。相关追踪信息会先保存在本地,用户可通过“反馈中心”自行选择是否提交。Xusheng Li 的逆向分析基本印证了这一说法,但也显示其底层实现远比普通性能诊断服务更复杂。

分析显示,whesvc 服务本体的体积并不大,关键功能主要位于 windiag.dll。该动态链接库内嵌 Lua 5.4.7 脚本语言,微软还随系统提供了 whesvc_assets.dll,其中包含 84 个已编译的 Lua 脚本,分别负责不同的诊断场景。

Xusheng Li 发现,该脚本引擎向脚本开放了 79 项原生函数,可调用的能力范围相当广泛。其中包括读取和修改 Windows 注册表、执行文件操作、创建及控制进程、查询 WMI(Windows 管理规范)、采集 ETW(Windows 事件追踪)数据、检查安全令牌、获取电源与温度信息、下载符号文件、生成 .cab 压缩包,以及发起 HTTP 请求等。

此外,这套机制还包含通用的外部函数接口(FFI),允许脚本与原生 DLL 及不同的 Windows 句柄交互。单从能力层面看,这一底层引擎的权限确实远超普通性能诊断所需的范围,也因此容易引发用户对隐私和系统控制权的担忧。

不过,功能强大并不等同于被用于不当行为。逆向结果显示,微软随系统提供的脚本大多只将这些能力用于常规诊断任务。例如,注册表相关功能主要用于在服务重启后保存自身计数器;一个驱动信息模块可修改 Windows Driver Verifier 设置,但该功能需特定环境变量触发,并服务于内存监控流程。研究者认为,这可能是 whesvc 在实际使用中最具侵入性的操作之一。

部分脚本还会调用微软自家的工具。例如,有脚本会启动 powercfg.exe 生成 Sleep Study 睡眠报告,另一路径则会调用 wpr.exe,对 Windows Performance Recorder 生成的性能追踪记录进行合并处理。

在实际诊断能力方面,whesvc 可以在应用程序无响应时收集追踪信息,监测输入延迟和显示异常,识别启动缓慢的应用,并检测长期停留在等待状态的系统服务。其电源模块则可用于排查异常耗电、分析阻止电脑进入睡眠状态的因素,以及响应持续性的功耗问题。

以 memory_handle_leak 模块为例,该模块专门用于排查内存泄漏。它会在多个时间间隔内追踪内存和句柄数量,并结合连续增长情况及线性回归斜率,尝试区分潜在内存泄漏与正常的资源增长。

争议较大的“每 15 分钟上传数据”说法,也在此次分析中得到澄清。system_summary 模块确实会生成时长为 900 秒、即 15 分钟的 JSON 系统摘要,但这些数据默认保存在本地。尽管服务具备网络通信能力,研究者并未发现任何会随意发起 HTTP 请求的脚本场景;在全部 84 个脚本中,唯一被识别出的 URL 指向微软公开符号服务器,而这一功能据称在普通零售版 Windows 安装中处于禁用状态。

因此,Xusheng Li 表示,自己曾专门寻找可能存在的可疑行为,但没有发现证据表明该服务会秘密录制屏幕,也没有发现诊断追踪数据会在未经用户操作的情况下自动上传至微软。此前在网络上传播的“Windows 11 借此服务暗中监控用户”的说法,缺乏相应技术依据。

整体来看,微软为 Windows 11 构建的是一套以 SYSTEM 权限运行的通用系统诊断引擎,能够处理注册表、文件、进程以及原生代码执行等任务。其底层能力显然比性能排障本身所需的功能更为强大,但当前随系统提供的脚本仍被限制在性能诊断范围内。换言之,whesvc 的权限设计或许值得继续关注,但现有分析并不支持将其直接定性为“间谍软件”。

关联标签

相似文章

评论

0/500
验证码
暂无评论