关于iphone手机中sms.db文件中的数据解析

iPhone中的短信是以SQLite存储的(自己iPhone的系统是IOS 14.7.1)),用SQLite打开sms.db后就能看到表结构。我的需求如下:想从db中取出短信、发件号码、收到短信的时间。

关于iphone手机中sms.db文件中的数据解析

自己摸索了下。部分小结如下

attachment: 短信附件信息表

chat : 含有发件人号码的

chat_message_join: chat 表和message表关联关系的表。

message: 主要存放短信的

通过分析建表语句,数据内容,得到如下结果。

message表中没有短信发件人的信息,这个信息是存在chat表里面的,而chat表和message表示通过chat_message_join表来关联的。

chat_message_join.message_id = message.rowid

chat_message_join.chat_id = chat.rowid

综上得到我想要的SQL语句

select text as 短信内容,jsrq as 接收时间,d.chat_identifier as 发件人 from (
select a.[text],datetime(substr(a.[date],1,9)+978307200,’unixepoch’,’localtime’) as jsrq,rowid,chat_id from message a
left join chat_message_join b
on a.rowid = b.message_id)c
left join chat d
on c.chat_id = d.rowid
order by jsrq desc

关于iphone手机中sms.db文件中的数据解析

Original: https://blog.csdn.net/xihu_white/article/details/123006557
Author: xihu_white
Title: 关于iphone手机中sms.db文件中的数据解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816691/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球