纯属蛋痛折腾,从iPhone3GS中导出短信息.............
分类分了个教程,实际上都是互联网上有的东西,只要你爱在网上到处飘,找到这些内容实在不难,我只是做了些复制、粘贴、翻译和完全没有技术含量的分析而已各位见笑。应该有不少人有需要将iPhone中的短信、联系人等备份导出成以人类能看得懂的文字形式承载的内容,如txt,html等,我就是有这种怪毛病的人之一。说实话目前已经有软件实现了这个功能,比如91助手,但是,如果你喜欢折腾,并且像我一样不喜欢在手机上看到91的daemon的话,请继续看下去,下述操作只对应windows操作系统。
实际上在每次将iPhone连接上itunes进行同步时,iPhone中的资料都被itunes备份下来了,当然,你也可以手动强迫itunes这厮备份,只是这些备份实在是太透明,用户根本不知道它以什么形式、备份了什么,在不知情的情况下,你就别想去操纵这些备份的内容了。人类最怕的就是未知,它能带来最原始的恐惧。还好,我们对windows比较熟悉。这些备份都存放在了
复制代码
|
你曾经在你的itunes上连接过的设备(iPod、iPhone、appleTV...)的备份都在这里,虽然文件夹的名字是乱码,但是想找到你正在使用的iPhone的对应文件夹很简单,把iPhone在itunes上强制备份一下,然后在上述文件夹里搜索最近修改的文件,最新修改的文件所在的文件夹就是当前iPhone对应的备份文件夹,打开之可以看到,itunes的备份都以后缀为.mddata形式保存着,不出意外的话,备份着短信息的文件就是3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata,如下图
下面到了教学时间,给喜欢折腾的人,这份文件实际上是一个二进制形式的plists文件,当被转换成大家熟悉的文本形式plist文件后,我们可以从其中截取出一段带有<data>标签的xml文档段,这中间就是以sqlitev3 数据库格式保存的短信息数据,可以在任何sqlite数据库浏览器(比如sqliteman)中解析浏览,小讲一下存放短信息数据的库结构,它其中包含着6张表(包括系统表):_SqliteDatabaseProperties,group_member,message,msg_group,msg_pieces,sqlite_sequence。我们关心的短信内容存放在message表中,几个主要的字段分别为:
rowid: 给每条短信的唯一标示符
address: 发信人或收信人的电话号码,文本形式
date: Unix时间戳格式记录的发信/收信时间
text: 信息内容
flags: 信息方向标志,3 代表发出的, 2 代表接收的
group_id:与group_member表一起用,标示当前短信所属的对话段,大家在iPhone里看到的对话形式的短信就是靠它来解析实现。
看了以上内容估计有的朋友要开始骂街了:“靠!难道让我自己来解析这些乱七八糟的东西!?”,我本想顶着挨砖拍的危险回答道:“当然!”,但很幸运,在windwos下有解析这些乱七八糟东西的工具,一位德国朋友写的,叫iTwin iTwin22.zip (819K) 下载次数:37 :
怎么样,看到了熟悉的界面吧,这个软件直接能够解析itunes备份下来的文件,不单单是短信,最关键,还能导出类轻松可以看得懂的格式。
软件启动时,默认是德语,别急,我毫无技术含量的把它汉化了,切换到如下页面:
在下拉框中选择chinese_simplified,之后,中文来了:
接下来切换到导入页面,进行数据导入,实际上就是读取itunes的备份文件:
从设备名的下来框中选择你需要导入的设备备份,实际上下拉框里的内容是你给你的ipod、iphone什么的取的名字,这显然比自己在那些乱码名字的文件夹里转悠轻松多了,找到你的iphone后,点击“拷入文件”,稍等片刻,就OK了。现在切换到短信选项卡,就看到了熟悉的画面了:
浏览其实不重要,我们需要的是导出,切换到导出选项卡,看到原来啥都可以导出啊:
选择你所要导出的格式,如果是html形式,你会得到一份适应iPhone的safari浏览的网页:
实在是十分便捷。
实际上,iTwin还能直接从已经jailbreak并且安装了openssh的iPhone上,通过wifi读取数据,这些数据在iPhone上就是赤裸裸的.db或者.sqlitedb后缀的sqlite数据库文件了,有兴趣的朋友可以到iPhone上的/private/var/mobile/Library下找对应的文件,这里就不再赘述了,貌似坛子的某个朋友还自己写了个解析这些数据的小程序,有兴趣的朋友可以搜索看看。
最后几点说明,此程序是共享软件,在非注册状态下你只能浏览部分短信息和联系人等的内容,但是,导出功能不受限,可以全部导出,这正是我需要的。
另外,估计有人会喷这是纯属蛋痛的折腾,没所谓,我活着的动力就是折腾,哈哈!