赞
踩
目录
将IMEI(MEID)+uin进行MD5,取其前7位就是密码(32位小写),保存下来
对EnMicroMsg.db解密(使用sqlcipher这个工具数据库查看)
是否还在为无法导出聊天级录而苦恼?史上最强攻略来了,不用root手机,不用会代码,不限制任何机型,只要你有一颗想动手的心!
微信聊天数据是一个db文件,而我们知道db里面是各种表,表里就有我们想要的聊天信息,但是微信的数据库不可能不加密,经过百度我们可以知道它的密码是由微信的uin号加上手机的IMEI码进行MD5加密取前7位构成的,但是数据库文件肯定不让我们获得,除非获得手机最高权限,也就是root,但是现在的手机基本不准root了,咋办呢?其实这不是难题,有电脑啥都好说。因此我们就可以大展手脚了。
- uin: 688275***
-
- imei: 865166010121179
-
- md5: 6a8ecae00ba2f96e7e90c0268090c8db
-
- 前七位: 6a8ecae
- import openpyxl
- import threading
-
- #多线程处理,本人聊天记录为73622行,四个线程处理,每个17000多行,我先将无关列删去,留下四列,序号,isSend,createTime,还有content,所以我选择判断是谁发送的,再保存聊天记录
- def cxk1():
- for i in range(2,17905):
- try:
- #判断是谁发送
- if str(sh.cell(row=i, column=1).value)=='0':
- #保存第四列的聊天记录
- file.write('傻猪:'+sh.cell(row=i, column=4).value+'\n')
- else:
- file.write('\t\t\t\t\t\t\t'+sh.cell(row=i, column=4).value+':帅哥凯'+'\n')# A表示列,1表示行
- except:
- continue
- print('1_ok')
- def cxk2():
- for i in range(17905,35810):
- try:
- if str(sh.cell(row=i, column=1).value)=='0':
- file.write('傻猪:'+sh.cell(row=i, column=4).value+'\n')
- else:
- file.write('\t\t\t\t\t\t\t'+sh.cell(row=i, column=4).value+':帅哥凯'+'\n')# A表示列,1表示行
- except:
- continue
- print('2_ok')
-
- def cxk3():
- for i in range(35810,53715):
- try:
- if str(sh.cell(row=i, column=1).value)=='0':
- file.write('傻猪:'+sh.cell(row=i, column=4).value+'\n')
- else:
- file.write('\t\t\t\t\t\t\t'+sh.cell(row=i, column=4).value+':帅哥凯'+'\n')# A表示列,1表示行
- except:
- continue
- print('3_ok')
-
- def cxk4():
- for i in range(53715,71622):
- try:
- if str(sh.cell(row=i, column=1).value)=='0':
- file.write('傻猪:'+sh.cell(row=i, column=4).value+'\n')
- else:
- file.write('\t\t\t\t\t\t\t'+sh.cell(row=i, column=4).value+':帅哥凯'+'\n')# A表示列,1表示行
- except:
- continue
- print('4_ok')
-
- def fun1():
- th=threading.Thread(target=cxk1)
- th.setDaemon(True)#守护线程
- th.start()
- def fun2():
- th=threading.Thread(target=cxk2)
- th.setDaemon(True)#守护线程
- th.start()
-
- def fun3():
- th=threading.Thread(target=cxk3)
- th.setDaemon(True)#守护线程
- th.start()
-
- def fun4():
- th=threading.Thread(target=cxk4)
- th.setDaemon(True)#守护线程
- th.start()
-
- #将聊天记录导出到txt文件
- file = open('CxkAndLhm.txt','w')
-
- #你导出的微信聊天记录文件,先将csv转为xlsx文件
- wb = openpyxl.load_workbook('weixin.xlsx')
- sh = wb['weixin']
- fun1()
- fun2()
- fun3()
- fun4()
- wb.close()
- file.close()
-
-
-
- # 词云库
- from wordcloud import WordCloud
- import PIL .Image as image
- import numpy as np
- with open("CxkAndLhm.txt") as fp:
- text=fp.read()
- # print(text)
- # 将文本放入WordCoud容器对象中并分析
-
- # 词云图片
- mask = np.array(image.open("1.jpg"))
-
- #字体:C:\Windows\Fonts\FZSTK.TTF C:\Windows\Fonts\FZLTCXHJW.TTF
- font="C:\Windows\Fonts\FZLTCXHJW.TTF"
-
- WordCloud =WordCloud(
- # 设置字体,不指定就会出现乱码
- font_path=font, # 这个路径是pc中的字体路径
-
- # 设置背景色
- background_color='white',
-
- # 词云形状
- mask=mask,
-
- # 允许最大词汇
- max_words=100,
-
- # 最大号字体
- max_font_size=100,
-
- # 设置有多少种随机生成状态,即有多少种配色方案
- random_state=30,
-
- # 清晰度
- scale=3
- ).generate(text)
-
- image_produce = WordCloud.to_image()
- image_produce.show()
- print('完成')
-

到这我们就完成了微信聊天数据的导出,我们可以用导出的数据进行处理了,做成词云或者数据清洗都行。编写不易,留赞可行?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。