本文版权归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. DataTable 的使用

    DataTable CFHMXdt = new DataTable(); CFHMXdt.Columns.Add("group", typeof(System.String));  ...

  2. 推荐Python Web开发测试驱动方法

    http://www.cnblogs.com/dkblog/archive/2013/06/14/3135914.html推荐 本人买的时候,京东打8.5折,现在降价啦,本书涵盖啦Django.Sel ...

  3. BOM,文档宽高及窗口事件小析

    (一)BOM:Browser Object Model(浏览器对象模型)页面上所有的变量都是window的属性 一.方法:1. open(,)打开一个新窗口(页面)一参为页面地址url,二参为打开方式 ...

  4. 浅谈iOS触摸事件理解

    iOS的触摸事件个人总结,分为两步: 第一步:是找到哪个视图上触摸 第二步:分析由谁去响应(响应者连) 1.寻找被触摸的视图原理如下图 hitText:withEvent:的方法处理流程: 首先会在当 ...

  5. poj2388-Who's in the Middle(排序)

    水题:求中位数. #include<iostream> #include<algorithm> using namespace std; int main(){ int n; ...

  6. 动态生成linearLayout

    LinearLayout linearLayout=new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL) ...

  7. MongoDB的配置、启动、关闭

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...

  8. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  9. Angular2 起步(1)

    1.安装 nodejs(最新稳定版)https://nodejs.org/en/ 安装 typescript npm install -g typescript 安装 angular-cli(关于CL ...

  10. 记一次【求n以内的素数个数】的优化记录

    最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...