本文版权归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. Wordpress 所有hoor列表

    d 在插件加载的时候执行 wp_footer 加载页面底部时执行 admin_menu 加载管理员菜单时执行 wp_head 在body标签的开始添加html内容 after_setup_theme ...

  2. Sqlserver查询结果,让某列结果合并一列并且逗号分隔。

            create function [dbo].[mergeName](@Id bigint) returns nvarchar(500)     as     begin     dec ...

  3. Win 10 文件浏览器无法打开

    今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题 ...

  4. Java 中多条件排序

    Collections.sort(ghEntityList, new Comparator<GongHuiEntity>() { @Override public int compare( ...

  5. 第九周 psp

    团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 9:50 12:45 35 45 80 分析与 ...

  6. C register

    1.register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度.例如下面的内存块拷贝代码, /* Procedure for the as ...

  7. DevOps is dirty work - Dream in One-Click

    真是一晃就到年底,年初许的梦想实现了吗?这么残忍的问题还是不要知道答案了吧:) 这恍若隔世的大半年,不仅没有承接着上篇继续聊Continuous Delivery (CD),反而疑似荒废.然而,梦想还 ...

  8. javascript:算法之for循环

    一.for中的表达式 ①短路表达式 a && b是表达式:当执行的时候如果表达式a结果不是0,就会执行表达式b.如果表达式a执行的结果是0,表达式b不执行 ②i++与++i的不同 ++ ...

  9. opengl中对glOrtho()函数的理解

    glOrtho是创建一个正交平行的视景体. 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况.比如,常用的工程中的制图等.需要比较精确的显示. 而作为它的对立情况, glFrustum则产生一个 ...

  10. linux 路由