本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!
原文地址:http://www.cnblogs.com/cxun/p/4550523.html

之前写了一些关于微信聊天记录的博文之后,不少同仁向我提出有关导出缓存在手机的微信朋友圈数据的疑问,于是本人做了一些简单的分析,总结了一下微信在iOS存储朋友圈数据的数据格式,但仅仅是猜想而已,希望这篇博文对一些想动手做这方面开发的朋友们有所帮助。

首先,要感谢Wu,MH的指导,Wu提出iOS中微信朋友圈缓存的数据库存放在“//User/Applications/F5EC...8722/Documents/caaf...b2fa/wc/wc005_008.db”中(”wc005_008.db、wc005_008.db-wal“ 导出这两个文件,打开后会自动合并为wc005_008.db一个文件)。拿SQLite Expert(以下简称SE)打开之后,里面的数据很多,大概分析了一下,以下是我的猜测,以供参考:

MyWC_DataItem01MyWC_Timeline01
存储了大量的朋友圈信息,Buffer字段在SE中默认不显示的,双击后,点“Auto”,可以看到详细的二进制数据,从前面几个字节来看,应该是bplist文件,查了一下,应该是Apple自己定义的文件格式,在Mac和iOS系统大量用到,其实就是一个单独的小数据库,网上有该文件格式的详解(详解Binary Plist格式),也有人使用一些SDK可以直接读取bplist的数据(C#使用iphone-plist-net库读写plist文件),通过Mac系统的plutil命令可以转换为XML文件(Convert new plist files between XML and binary),该命令也有windows和linux下的版本(plutil.pl),这些资料应该可以帮助大家进一步解析bplist了。我看了一下这个bplist里的数据,包含了一些URL地址,指向的是“分享”地址或图片的地址(存储在微信服务器上的),其它的一些乱码我猜是发布人写的一些文字信息。
 
MyWC_Message01
这是朋友圈中好友的评论信息(即消息列表),你的文件中该表没有数据,可能是没有评论信息吧,可以试试让别人评论后再导出来查看。
 
MyWC_Stranger_Message
该表目前为空,可能是微信团队保留以后用的吧
 
user_property001
该表记录了每一位好友的朋友圈记录数目(我猜的)
 
MyWC01_ca*****等等这些表:
每一个好友的朋友圈内容,一般都是10、15、20条记录左右,也有上百条数据的,这些的信息不全,应该是刷朋友圈点开具体的内容(图片或分享链接)时保存在本地的吧,而且微信会定期删除以前旧的,节省空间。
 
以上是我分析的,猜测成分较多,可能有不对的地方,如发现,请指正~

iOS版微信朋友圈数据库的简要分析的更多相关文章

  1. iOS - 仿微信朋友圈视频剪切功能

    分析需求 我们先看一看微信的界面 微信效果图 1.页面下部拖动左边和右边的白色竖条控制剪切视频的开始和结束时间,预览界面跟随拖动位置跳到视频相应帧画面,控制视频长度最长15秒,最短5秒 2.拖动下部图 ...

  2. IOS仿微信朋友圈好友展示

    前几天小伙伴要帮他做一个群聊功能,里面有好友列表,要求和微信的差不多(见下图),让小伙伴自己实现了下,他将CollectionView放在tableView的tableHead中,可是当添加好友或删除 ...

  3. 微信朋友圈评论/回复/cell/键盘谈起

    微信朋友圈评论功能的细节考虑及实现       微信朋友圈回复tableview iOS 实现微信朋友圈评论回复功能(一)

  4. 微信朋友圈如何同时分享(图片+文字) Android版

    以下是:微信朋友圈SDK 分享图片的代码,但只能分享图片,不能分享文字,如何才能图片和文字同时分享?求各位大神指教! public class MainActivity extends Activit ...

  5. iOS燃烧动画、3D视图框架、天气动画、立体相册、微信朋友圈小视频等源码

    iOS精选源码 iOS天气动画,包括太阳,云,雨,雷暴,雪动画. 较为美观的多级展开列表 3D立体相册,可以旋转的立方体 一个仪表盘Demo YGDashboardView 一个基于UIScrollV ...

  6. 微信团队分享:iOS版微信的高性能通用key-value组件技术实践

    本文来自微信开发团队guoling的技术分享. 1.前言 本文要分享的是iOS版微信内部正在推广和使用的一个高性能通用key-value 组件的技术实践过程,该组件在微信内部被命名为MMKV(以下简称 ...

  7. 微信团队分享:iOS版微信是如何防止特殊字符导致的炸群、APP崩溃的?

    本文来自微信开发团队yanyang的技术分享. 1.引言 相信大家都遇到过一段特殊文本可以让iOS设备所有app闪退的经历.前段时间大年初一,又出现某个印度语字符引起iOS11系统奔溃,所幸iOS版微 ...

  8. 微信团队原创分享:iOS版微信的内存监控系统技术实践

    本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...

  9. Android 高仿微信朋友圈动态, 支持双击手势放大并滑动查看图片。

    转载请注明出处:http://blog.csdn.net/sk719887916/article/details/40348873 作者skay: 最近参与了开发一款旅行APP,其中包含实时聊天和动态 ...

随机推荐

  1. i2c协议

    i2c协议 http://blog.csdn.net/g_salamander/article/details/8016698 总线设备驱动模型 http://blog.csdn.net/u01395 ...

  2. ubuntu安装配置elasticSearch(vagrant)

    安装jdk sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java s ...

  3. [转]as3中的SharedObject的保存路径

    SharedObject的保存路径 Windows XP 网络访问: C:\Documents and Settings\[你的用户名]\Application Data\Macromedia\Fla ...

  4. openx中如何使用site-variable(参数)限制(关键词)广告显示

    openx是个很强大的广告管理系统,可以根据不同的情况显示不同的广告.其中可以根据get参数值的不同来显示,即delivery limitation中的site-variable选项,name表示变量 ...

  5. session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法

    session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法: session_start()放在当前页代码的第一行即可解决该问题. 在本地上session_start()如果不是放在 ...

  6. Heartbeat+DRBD+MySQL高可用方案

    1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证.默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自 ...

  7. .net手机号码归属地查询

    调用百度 api http://apistore.baidu.com/apiworks/servicedetail/117.html 贴上代码 using Newtonsoft.Json;using ...

  8. linux内核分析作业3:跟踪分析Linux内核的启动过程

    内核源码目录 1. arch:录下x86重点关注 2. init:目录下main.c中的start_kernel是启动内核的起点 3. ipc:进程间通信的目录 实验 使用实验楼的虚拟机打开shell ...

  9. 前端开发与SEO

    前端开发中通过一些小习惯,可以有利于SEO,本着蚊子再小也是肉的原则,能抓住自然不能忽略. 1.控制首页链接数量,不能过多,也不要太少.更不要为了凑数而添加 2.扁平化层次,力争跳转三次可以到任何页面 ...

  10. VirtualBox Ubuntu Server 16.04 手动设置 网络(IP, DNS, 路由)

    1. VirtualBox 设置全局网络 在virtualBox点击菜单管理->全局管理 配置NAT网络 参考下图配置, 依次点击相应的按钮并设置网络(其中DHCP任意, 将来我们都会使用固定I ...