首页 > 编程知识 正文

破解微信聊天记录文件,爬虫爬取微信聊天记录

时间:2023-05-06 06:14:54 阅读:165728 作者:634

文章目录序言一、任务分析二、工具三、步骤1 .数据获取数据库计算密码推导数据库2 .数据清洗(具体方法稍后补充)3.数据分析

昨天,和她讨论谁给对方发的信息多,两人各执一词,事实证明我输了^

一、任务分析统计微信聊天记录分为三步——数据获取、数据清洗和数据分析。 大致说明各部分需要做什么。

三步中最难的是数据获取。 与QQ不同,微信不提供导出聊天记录的工具,所以必须自己获取。 微信将聊天记录保存在名为EnMicroMsg.db的数据库中。 遗憾的是,虽然数据库已加密,但幸运的是可以计算密码,因此必须首先获取此db文件,然后解密并导出。 这样就完成了数据获取部分。 ((听起来不是很容易吗) ) )

后两步很简单。 把记录过筛后,用python分析就可以了。

二、工具箱蓝席SQLCipherPython三、第一步.通过对数据获取来源的分析可以看出,需要获取名为EnMicroMsg.db的数据库文件及其密码。 如果手机没有Root过的话,就需要使用模拟器。 我在这里用的是蓝牙堆栈。

DB - 将手机上的聊天记录备份到PC

将pc微信左下角的三棒备份和恢复聊天记录备份到电脑上

按照指示进行备份即可

- 将刚备份的聊天记录恢复至模拟器

在模拟器上安装微信,在PC上点击左下角的三个栏“备份和恢复-恢复聊天并记录在手机上”。

按照提示恢复,将原来的手机聊天记录转移到了模拟器上。

-获取数据库文件

a. 首先获取模拟器的root权限

右上角的向下箭头-设置-选中引擎设置,获取root权限

b.找到数据库文件存放的路径

该路径下有两个以数字和字母名称命名的文件夹,其中之一是我们需要的EnMicroMsg.db

长按鼠标,然后单击右上角的复制图标即可进行复制

c.将数据库复制到PC

通过蓝色叠加还可以更改pc上的文件夹,因此将数据库文件直接复制到上述路径中。 我复制到了一个叫Document的文件夹里,所以和我电脑上的文档相对应,打开就可以看到我们的数据库文件。

计算密码基于上述分析,当前还必须计算用md5加密了计算机IMEI和auth_uin的数据库的密码。

a.获取IMEI

把小工具下载到蓝色榻榻米上

打开后,单击分析器,然后单击我的IMEI,IMEI将自动输入到输入框中。 我把那个记录下来。

b.获取auth_uin

如上所述打开路径时,上面的文件夹中有很多文件都有auth_uin。 例如,上面指出的文件中有。 我把那个记录下来。

c.计算密码

这样,获得了计算密码的两个大的除法器——IMEI和auth_id。 使用MD5在线加密工具,在左侧的框中输入IMEI和auth_id,中间不要插入字符,加密方式选择32位的较小者。

加密的前七位是这个数据库的密码。 大工作结束了。

导出数据库使用SQLCipher导出数据库。 就算在网上找也很久不靠谱了。 上传以后能用的东西(也可以自己找)。

打开EnMicroMsg.db时,系统会提示您输入密码。 输入现在取得的密码的话就会解开

找到并导出消息数据库

这样就得到了所有的数据!

2 .数据清洗(具体方法稍后添加)1.将时间戳转换为北京时间

2 .处理图片、链接等非文本聊天记录

……

3 .数据分析目前只是统计了两个人的信息量,创造了简单的语言。

新闻数量(啊,是我输了呜呜) :

语言之云:

代码:

fromosimportpathfrompilimportimageimportnumpyasnpimportmatplotlib.pyplotaspltimportjiebafromwordcloudimportwordcloud, STOPWORDS#当前文件路径d=path.dirname(__file__ ' ) readthewholetextfile=open ) path.join ) d, ' message.txt' encoding='utf-8 ' ).read(#进度分词punc=' abcdefghijklmnopqrstuvwxyz0123456780 forc infile : ifcnotinpunc : temp.append (c ) newtext=''.join(temp ) default _ mode=Jie ba.cut qdgb _ mask='2.jpg ' ) ) ) ) stopwords=set ) stopwords ) stopwords.add此字体文件为需要下载background _ color=' wenquanweimihei-1.TF ',background _ color=' stop words=stop words (# generatewordce interpolation=' bilinear ' (PLT.axis ) ' off ' (PLT.figure ) ) plt.show ) jqdgb_mask,cmap=plt.cm.gray,

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。