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

iPhone口袋状态检测技术揭秘

iPhone口袋状态检测

统一日志是iOS设备的核心组件,能够持续捕获日志信息而无需用户知晓。通常这些日志用于协助诊断问题和错误,因此日志内容极其详细但保存时间较短。

最近在日志中发现了一个标记为"Doppler"的有趣项目。虽然多普勒效应很可能与此相关,但下文将统一称之为"口袋状态传感器"。

接近传感器

iPhone多年来一直配备接近传感器 - 在通话时将手机靠近或远离脸部即可观察到这一功能。但在配备FaceID的设备上,这个传感器似乎有了不同的用途。

你是否注意到,当你拿起iPhone并指向脸部时,它会自动解锁?这就是口袋状态/多普勒功能在发挥作用。

统一日志

统一日志中记录了"FrontIR: Doppler"条目,并引用了"口袋状态"或"口袋状态清除"的状态。这与iPhone X及以上型号前置的红外摄像头相关,该摄像头用于面部扫描。

红外摄像头位于"刘海"左侧,通过某些相机可以看到其在操作时闪烁。值得注意的是,该摄像头不会持续扫描,只在特定情况下进行扫描。

测试实验

通过能够显示红外光的设备观察IR摄像头在不同刺激下的反应。(本质上,使用Google Pixel相机观察iPhone)

为说明目的,以下图像展示了IR摄像头的反应情况:

动作 设备图像 描述
休眠 无图像 无刺激,屏幕关闭,无IR活动
触摸屏幕 无图像 触摸侧边按钮,抬起唤醒,屏幕亮起,IR闪烁
来电 无图像 屏幕亮起,IR闪烁
通知 无图像 屏幕亮起,IR闪烁
休眠覆盖IR 无图像 屏幕关闭,未知IR活动
触摸屏幕覆盖IR 无图像 屏幕微亮,未知IR活动

测试事件的时间安排如下:

  • 10:19:00 测试开始,IR摄像头未覆盖
  • 10:20:00 IR摄像头被覆盖,设备未受干扰
  • 10:21:00 触摸屏幕,设备微亮10秒
  • 10:22:00 触摸屏幕,设备微亮10秒
  • 10:22:30 按下侧边按钮,设备微亮10秒
  • 10:23:00 向测试设备拨打电话
  • 10:23:08 测试设备接到来电,响铃时屏幕微亮
  • 10:23:40 屏幕进入休眠
  • 10:25:00 向测试设备发送短信
  • 10:25:05 收到短信 - 屏幕未亮起
  • 10:27:05 再次收到短信通知
  • 10:27:45 触摸屏幕,设备微亮
  • 10:27:50 移除覆盖物,屏幕完全亮起
  • 10:29:00 向测试设备拨打电话
  • 10:29:08 测试设备接到来电,响铃时屏幕微亮
  • 10:29:15 移除覆盖物,屏幕完全亮起
  • 10:29:20 重新覆盖 - 屏幕无变化
  • 10:29:25 移除覆盖物 - 屏幕无变化
  • 10:29:30 重新覆盖时屏幕进入休眠

统一日志在Mac上使用默认日志存档查看器生成和查看。测试期间共创建了1058条记录,可按时间分组:

  • 10:21:00至10:21:10:150条记录,显示"FrontIR: Doppler in pocket state detected"(前置摄像头被遮挡)
  • 10:22:01至10:21:11:150条记录,显示相同内容
  • 10:22:30至10:22:40:150条记录,显示相同内容
  • 10:23:08至10:23:39:406条记录,显示相同内容
  • 10:27:45至10:27:50:89条记录,前88条显示"FrontIR: Doppler in pocket state detected",最后一条显示"FrontIR: Doppler in pocket state cleared"
  • 10:29:08至10:29:15:113条记录,前112条显示"FrontIR: Doppler in pocket state detected",最后一条显示清除状态

抬起唤醒功能

抬起唤醒是iOS功能之一,可以导致背光亮起并触发Doppler功能,该功能检测用户何时拿起设备。

此功能记录在com.apple.springboard.plist中,位于private\var\mobile\Library\Preferences路径。特定节点称为SBSupportLiftToWake,值为True或False。

通过旋转、掉落和拿起处于锁定状态的设备,同时观察背光激活情况,对抬起唤醒和一般移动进行了测试。测试过程参考了下图描述的X、Y和Z轴:

测试结果如下:

  • Z轴:设备垂直向上或向下移动(Z轴),包括从高处掉落,通常不会导致背光亮起
  • XY平面:设备在X或Y平面上移动通常不会导致背光亮起
  • X轴旋转:设备在X轴上旋转(左右转动)通常不会导致背光亮起
  • Y轴旋转:设备在Y轴上旋转(向前倾斜)会导致背光亮起,向后倾斜通常不会导致背光亮起

如上表所示,唯一可靠导致背光亮起和Doppler功能触发的是设备在Y轴上向前旋转的动作。

总结

当iOS认为用户可能尝试解锁设备时,就会调用FrontIR Doppler功能。这由设备屏幕被触摸、侧边按钮被按下、抬起唤醒或接到来电触发。虽然来自短信的通知触发了IR光闪烁,但没有记录被写入日志。

从测试来看,这似乎是一个可靠的记录。即当记录存在时,它似乎是显示设备IR摄像头是否被遮挡的可靠方法。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=37677

相关文章:

  • 搜维尔科技:IROS 2025现场,触觉力反馈、数据手套遥操作机器人灵巧手平台系统解决方案
  • 一些题解
  • Node.js JSON import attributes All In One
  • DeepSeek的“认知提纯”能力解析
  • 梦熊知更鸟赛水题题解合集 (两个人的演唱会 使一颗心免于哀伤 空气蛹)
  • CF2154D
  • Plya 定理学习笔记 | ABC428G 题解
  • 第十八天
  • 第十七天
  • vue3+elementPlus el-date-picker 自定义禁用状态hook 建立结束时间不能小于开始时间
  • [优先队列] P3611 [USACO17JAN] Cow Dance Show S 题解
  • 搜维尔科技将携手Xsens|Haption|Tesollo|Manus亮相IROS 2025国际智能机器人与系统会议
  • 【做题记录】贪心--提高组
  • 如何炫酷地使用集合划分容斥
  • 简单云计算算法--20251023
  • 处理空输入踩的坑
  • latex输入公式
  • 【为美好CTF献上祝福】 New Star 2025 逆向笔记
  • XXL-JOB(5)
  • 蛋白表达原理与关键要素解析
  • Ramanujan Master Theorem
  • 顾雅南的声音美化课堂
  • C++案例 自定义数组
  • 【周记】2025.10.13~2025.10.19
  • 背包
  • 10.23《程序员修炼之道 从小工到专家》第二章 注重实效的途径 - GENGAR
  • 玩转单片机之智能车小露——LED闪烁实战
  • ord() 函数
  • 2025.10.23总结 - A
  • 大模型 | VLA 初识及在自动驾驶场景中的应用