运动软件取证

Keep、华为运动健康、Zepp 等健康数据分析思路

最后更新 2026-05-30版本 v1.0维护 DyNooob查看历史 0

运动健康类 App 在手机取证和可穿戴设备取证中越来越常见。

虽然在此次盘古石初赛中,团队怀疑手表题数据在手机中,但随后复盘并未发现。同时发现手边数据有明显加密痕迹,故大概率数据还存在手表中,只是未找到正确方法解密。

在比赛和案件分析中,这类软件经常用于回答以下问题:

跑步地点在哪里?
运动轨迹是否真实?
平均配速是多少?
心率数据是否异常?
运动记录来自手机还是手表?
截图是否可能伪造?
用户绑定过哪些穿戴设备?
运动数据是否同步到云端或系统健康平台?

运动软件取证不能只看一张截图。截图只能作为线索,不能直接作为最终证据。

应当同时结合:

App 数据库
运动记录文件
GPS 轨迹点
心率 / 步频 / 配速数据
设备绑定信息
系统健康数据库
相册截图
云同步痕迹
通知和日志
可穿戴设备数据

Keep、华为运动健康、Zepp、Zepp Life、小米运动健康 / Mi Fitness 这几类 App 都属于运动健康数据入口。实际取证时,不能只根据 App 界面判断,应当回到原始数据库、缓存、配置文件、系统健康数据和可穿戴设备同步痕迹中进行交叉验证。

一、运动软件取证的核心价值

运动软件数据的价值主要体现在五个方面。

1. 时间价值

运动记录通常包含:

运动开始时间
运动结束时间
运动持续时间
暂停时间
同步时间
上传时间
创建时间
修改时间

这些时间可以用来还原用户在某一时间段是否处于运动状态。

但需要注意:

运动开始时间 ≠ 数据上传时间
运动结束时间 ≠ 截图保存时间
截图时间 ≠ 真实运动时间

例如,某张 Keep 跑步截图显示 19:32 开始运动,但相册中截图创建时间是 22:10。这只能说明截图在 22:10 左右保存,不能直接说明用户在 19:32 运动。需要继续查看 App 原始数据库或轨迹数据。

2. 空间价值

户外跑步、骑行、徒步等运动通常会产生位置数据。

常见数据包括:

经度
纬度
海拔
GPS 时间
轨迹点序号
速度
距离
配速
定位精度

这些数据可以用于判断:

用户主要运动区域
是否经过某地点
是否接近案发现场
轨迹是否存在跳点
是否可能是手动伪造

3. 身体状态价值

运动软件或手表可能记录:

心率
最大心率
平均心率
静息心率
步频
步幅
卡路里
压力
血氧
睡眠
恢复状态
最大摄氧量

这些数据不能直接用于医学判断,但可以辅助判断运动记录是否自然。

例如:

跑步 5 公里但全程心率为 0
配速很快但步频数据缺失
轨迹显示移动但心率完全没有变化
公里数很高但无任何 GPS 轨迹

这些都需要进一步核查。

4. 设备关联价值

运动记录可能来自:

手机 GPS
智能手表
手环
跑步机
第三方平台同步
手动录入
导入数据

所以必须确认数据来源。

同一条运动记录,如果能同时在手机 App、系统健康数据库、手表绑定记录、云同步日志中找到对应痕迹,可信度会更高。

5. 反伪造价值

运动软件常被用于生成打卡截图、运动截图、轨迹截图。在取证中,不能只看截图,而要分析:

截图是否来自真实 App
截图时间是否与运动时间匹配
轨迹点是否连续
配速是否合理
心率是否存在
是否存在原始运动记录
是否存在系统健康同步记录
是否存在云端同步痕迹

二、常见 App 与包名线索

不同手机和地区的 App 名称可能不同,取证时应以检材中的 packages.xml、应用列表和沙箱目录为准。

以下包名仅作为初筛参考:

应用 常见名称 常见 Android 包名 关注点
Keep Keep / Keep AI 运动教练 com.gotokeep.keep 跑步、骑行、课程、运动轨迹、社区动态、截图
华为运动健康 HUAWEI Health / 运动健康 com.huawei.health 华为手表、手环、心率、血氧、睡眠、跑步轨迹
Zepp Zepp / Amazfit com.huami.watch.hmwatchmanager Amazfit 手表、运动记录、心率、设备管理
Zepp Life Zepp Life / 原 Mi Fit com.xiaomi.hm.health 小米手环、体脂秤、睡眠、步数、运动记录
Mi Fitness Mi Fitness / Xiaomi Wear / 小米运动健康 com.xiaomi.wearable 小米手表手环、跑步、骑行、健康数据

分析时可以先搜包名:

find . -iname "*gotokeep*" -o -iname "*huawei*health*" -o -iname "*huami*" -o -iname "*xiaomi*health*" -o -iname "*wearable*" 2>/dev/null

也可以从系统安装信息中查:

grep -Rina "com.gotokeep.keep\|com.huawei.health\|com.huami.watch.hmwatchmanager\|com.xiaomi.hm.health\|com.xiaomi.wearable" ./ 2>/dev/null

三、运动软件常见数据类型

运动健康类 App 的数据通常分为九类。

1. 用户账号数据

常见字段:

uid
user_id
account_id
nickname
phone
email
avatar
gender
birthday
height
weight
login_token
session
refresh_token

作用:

确认账号归属
确认登录状态
关联其他设备和云端数据

2. 设备绑定数据

常见字段:

device_id
mac
bluetooth_mac
sn
serial_number
model
firmware
bind_time
last_sync_time
device_name

作用:

判断运动记录是否来自手表或手环
确认设备型号
确认最后同步时间

3. 运动记录主表

常见字段:

workout_id
sport_id
track_id
start_time
end_time
duration
distance
calorie
avg_pace
avg_speed
max_speed
avg_heart_rate
max_heart_rate
step_frequency
step_count
source
sync_status

作用:

回答运动时间、距离、时长、配速、卡路里、心率等基础问题

4. GPS 轨迹点

常见字段: