逆向工程苹果的 typedstream 格式:iMessage 导出器的内部机制

2025-02-03

本文深入探讨了 iMessage-exporter 项目逆向工程苹果私有二进制序列化协议 typedstream 的过程。typedstream 用于存储 iMessage 数据,其格式未公开,且苹果官方文档中没有描述。作者通过分析 iMessage 数据库中存储消息正文的 BLOB 数据,发现了 typedstream 的一些模式,例如 0x84 表示数据块的开始,后续字节表示数据块长度,0x86 表示数据块的结束等。通过识别这些模式,作者成功地将 typedstream 数据反序列化,实现了跨平台访问 iMessage 数据。