ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

解密APOLLO powerlog模块:从CurrentPowerlog.PLSQL提取iPhone电池、屏幕与应用活动数据

解密APOLLO powerlog模块:从CurrentPowerlog.PLSQL提取iPhone电池、屏幕与应用活动数据 解密APOLLO powerlog模块从CurrentPowerlog.PLSQL提取iPhone电池、屏幕与应用活动数据【免费下载链接】APOLLOApple Pattern of Life Lazy Outputer项目地址: https://gitcode.com/gh_mirrors/apollo65/APOLLO想从 iPhone 取证数据中还原电池电量变化、屏幕亮屏记录、App 使用时长吗APOLLOApple Pattern of Life Lazy Outputer的 powerlog 模块可以做到——它直接从 iOS 设备的CurrentPowerlog.PLSQL系统数据库中一键提取电池、屏幕与应用活动三大类模式生活数据。本文带你快速跑通整个流程。powerlog 是什么数据从哪里来CurrentPowerlog.PLSQL是 Apple 系统内置的PowerLog 数据库由powerlogd守护进程持续写入相当于设备的一份能耗日记iOS/iPadOS路径/private/var/containers/Shared/SystemGroup/[GUID]/Library/BatteryLife/CurrentPowerlog.PLSQLmacOS路径/var/db/powerlog/下的 PowerLog 数据库它记录电池电量、充电状态、屏幕亮度、亮灭屏、锁屏、前台 App 等事件。APOLLO 在 modules/ 目录下提供了60 多个 powerlog 模块每个模块对应一条预置 SQL 查询无需手写 SQL 即可提取数据。3步快速运行 APOLLO powerlog 模块第 1 步安装依赖APOLLO 需要 Python 3 和simplekml库pip3 install simplekml第 2 步获取代码git clone https://gitcode.com/gh_mirrors/apollo65/APOLLO第 3 步执行提取python3 apollo.py extract -o sql -p apple -v 14 modules 你的数据目录参数说明参数含义示例值-o输出格式sqlSQLite/csv/sql_jsonsql-p平台apple-v系统版本iOS 9~14、macOS 10.13~10.16、yolo14模块目录APOLLO 模块所在目录modules数据目录手机镜像/数据库所在目录递归搜索/data/dump支持 iOS 9 到 14、macOS 10.13~10.16也支持 Android 与 Windows。运行完成后所有结果会汇总到apollo.dbSQLite或apollo.csv。核心模块解读电池、屏幕与应用活动 电池数据powerlog_battery_level模块文件modules/powerlog_battery_level.txt该模块查询PLBATTERYAGENT_EVENTBACKWARD_BATTERY表输出每条记录包含LEVEL/RAW LEVEL电池电量百分比校准值与原始值IS CHARGING是否正在充电0/1FULLY CHARGED是否已充满ADJUSTED_TIMESTAMP修正后的标准时间戳配合 modules/powerlog_battery_level_ui.txt 还能拿到系统 UI 显示的电量两者比对可发现电量记录与显示不一致的情况。 屏幕数据从亮屏到锁屏三个关键模块覆盖屏幕的完整生命周期Springboard 屏幕状态— modules/powerlog_device_screen.txt 记录设备当前处于哪个屏幕。原始数据是数字编码含义为0空白屏、2主屏、4App 切换器、5控制中心、9锁屏、15密码解锁屏、18Spotlight 搜索、19小组件等。屏幕亮度— modules/powerlog_display_brightness.txt 查询PLDISPLAYAGENT_EVENTFORWARD_DISPLAY表输出亮度百分比可还原用户何时调暗/调亮屏幕比如深夜暗光使用。锁屏状态— modules/powerlog_device_lock_state.txt 输出明确的DEVICE LOCKED/DEVICE UNLOCKED文字直接回答设备何时被锁上/解锁。 应用活动数据powerlog_app_usage 与按小时统计应用前台活动— modules/powerlog_app_usage.txt 查询PLSCREENSTATEAGENT_EVENTFORWARD_SCREENSTATE表每条记录包含BUNDLE_ID应用包名、APPROLE应用角色、LEVEL、ORIENTATION横竖屏、SCREENWEIGHT屏幕权重。由此可以判断哪个 App 在什么时间处于前台。按小时的应用使用时长— modules/powerlog_app_usage_by_hour.txt 基于PLAPPTIMESERVICE_AGGREGATE_APPRUNTIME表聚合直接输出每个 App 每小时的SCREEN TIME前台时长、BACKGROUND TIME后台时长、后台音频与后台定位时长——这是还原用户一天刷手机习惯的黄金模块。macOS 场景下还有 modules/powerlog_app_frontmost.txt前台应用和 modules/powerlog_power_state.txt睡眠/唤醒状态与原因。读懂输出ADJUSTED_TIMESTAMP 是怎么算出来的所有 powerlog 模块的 SQL 都遵循同一套模式原始时间戳是 Unix 时间APOLLO 通过LEFT JOIN PLSTORAGEOPERATOR_EVENTFORWARD_TIMEOFFSET关联时间偏移表用DATETIME(原始时间戳 SYSTEM, UNIXEPOCH)计算出ADJUSTED_TIMESTAMP。这样即使设备时区、时间被修改过输出仍是正确的本地时间方便按时间线串联分析。输出数据库apollo.db只有一张APOLLO表结构极简Key时间戳| Activity活动类型| Output字段详情| Database来源库| Module模块名用任意 SQLite 工具如 DBeaver、DB Browser打开即可按Activity筛选查看比如筛选Battery Level就是完整的电池电量时间线。常见问题为什么提示 0 databasesREADME 特别提示CurrentPowerlog.PLSQL常因权限问题导致找不到数据库。若从设备提取的文件权限为全空白需先修复权限chmod -R 755 /private/var/containers/Shared/SystemGroup/[BatteryLife所在GUID]/ chmod -R 755 /private/var/root另外 APOLLO 的gather_macos/gather_ios采集功能会自动执行 chmod/chown可直接从 macOS 系统或越狱 iOS 设备需提供 IP/端口拉取数据库免去手动收集。总结需求推荐模块电池电量时间线modules/powerlog_battery_level.txtSpringboard 屏幕切换modules/powerlog_device_screen.txt屏幕亮度变化modules/powerlog_display_brightness.txt锁屏/解锁事件modules/powerlog_device_lock_state.txt前台 App 活动modules/powerlog_app_usage.txt每小时 App 使用时长modules/powerlog_app_usage_by_hour.txtAPOLLO 的 powerlog 模块族让设备用过什么、何时亮屏、电量如何变化这类问题变得可以直接查询。如果你在做 iOS 取证或行为分析建议优先从电池 锁屏 App 使用时长三个模块入手快速拼出设备的使用时间线。【免费下载链接】APOLLOApple Pattern of Life Lazy Outputer项目地址: https://gitcode.com/gh_mirrors/apollo65/APOLLO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表