微信聊天记录导出

2023-05-16

本文将介绍如何将微信聊天记录导出为结构化数据

所需材料

  • 一部已经root的安卓手机
  • 带GPU的Linux电脑
    整体流程如下:

数据库文件提取

使用RE管理器,在已经root的安卓手机上,找到如下文件:/data/data/com.tencent.mm/MicroMsg/[weixin_name]/EnMicroMsg.db,(其中[weixin_name]是32位的md5值,如果它有多个值,说明这部手机上登录过多个微信号),将该文件传到电脑上。

破解密码

这个数据库文件进行了加密,密码是7位的小写字母加数字组合,有两种破解的方式

1. 计算的方式

网上有很多方法已经介绍的很详细了,即使用IMEI和微信的uid拼起来计算md5,取前7位,但是我这边测试不通过,有需要的可以参考:微信聊天记录解密并导出

2. 暴力破解方式

使用计算的方式看似比较讨巧,但是比较浪费时间,我的手机IMEI不能复制,需要截图传到QQ/微信识别文字,双卡手机还有两个IMEI,两个都试了均未成功。无意间发现网上介绍有暴力破解的方式,于是打开新世界:提取微信聊天记录。

这个工具https://github.com/whiteblackitty/SQLCipher-Password-Cracker-OpenCL可以实现使用GPU暴力破解数据库密码。

这个配置环境比较麻烦,需要Linux, Python, pip OpenCL,Cuda等等一系列操作,非常恶心。不过对于深度学习er来说,这些都是家常便饭了,直接按照readme装好环境,然后对源码做如下修改:
Lib/pbkdf2-sha1_aes-256-cbc.cl 文件的 752 行 (link) 修改为

  •  ```if(((uint)(data[5] ^ iv[5])==0x40) && ((uint)(data[6] ^ iv[6])==0x20) && ((uint)(data[7] ^ iv[7])==0```
    

运行如下命令,即可开始破解密

  • python Run.py 0

然后你就得到了7位的数据库密码
我用的2080TI显卡,亲测只用5分钟即可遍历完所有可能,实际只用2分钟破解完密码,比前面IMEI+uid计算的方式方便太多。因此,推荐Linux+GPU用户使用暴力破解的方式。

导出为结构化txt

  • 数据库解密:

在ubuntu上安装sqlcipher,目前(2021.12.24)默认安装的3.4.1版本,这个版本可以使用
sudo apt-get install sqlcipher
然后在数据库文件EnMicroMsg.db的目录下,执行如下命令:

sqlcipher EnMicroMsg.db 'PRAGMA key = "yourkey"; PRAGMA cipher_use_hmac = off; PRAGMA kdf_iter = 4000; ATTACH DATABASE "decrypted_database.db" AS decrypted_database KEY "";SELECT sqlcipher_export("decrypted_database");DETACH DATABASE decrypted_database;

把yourkey换成你的密码,如果有报错,说明密码不对,等待大约两分钟,即可得到解密后的数据库文件decrypted_database.db

  • 聊天记录格式化导出:
    我们使用wechat-dump提供的脚本,将聊天记录按照会话用户名/群聊名称进行整理
  • 复制项目
    git clone git@github.com:ppwwyyxx/wechat-dump.git
  • decrypted_database.db放到wechar-dump文件夹下
  • 执行解析:
    ./dump-msg.py decrypted.db output_dir

然后就可以在output_dir文件夹下看到整理后的聊天记录

其他玩法

根据生成的聊天记录,我们可以做一系列分析,包括统计分析,如词频统计,发言次数统计,发言长度统计;内容分析,如情感分析,意见挖掘,观点提取,主题抽取等;对话生成,可以训练一个略带感情的聊天机器人代替你回复老板,或者让它模仿女朋友的说话口吻跟你说晚安等等。总之,有了原始数据,我们可以为所欲为。

  • 词频统计(词云)
  • 发言统计
  • 聊天机器人

参考资料

  1. 微信聊天记录解密并导出,链接
  2. 提取微信聊天记录,链接
  3. GPU破解密码,链接
  4. wechat-dump,链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信聊天记录导出 的相关文章

  • Kubernetes(K8S)集群部署搭建图文教程(最全)

    Kubernetes 集群安装 前期准备集群安装系统初始化Harbor采取私有的仓库去镜像使用集群检测集群功能演示 前期准备 第一步 xff1a Router软路由构建 第二步 xff1a centos7安装 5台 xff08 自行安装 x
  • Nginx反向代理部署在K8s上的seafile服务,上传文件缓慢的解决方案

    前言 在k8s上搭建好seafile云文档服务后 xff0c 在拥有公网IP的反向代理服务器上采用Nginx进行反向代理 问题描述 seafile网页上传文件时发现 xff1a 上传几kB的小文件正常 xff0c 上传1MB以上大小的文件卡
  • FreeBSD13简单命令安装KDE5

    span class token comment 经过个人多次测试 xff0c 注释部分是个的经验 xff0c 试过10多次KDE安装总结 xff0c 希望对大家有用 xff0c 谢谢点赞 span span class token fun
  • kali对未知web server透测试1

    靶机渗透 主机IPkali192 168 101 62靶机未知 靶机探测 靶机下载 xff1a https pan baidu com s 1P8s ntf05dRSWOg LrxD Q 提取码 xff1a 1234 1 打开靶机 选择我已
  • kali对未知web server透测试2

    环境介绍 主机IP xff08 NAT xff09 kali192 168 252 128靶机2未知 靶机下载 xff1a https pan baidu com s 1u5xbmU13wheXE4 M508qFw 提取码 xff1a 12
  • MS08_067复现+远程控制

    环境 主机ipkali Linux192 168 252 128Windows xp192 168 252 148 漏洞介绍 https docs microsoft com zh cn security updates Securityb
  • CVE-2020-0796(永恒之黑)复现,影响版本windws10,windos server2016

    漏洞介绍 https nvd nist gov vuln detail CVE 2020 0796 漏洞影响版本 Windows 10 Version 1903 for 32 bit Systems Windows 10 Version 1
  • hackbar工具安装使用教程

    HackBar工具介绍 HackBar 是一个浏览器上的一个插件 xff0c 包含一些黑客常用的工具 xff0c 比如SQL injection XSS 加密等 免费版下载 百度网盘 xff1a https pan baidu com s
  • python 百度aip实现文字识别

    介绍 百度aip模块是用于实现百度云与用户接口 xff0c 简单来说就是使用百度云所拥有的人工智能模块 模块使用 pip install baidu aip 下载百度云模块 登录百度云账号 填写信息 使用官方的文档 https cloud
  • python3 实现股票监控

    实现功能 1 设置股票的卖出个买入的价格 2 程序对价格进行监控 3 当价格达到预定值时发送邮件提醒 模块安装 pip install tushare pip install pandas 如果非常慢 xff1a https blog cs
  • 【网络安全CTF】BUUCTF(Basic篇)

    Linux Labs 解题思路 xff1a 已给用户名密码 xff0c 直接用ssh工具连接即可获取flag 查找flag在跟下 提交完成 BUU LFI COURSE 1 访问链接 xff1a 为php代码审计题 xff0c 看题目要求构
  • 密码学基本概念

    密码学简介 密码是经过加密过后的口令 xff0c 是指用特定的变换对数据信息进行加密保护或者安全身份认证的物质和技术 xff0c 密码学是对安全通信技术的研究 xff0c 要能够有效的防范潜在攻击 xff0c 也就是对信息加密解密的过程 密
  • 部署在k8s上的jenkins代理端口对外开放解决方案

    前言 Jenkins服务部署在k8s集群上 xff0c 之前的项目涉及的代理节点和集群在同一个内网网段 环境 Jenkins 对应jdk版本为openjdk version 34 11 0 18 34 问题描述 Jenkins要添加外部网络
  • Qt 利用stylesheet 设置按钮五态图标

    用过Qt的相信大家都对QPushButton这个类十分熟悉 xff0c 下面将介绍一种利用setstylesheet的方式 xff0c 设置按钮的五种状态 在Qt中QPushButton在视觉上给我们有以下五种状态 xff0c 分别是nor
  • 【Go语言学习】安装与配置

    文章目录 前言一 Go语言学习站二 安装与配置1 安装2 环境变量配置3 Gland编辑器安装与配置Hello World 总结 前言 Go语言特性 Go xff0c 又称为 Golang xff0c 是一门开源的编程语言 xff0c 由
  • 【安全工具】Httpx信息收集

    文章目录 前言一 下载二 使用步骤1 帮助文档2 常用命令常用组合命令 xff1a 总结 前言 HTTPX 是一个功能强大的 HTTP 客户端工具 xff0c 用于执行各种网络任务 xff0c 例如发现 Web 应用程序漏洞 探测域名和端口
  • 【云计算】Hadoop集群安装

    文章目录 前言一 环境二 安装虚拟机及配置配置网络 三 安装Ubuntu及配置下载ISO镜像VMware安装UbuntuUbuntu配置 xff1a 配置结果IP免密登录 JAVA安装hadoop安装 xff1a 文件的作用core sit
  • 图像处理-区域标记

    图像处理 区域标记 Matlab code clc span class token punctuation span close all span class token punctuation span span class token
  • 采用傅里叶变换进行平滑操作

    采用傅里叶变换进行平滑操作 clc close all span class token punctuation span span class token function clear span all span class token
  • 变分推理-ELBO

    变分推理 ELBO 变分推理ELBO 变分推理 变分推理的原理等价于最小化KL散度 xff1a K L q

随机推荐

  • Bayesian Neural Network Recent Papers-贝叶斯神经网络相关研究文章

    Bayesian Neural Network Recent Papers 贝叶斯神经网络相关研究文章 MethodsVariational Inference VI Markov Chain Monte CarloMCMC 43 VIEn
  • Bayes基本概念

    Bayes基本概念 Prior 先验 xff1a p z p z p z 看到数据前的猜测 xff1b Posterior 后验 xff1a
  • vm Debian 9 做服务器

    虚拟机 xff08 vm xff09 Debian 9 做服务器 参考虚拟机Centos做服务器 参考设置静态ip和dns 安装vm 43 debian9 不多说设置中文字符 43 locale安装net tools apt get ins
  • ProXmox VE创建虚拟机

    Proxmox VE Proxmox VirtualEnvironment 是一个非常棒的集成OPENVZ支持KVM应用的环境 有方面易用的WEB界面 xff0c 基于JAVA的UI和内核接口 xff0c 可以登录到VM客户方便的操作 xf
  • 抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15%

    背景 启动是App给用户的第一印象 xff0c 对用户体验至关重要 抖音的业务迭代迅速 xff0c 如果放任不管 xff0c 启动速度会一点点劣化 为此抖音iOS客户端团队做了大量优化工作 xff0c 除了传统的修改业务代码方式 xff0c
  • supervisor安装使用

    supervisord服务进程管理器 一 安装 yum span class token function install span supervisor 二 目录及使用 安装后 1 生成 etc supervisord conf 配置文件
  • laravel引入第三方云平台及使用方法

    一 引入第三方类 1 阿里oss span class token function composer span require jacobcyl ali oss storage 2 1 2 腾讯cos span class token f
  • 在ubuntu上安装多个版本的CUDA,并且可以随时切换

    前言 实验室工作站被多人使用导致需求不同的cuda版本 xff0c 一直没找到一个完全完整靠谱的教程 xff0c 这是我参考几个博客完成测试的全过程记录 xff0c 方便以后操作 xff0c 无任何商业用途 xff0c 如有侵权 xff0c
  • 在CentOS运行APPIMAGE文件时提示AppImages require FUSE to run

    输入如下命令行 xff1a yum enablerepo 61 epel y install fuse sshfs install from EPEL user 61 w h o a m
  • C++中的虚函数详解

    虚函数在运行时绑定 xff0c 即运行时确定执行的函数 所谓的后期绑定就是一个基类中有一个虚函数 xff0c 而派生类中重写了这个函数 xff0c 那么调用的这个虚函数的时候根据类的实例的不同而调用不同的函数 实例化是指在面向对象的编程中
  • Android中的Log输出

    安卓系统的代码量十分庞大 xff0c 无法使用Jlink之类的工具进行单步调试 xff0c 因而日志系统十分有必要 为此 xff0c 安卓开发了Log日志类用于开发者的日常调试使用 Log中配置了五种Log类 xff0c 分别表示打印五类不
  • C++中的模板类

    什么是模板类 xff1a C 43 43 发展到一定层次后 xff0c 必然有部分代码存在仅传参的数据类型不同而内容一致的情况 因此 xff0c C 43 43 为解决此类场景 xff0c 特推出模板类的使用 模板类是一种泛型技术 xff0
  • 【C/C++】指针赋初值问题

    先说结论 xff1a 指针在使用时一定要进行初始化 一 问题来源 问题提示 xff1a null pointer dereference 此问题在编译时无误 xff0c 在运行 时出的问题 xff0c 排查起来非常头疼 一开始没头绪 xff
  • 【Linux应用编程基础】ioctl函数

    一 为什么需要ioctl函数 在裸机开发中 xff0c 应用程序直接作用于寄存器 而在Linux开发中Linux驱动与Linux应用在代码层级上是分开的 xff0c 在实际开发过程中也是分两拨人开发的 xff0c Linux驱动服务于应用
  • 【半音阶口琴】基础汇总

    一 简谱初学习 增时线 xff1a 2 后面的三个杠表示前面音符的续音 减时线 xff1a 121 表示三个音符的时值都减半 附点 xff1a 1 39 2 结合性为先结合减时线 xff0c 再结合附点 xff0c 因此1表示3 4拍 四分
  • 抖音包大小优化-资源优化

    1 概述 随着业务的快速迭代 xff0c 抖音 Android 端的包大小爆发式增长 包大小直接影响到下载转化率 推广成本 运行内存和安装时间等因素 xff0c 因此对 apk 进行瘦身是一件很有必要且收益很大的事情 apk 主要由 dex
  • 【正点原子Linux C应用编程指南】学习里程碑总结

    前言 说实话 xff0c 当阅读正点原子的这篇文档时 xff0c 带着些许失望 xff0c 并不是文档写的不好 xff0c 而是质量明显不如RTOS和裸机部分的编写 xff0c 可能是没有实践过的原因 记得朱有鹏老师之前说过 xff0c 正
  • 【上位机应用开发】Python篇 A部分

    虽是嵌入式方向 xff0c 刚毕业时一直想基于C 开发一款上位机 xff0c 没争取到 xff0c 近期偶然获取到一个用python开发的宝贵机会 xff0c 记录一下 1 用Shell命令行 VS code还是集成开发环境开发的问题 xf
  • 挂载时系统提示未找到fdisk指令

    64 通俗的讲解如何在Ubuntu系统上挂在 在学习的过程中 xff0c 总结了简介的挂在 xff0c 平时一直使用的记事本记载的 xff0c 以后会慢慢记录在上面 Ubuntu14 0 04版本虚拟机挂在U盘如何操作 先让虚拟机读取到物理
  • 微信聊天记录导出

    本文将介绍如何将微信聊天记录导出为结构化数据 所需材料 一部已经root的安卓手机带GPU的Linux电脑 整体流程如下 xff1a 数据库文件提取 使用RE管理器 xff0c 在已经root的安卓手机上 xff0c 找到如下文件 xff1