Windows_Hello_Configuration_Analysis Windows Hello 配置过程分析 setup包分析

Windows Hello 配置过程分析

概述

本文档分析了Windows Hello设置界面中"点击设置"和"录制人脸"两个关键操作阶段的UVC控制命令。这些命令反映了系统在不同功能模式下的参数配置策略。

原始数据

复制代码
点击设置
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "1" data: "010302000000000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010302000000000000"

录制人脸
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "01000000"

请求类型映射

正确的请求类型

  • req: "1" = SET_CUR (设置当前值)
  • req: "81" = GET_CUR (获取当前值)
  • req: "83" = GET_MAX (获取最大值)

阶段1: 点击设置过程分析

控制单元

  • 接口: intf:2 (红外相机控制接口)
  • 单元: unit:14 (MS_CAMERA_CONTROL_XU扩展单元)
  • 控制选择器: cs:6 (MSXU_CONTROL_FACE_AUTHENTICATION)

命令序列分析

步骤 请求类型 数据 说明
1 GET_CUR (81) "010301000000000000" 获取当前值{1,3,1}
2 GET_CUR (81) "010301000000000000" 再次获取确认
3 SET_CUR (1) "010302000000000000" 设置新值{1,3,2}
4 GET_CUR (81) "010302000000000000" 验证设置结果

参数变化分析

  • 初始状态: {1, 3, 1} (flags = 0x01)
  • 设置后状态: {1, 3, 2} (flags = 0x02)

Flags位变化

  • flags: 0x01 (二进制: 00000001)

    • D0: 1 - 认证禁用
    • D1: 0 - 交替帧照明禁用
    • D2: 0 - 背景减除禁用
  • flags: 0x02 (二进制: 00000010)

    • D0: 0 - 认证启用
    • D1: 1 - 交替帧照明启用
    • D2: 0 - 背景减除禁用

阶段2: 录制人脸过程分析

控制单元

  • 红外相机: intf:2, unit:14, cs:9 (MSXU_CONTROL_METADATA)
  • 颜色相机: intf:0, unit:8, cs:9 (MSXU_CONTROL_METADATA)

命令序列分析

红外相机操作
步骤 请求类型 数据 说明
5 GET_MAX (83) "01000000" 获取最大值(1)
6 SET_CUR (1) "01000000" 设置当前值为1
7 GET_MAX (83) "01000000" 再次获取最大值
8 SET_CUR (1) "01000000" 再次设置确认
颜色相机操作
步骤 请求类型 数据 说明
9 GET_MAX (83) "01000000" 获取最大值(1)
10 SET_CUR (1) "01000000" 设置当前值为1
11 GET_MAX (83) "01000000" 再次获取最大值
12 SET_CUR (1) "01000000" 再次设置确认
相关推荐
我是苏苏35 分钟前
C#高级:使用ConcurrentQueue做一个简易进程内通信的消息队列
java·windows·c#
KL's pig/猪头/爱心/猪头2 小时前
写一个rv1106的led驱动3-功能函数编写
linux·驱动开发·rv1106
私人珍藏库4 小时前
[Windows] EndNote 2025.1.19456 汉化版
windows·工具·软件·win·汉化
love530love4 小时前
告别环境崩溃:ONNX 与 Protobuf 版本兼容性指南
人工智能·windows·python·onnx·stablediffusion·comfyui·protobuf
weixin_516023075 小时前
SRIM的安装
windows
我的大老婆8 小时前
【Windows 共享打印机纯干货】跨路由器/跨网段访问打印机、两条宽带两个路由器共享一台打印机、外网/局域网外访问DMZ打印机、192.168.1.107 主机访问192.168.2.105 打印机
windows·经验分享·计算机网络·路由器·共享打印机·跨网段共享打印机·dmz主机
xiaoliuliu123459 小时前
ChromeStandalone_58.0.3029.110使用步骤详解(附安装与设置教程)
windows
LDR00610 小时前
显示器 Type-C 口有哪些妙用呢?
计算机外设
Bruce_Liuxiaowei10 小时前
基于Regsvr32.exe的渗透测试完整记录
网络·windows·安全·网络安全·内网渗透
玖釉-10 小时前
[Vulkan 实战] 深入解析 Vulkan Compute Shader:实现高效 N-Body 粒子模拟
c++·windows·图形渲染