admin管理员组

文章数量:1625132

 

iphone短信无法导出,只能通过备份,再从备份文件中去找。

 

一、备份

IPHONE 5S,用ITUNES备份到电脑,不加密。备份在C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup

 

Manifest.db   文件里面是文件名和目录的对应关系,sqlite DB 3格式。

31bb7ba8914766d4ba40d6dfb6113c8b614be442文件是通讯录库,sqlite DB 3数据库格式,加上扩展名.db,用软件打开。

3d0d7e5fb2ce288813306e4d4636395e047a3d28文件是短信库,sqlite DB 3数据库格式,加上扩展名.db,用软件打开。

 

“楼月免费iTunes备份管理器”可以管理备份文件,以及打开备份中的短信,我没有试。

SQLite Administrator 打开数据库出错,有问题。

SQLite Expert - Personal Edition 可以打开数据库,方便看。http://www.sqliteexpert/。数据可以CTRL+A,CTRL+C复制,再粘到WORD或EXCEL中。

sqlitebrowser  也可以打开看数据库,稍不便些。https://github/sqlitebrowser/sqlitebrowser/releases

 

 

短信库 内容是UTF8编码,没有加密(修改成UTF8 BOM头,再用记事本打开,可以看到短信内容)

 

短信库\message表,  是短信内容。

短信库\attachment表,  是短信附件内容。

短信库\chat表,  是短信聊天分组。

短信库\handle表,  是短信手机号内容。

id是手机号,比如+8651082534245。uncanonicalized_id是去掉国家后手机号,比如051082534245。但手机号不会去掉国家。

chat_handle_join表,是聊天分组和手机号对应表

chat_message_join表,是聊天分组和消息对应表

message_attachment_join表,是消息和附件对应表

 

二、[INVALID DATA]:

SQLite Expert软件,短信有的粘过来会是字串“[INVALID DATA]”,因为源数据是有特殊字符,SQLite Expert识别不了,所以变成“[INVALID DATA]”。

比如:UTF8 EF BF BC 是UNICODE FF FC,表示OBJECT REPLACEMENT CHARACTER 代表一个附件对象!(这里就是用EF BF BC来代表短信的一个附件

还有其它一些UTF8字符SQLite Expert也无法识别的。

 

 

三、把人和消息、附件对应:

handle表,找手机号,比如得ROWID 1708,这个即是handle ID。

chat_handle_join表,找handle_id 1708,得chat_id 1708

chat_message_join表,找chat_id 1708,得多个message_id 比如4297、4298、4309

message表,ROWID即是message_id,按ROWID即可对应各个消息内容

 

快速方法:message表里有handle_id,可以直接根据handle_id来找消息!!

 

message_attachment_join表, 找message_id,得attachment_id,可以有多个。

attachment表, ROWID即是attachment_id,得filename。

 

四、短信库\attachment表,是短信附件,比如mp4、jpg

filename是对应手机存储路径,用它去找Manifest.db对应的fileID文件就是备份文件。

比如~/Library/SMS/Attachments/e9/09/1DED1F6A-95EB-4EA9-9E52-66A955BFC6A6/at_0.mp4 ,到Manifest.db找到是22b2d55b3624b8859bb20d7f6d0b4a5088fdf11e,这个文件不是db文件,直接就是一个mp4文件

 

快速方法:因为“路径”里有文件名,所以直接在Manifest.db里找所有的有SMS/Attachments的mp4、jpg扩展名的行就可以,把相应的fileID文件名找出来。

 

 

本文标签: 手机短信备份短消息苹果格式