查看原文
其他

微信聊天记录导出指南

梁时 Python爱好者社区 2019-04-07

点击上方图片抢购全场5折优惠课程

作者: 梁时,互联网数据分析师

个人公众号:两仕两听


在上一篇文章(分析了3年的聊天记录,原来这就是结婚后的样子)发布后,


收到了很多同学的询问:

'微信聊天记录怎么导出来的啊?'


今天终于有时间和大家分享下导出的过程,


废话少说,直接上干货。


注:本次导出仅针对IOS系统的导出





--总体流程概述--


  1. 把数据备份到电脑

  2. 把备份数据解密

  3. 找到存放聊天记录的数据文件

  4. 找到目标好友的原始微信ID

  5. 导出与目标好友的聊天记录




--详细步骤--


1、把数据备份到电脑


关键词:iTunes,不加密,耐心


首先是iTunes备份三连:





然后就等等等等等,,

(请耐心,电脑并没有死机,是备份数据时间确实比较长)


如果备份成功,在这个路径下:

C:Users用户名AppDataRoamingApple ComputerMobileSyncBackup

(如果找不到,先在文件夹设置里设置显示隐藏的项目)

(如果是其他系统,请自行搜索


会有一个内容已经被加密的文件,如下图所示:



接下来,就要对这个文件动手了


2、备份文件的解密


关键词:第三方软件


这一步,需要第三方工具的帮助了,


这里用到的是'楼月免费iTunes备份管理器',

他长这样:



双击刚备份的文件,按下图导出documents文件到自定义位置,



马上就能得到聊天记录了,稍安勿躁~


3、找到微信聊天记录的数据文件


关键词:微信ID、MD5加密


documents文件中,也有很多文件:



其中,这两个文件夹看起来很有料的样子,

他们独特的命名方式,像是隐藏着什么内容:




没错,

这就是在该手机上登陆过的

两个微信号的数据文件夹,


文件夹名字之所以这么奇怪,

是因为对微信ID进行了MD5加密,

(注意,是微信ID,不是微信昵称,不是手机号,也不是QQ号)


找到你想要导出的账号对应的文件夹,

(我都是看文件大小,其中一个微信只登陆过几次,所以文件较小

(当然,最稳妥的方法是,将你所有的微信ID进行MD5加密,然后与文件夹名进行对应)


要找的东西就在DB文件夹里的MM.sqlite数据库里了



其实,看文件大小也能略猜出一二,

MM.sqlite这么大的体量,

里面一定有我们想要的货!


4、找到目标好友的原始微信ID


关键词:两个重点、一个技巧


既然是sqlite格式,

那么就需要用专门的数据库软件,

来查看下这个数据库的结构,


这里用的是'sqlcipher'

(轻量级,免安装,直接使用)


通过软件打开MM.sqlite数据库,

所有的聊天记录就都在你面前了!



一个table就是一个聊天记录,

现在只需要找到对应的table,

再把它导出就可以了,


且慢,那么如何才能找到想要的table呢?


本文的重点来了!


观察table的命名方式,

基本都是以Chat_开头,后面跟一串字符


等等,

又是一串数字,

之前文件夹也是一串数字,

莫非,,


果然,table名称也是

好友微信ID经过MD5加密后的字符,

(注意,是微信ID,不是微信昵称,不是手机号,也不是QQ号)


所以,我们只需要找到目标好友的微信ID,

然后把ID进行MD5加密,

前面加上Chat_,

就得到了最终table的名字。


本以为大功告成,

但流程真正走到这,

你会发现,

最大的问题是,

微信ID怎么找!!!


正常来说,

微信ID就是微信号,

但有些人没有设置微信号,

并且,有时通过微信号得到的MD5字符,

并不能找到正确的table...


接下来,

重点中的重点来了!


回到刚才的DB文件夹,

会发现还有一个sqlite文件很显眼,



我们尝试把它用sqlcipher打开:



发现一个Friend表,

用软件'Browse Data'的功能来看下这个表的内容:



发现第一列就是userName,

不会这么巧,

就是我们要找的微信ID吧~


经测试,

果然用这一列加密后的字符可以找到对应的table,

离成功又近了一步!


但是,目前我只知道好友的昵称啊,

怎么和这一列userName匹配上呢,


这个软件观察各个字段不方便,

我们先尝试把这个表导出来:



选择friend表:



注意,这里千万要注意,

又一个小技巧



文件名这里,务必要带.csv后缀,

否则导出的文件不好用Excel打开,


用Excel打开导出的文件,

Ctrl+H,

查找目标好友的微信昵称,


查到的那一行记录的第一个字段就是

千辛万苦要找的微信ID了!


不仅仅可以找好友的ID,

还可以找群聊的ID哦!


5、导出目标聊天记录


终于要见到心心念念的聊天记录了,

想想还有点小激动呢,


将目标好友的微信ID进行MD5加密,

前面加上Chat_,

得到table名称,


然后应用Python,读取数据库数据:



后3行是导出为Excel文件的语句,可按需使用,

其实在第13行就已经得到聊天数据:



双击查看数据明细:



数据都已准备好,

便可以愉快的去分析了!




--参考文章--


1、《微信聊天记录查看器(程序+源码) - iOS版 》    作者:cxuu

2、其他网络资料





如需要文中提到的工具(sqlcipher),在后台回复“导出”即可得到!


今日4折优惠课程,扫码下图立即抢购

阅读原文加入SVIP免费学习以上课程

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存