本文版权归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. [转]as3中的SharedObject的保存路径

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

  2. 利用jquery发送form表单

    $("#rap_save_draft").click(function(){ rap_start_editor.sync();//同步KindEditor的内容 // 取得要提交的 ...

  3. 那些年一起用过的iOS开发利器之Code Pilot

    本系列所有工具的简介见:http://www.cnblogs.com/lloydsheng/p/3637606.html 什么是Code Pilot? Code Pilot是一个Xcode的扩充套件, ...

  4. php遍历目录

    function zx($dir){ if(is_dir($dir)){ $filesnames = scandir($dir); foreach ($filesnames as $name) { i ...

  5. Java学习路线

    总体思路:由表及里,勤于实践,纵横交错,融会贯通 Java语言----->JDK----->Java虚拟机原理----->编译原理----->操作系统原理----->计算 ...

  6. 1.线性表-Array

    fatal.h #include <stdio.h> #include <stdlib.h> #define Error( Str ) FatalError( Str ) #d ...

  7. Codeforces Round #384 (Div. 2) E

    给出n个数字 1-8之间 要求选出来一个子序列 使里面1-8的数字个数 极差<=1 并且相同数字必须相邻(112 可以但是121不行)求这个子序列的最长长度 一道状压dp 看不懂别人的dp思想. ...

  8. logoff remote desktop sessions via command line tools

    This trick I learned from my one of ex-college.  In Windows servers, only two remote desktop session ...

  9. netfiler源代码分析之框架介绍

    netfiler框架是在内核协议栈实现的基础上完成的,在报文从网口接收,路由等方法实现基础上使用NF_HOOK调用相应的钩子来进入netfiler框架的处理,如 ip_rcv之后会调用NF_HOOK( ...

  10. 关于datarow的状态

    发现没有添加到DataTable中的行删除则为Detached,添加之后则为Deleted.MSDN对RowState的说明 Detached 该行已被创建,但不属于任何 DataRowCollect ...