微信聊天记录导出指南

浏览: 1722

作者:梁时,互联网数据分析师  Python爱好者社区专栏作者

个人公众号:两仕两听


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

收到了很多同学的询问:

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

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

废话少说,直接上干货。

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


--总体流程概述--

  1. 把数据备份到电脑

  2. 把备份数据解密

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

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

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


--详细步骤--


1、把数据备份到电脑


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

首先是iTunes备份三连:

然后就等等等等等,,

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

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

C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup

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

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


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

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

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),下载链接:https://pan.baidu.com/s/1gRFY83VTnovU-GUOaofTHA  提取码:nobo

推荐 0
本文由 Python爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册