
APOLLO短信与聊天模块实战提取iOS短信历史、送达与已读状态的完整步骤【免费下载链接】APOLLOApple Pattern of Life Lazy Outputer项目地址: https://gitcode.com/gh_mirrors/apollo65/APOLLO如果你想在取证或数据恢复中还原 iPhone 的iOS 短信历史APOLLOApple Pattern of Life Lazy Outputer 是一个免费、轻量且强大的开源解析工具。它能从 iOS/macOS 的 SQLite 数据库sms.db、chat.db中一键提取短信内容、联系人、送达状态与已读状态并输出为 CSV 或 SQLite 结果文件让这条消息到底被没被读过有据可查。本文面向新手带你走完从环境搭建到结果判读的完整步骤。一、为什么用 APOLLO 提取短信优点说明免费开源双协议BSD 类 GPLv3授权可自由使用一条命令无需手工写 SQL内置现成短信模块多版本兼容覆盖 iOS 8~14 及 macOS 10.13~10.16 的sms.db结构状态字段齐全同时输出发送、送达、已读三类时间戳输出灵活支持 Tab 分隔 CSV 和 SQLite 两种结果格式APOLLO 的核心逻辑是模块驱动每个.txt模块文件定义了一个数据库查询主程序 apollo.py 会在整个数据目录中递归搜索目标数据库并自动执行。短信相关的模块就位于modules/目录下。二、三个短信模块各取所需APOLLO 为 iOS 短信提供了 3 个模块分别对应不同的取证需求模块文件用途关键时间戳排序依据活动标识modules/sms_chat.txt完整短信与聊天历史MESSAGE DATE发送时间SMS Chatmodules/sms_chat_message_delivered.txt仅已送达的短信DATE DELIVERED送达时间SMS Chat - Message Deliveredmodules/sms_chat_message_read.txt仅已被对方读取的短信DATE READ已读时间SMS Chat - Message Read三个模块都会从sms.db/chat.db中提取以下字段见 modules/sms_chat.txt 中的查询定义MESSAGE DATE / DATE DELIVERED / DATE READ发送、送达、已读时间自动换算为可读时间MESSAGE短信正文CONTACT ID联系人标识SERVICE / ACCOUNT通道与账户如 iMessageIS DELIVERED / IS FROM ME是否已送达、是否为我方发出FILENAME / MIME TYPE / TRANSFER TYPE / TOTAL BYTES附件文件名、类型、大小 小技巧想知道对方读没读优先看DATE READ是否有值——非空即表示对方设备已确认读取。三、准备工作环境一键就绪获取项目如需克隆仓库git clone https://gitcode.com/gh_mirrors/apollo65/APOLLO安装依赖APOLLO 需要 Python 3 及simplekml库pip3 install simplekml准备数据目录将 iOS 完整文件镜像File System Image 解包目录或已提取出的数据库文件放在一个目录中例如./mydata。目录可以是整个文件系统的镜像APOLLO 会递归查找sms.db。四、一键提取短信历史extract 命令在 APOLLO 根目录执行python3 apollo.py extract -o csv -p apple -v 14 ./modules ./mydata参数含义详见 README.md参数作用本文示例extract使用模块提取数据的子命令—-o输出格式csv/sql/sql_jsoncsv-p平台appleiOS/macOSapple-v系统版本决定选用哪套 SQL 查询14按实际镜像调整位置参数 1模块目录./modules位置参数 2数据目录可递归./mydata执行完成后当前目录会生成apollo.csvTab 分隔每行包含时间戳、活动类型如SMS Chat - Message Read、字段明细、来源数据库、模块名。如果想用 SQL 查询结果把-o csv换成-o sql将得到apollo.db中的APOLLO表列Key、Activity、Output、Database、Module可直接用任意 SQLite 工具过滤例如只看已读短信SELECT * FROM APOLLO WHERE Activity LIKE %Message Read%;五、结果判读送达与已读状态怎么看打开apollo.csv后可按 Activity 列快速区分三类记录SMS Chat全部消息。重点看IS DELIVERED: 1表示对方设备已确认送达DATE DELIVERED为空说明未送达常见于对方关机或无网络。SMS Chat - Message Delivered只含已送达消息天然按送达时间排序适合构建送达时间线。SMS Chat - Message Read只含已读消息DATE READ与MESSAGE DATE的差值就是对方多久才打开——这是许多纠纷取证中最关键的证据点。判断消息来源IS FROM ME: 1为本人发出0为对方发来SERVICE字段可区分 iMessage 与传统短信通道。六、常见问题与快速修复现象可能原因解决思路提示 0 databases镜像权限问题导致数据库不可读用chmod -R 755修复数据目录权限参考 README.md 的 Fix Permissions 一节提示 SQL Query not supported-v版本与实际镜像不匹配更换-v参数不确定时可尝试-p yolo -v yolo全量解析注意可能产生冗余数据只想提取短信不想解析其他模块模块目录混入了其他模块只保留 3 个sms_chat*模块文件到一个新目录再运行⚠️ 提醒请仅在获得合法授权或依法合规的前提下对设备进行解析。七、总结用python3 apollo.py extract -o csv -p apple -v 版本 ./modules 数据目录一条命令即可完成 iOS 短信历史提取。三个短信模块分工明确sms_chat看全貌sms_chat_message_delivered看送达sms_chat_message_read看已读。输出中的DATE DELIVERED、DATE READ、IS DELIVERED字段就是判断送达/已读的核心依据。掌握这套流程后你可以快速从任何 iOS 镜像中还原出带完整送达与已读证据链的短信时间线。更多模块与参数说明可查阅 README.md 及modules/目录下的各模块定义文件。【免费下载链接】APOLLOApple Pattern of Life Lazy Outputer项目地址: https://gitcode.com/gh_mirrors/apollo65/APOLLO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考