zeppos 2.1(小米手环7)关于调用麦克风的可行性分析

Zepp OS 固件逆向分析报告 (DA1470x 平台)

1. 样本概况

  • 分析版本:2012 (旧版) 与 2101 (新版)
  • 构建日期
    • 2012: 2023-01-16
    • 2101: 2023-06-05
  • 芯片平台Dialog Semiconductor DA1470x (ARMv8-M, Cortex-M33)
  • 系统架构:Zepp OS / HuamiOS

2. 核心证据:麦克风与音频功能

通过对固件二进制文件及资源的分析,确认该系统具备完整的麦克风录音与语音助手能力。

2.1 硬件与驱动证据

  • 底层接口:在固件中发现了 PM_OFFLINEASR_MIC (离线语音识别麦克风) 和 DMIC (数字麦克风) 的驱动标识。
  • C++ 适配器:定位到核心类 RecorderAPPAdaptor,其负责管理音频采样率 (sample_rate) 和录音流程。
  • 音频编码:系统支持 Opus 编码格式,支持 8000Hz 和 16000Hz 采样率。

2.2 资源与应用证据

  • 内置应用zh-CN.btxt 中明确定义了 语音备忘录Amazon Alexa小爱同学
  • UI 资源resources/images/record 目录下存在录音音轨、同步和删除图标;OnlineVAD/Alexa 目录下存在完整的语音助手交互动画。
  • 神经网络extfw/algo_it_network.bin 被确认为语音识别相关的 AI 算法模型。

3. JSBridge API 接口

在 JS 运行时 (framework.binindex.bin) 中,发现了以下关键 API 映射:

命名空间 功能 关键属性/方法
hmSensor 传感器控制 id.MIC (映射到底层 RecorderAPPAdaptor)
hmApp 应用管理 startVoiceAssistant, setLayerScene
hmFS 文件系统 支持录音文件存取 (/data/ 目录)

4. 权限与安全机制分析

4.1 权限拦截逻辑

系统使用 AppID 作为权限校验的核心。

  • 校验函数bx_authorize_controller (位于 0x40633e 附近)。
  • 白名单机制:系统内置应用(如 ID 15, 102)拥有特权。普通第三方应用(如 1000001)调用 hmSensor.id.MIC 时,会触发 authorizing for app id: %d 逻辑。
  • 拦截现象:若未通过授权,JSBridge 将返回 undefined 或提示“授权失败”。

4.2 DIY 绕过思路

  1. AppID 伪装:尝试使用内置特权应用的 AppID,但需绕过安装时的签名校验。
  2. 固件 Patch:在 IDA 中定位 0x3a0cc8 引用点,修改 bx_authorize_controller 的跳转指令,强制让 check_permission 返回 True
  3. 脚本注入:利用 update-script 的 Root 权限,在刷机时修改系统权限数据库。

5. 关键地址索引 (IDA Reference)

  • 语音字符串池0x413700 - 0x413B00
  • Recorder 类名0x39D720
  • 权限校验提示0x3A0CC8 ("authorizing for app id: %d")
  • 芯片寄存器基址0x50000000

报告生成日期:2026年4月24日

目前已有人实现通过本地反代小爱同学绕过实现

posted @ 2026-04-24 22:29  meny  阅读(71)  评论(0)    收藏  举报