首页 > 数据库 >微信4.0数据库文件解密工具

微信4.0数据库文件解密工具

时间:2024-12-26 23:31:17浏览次数:8  
标签:4.0 -- 微信 数据库 解密 key 3.9

仓库:https://github.com/0xlane/wechat-dump-rs

该工具用于导出正在运行中的微信进程的 key 并自动解密所有微信数据库文件以及导出 key 后数据库文件离线解密。

微信4.0 重构后改用 HMAC_SHA512 算法,寻找 key 的方式和 v3 不同,工具内仍然采用内存暴力搜索的方式,对于 v4 解密时将使用多线程加速,可能会导致 cpu 飙到 100%,取决于 key 离起始查找点的距离。

工具用法

工具用法

wechat-dump-rs (1.0.13)
A wechat db dump tool
Options:
  -p, --pid <PID>        pid of wechat
  -k, --key <KEY>        key for offline decryption of db file
  -f, --file <PATH>      special a db file path
  -d, --data-dir <PATH>  special wechat data dir path (pid is required)
  -o, --output <PATH>    decrypted database output path
  -a, --all              dump key and decrypt db files
      --vv <VERSION>     wechat db file version [default: 4] [possible values: 3, 4]
  -r, --rawkey           convert db key to sqlcipher raw key (file is required)
  -h, --help             Print help

如果不带任何参数,程序只输出所有微信进程的 key、微信号、手机号、数据目录、版本等信息:

=======================================
ProcessId: 4276
WechatVersion: 4.0.0.26
AccountName: xxxxxx
NickName: xxxxxx
Phone: 15111611111
DataDir: C:\Users\xxx\Documents\xwechat_files\wxid_xxxx_xxa\
key: f11fd83bxxxxxx4f3f4x4ddxxxxxe417696b4axx19e09489ad48c
=======================================

使用参数 -a 可以直接导出所有数据库文件。

使用 sqlcipher browser 浏览数据库

工具自动解密后的文件可能存在畸形问题,可以直接使用 DB Browser for SQLCipher 浏览原始数据库文件。

打开 sqlcipher 数据库时,选择 “原始密钥”,微信 V3 选择 自定义(页大小4096/KDF迭代64000/HMAC算法SHA1/KDF算法SHA1),V4 选择 sqlcipher4 默认,每个数据库文件对应的原始密钥都是不一样的,获取方式如下:

微信 V3 数据库文件 rawkey:

wechat-dump-rs.exe -k xxxxxxxxxxxxxxxxx -f c:\users\xxxx\xxxx\contact.db -r --vv 3

微信 V4 数据库文件 rawkey:

wechat-dump-rs.exe -k xxxxxxxxxxxxxxxxx -f c:\users\xxxx\xxxx\contact.db -r --vv 4

原理

一般情况下,key 要在运行的微信进程内存中拿到,内存偏移在每个版本都不一样,大部分工具是对每个版本维护一套偏移,但是当出现新版本的时候都要重新找偏移,方法见后面有简单记录。

其实,除了这个方法外,还有一个更通用的方法就是内存暴力搜索找到能用于解密的密钥位置,当然如果对进程全部内存扫一遍肯定不行,所以项目里用下面这种方式缩小密钥内存范围加快扫描速度:

  1. 微信登录设备类型基本只有 iphone、android,在内存中先搜到设备类型所在内存,key 就在它的前面,向前搜就行
  2. key 的内存地址和登录设备类型据我观察是 16 字节对齐的,所以每次向前 16 字节

还有其它一些小细节,直接看一下代码吧。

已测试版本列表

其它未测试版本不代表不能用,这个列表只是我本地有过的环境。

  • 3.9.6.33
  • 3.9.7.25
  • 3.9.7.29
  • 3.9.8.9
  • 3.9.8.15
  • 3.9.10.19
  • 3.9.11.25
  • 3.9.12.15
  • 3.9.12.17
  • 4.0.0.26
  • 4.0.0.32
  • 4.0.0.34
  • 4.0.0.35
  • 4.0.1.11
  • 4.0.1.13
  • 4.0.1.17

库表结构

4.0 聊天记录内容解析参考示例 导出聊天记录到TXT

微信分析记录

标签:4.0,--,微信,数据库,解密,key,3.9
From: https://www.cnblogs.com/cxccc/p/18634379/weixin_4_0_db_dump

相关文章

  • 引入长思维链!微信基于阿里千问大模型搞出个翻译版o1
    最近,类o1模型的出现,验证了长思维链(CoT)在数学和编码等推理任务中的有效性。在长思考(longthought)的帮助下,LLM倾向于探索、反思和自我改进推理过程,以获得更准确的答案。在最近的一项研究中,微信AI研究团队提出了DRT-o1,将长CoT的成功引入神经机器翻译(MT)。实现这一......
  • 纯JS加密+时间校验(没引用任何框架),Java解密
    1、JS加密functioncaesarEncrypt(text,shift){ letstr="G7bCk1Xf2A9qLmJ0pVrTz5D4oS6wEhN"+Date.now().toString(); returnstr.split('') .map(char=>String.fromCharCode(char.charCodeAt(0)+3)) .join('');}2、Java校验......
  • 微信小程序中supabase在线数据库使用指南
    在微信小程序中使用supabase在线数据库可以无需后端和服务器完成个人小项目的开发。本文记录我的使用过程,在阅读本文前,建议您先满足以下条件:持有可用于开发的微信小程序了解kexue上网第一步注册与简单使用首先,我们到https://supabase.com/注册一个账户,并创建一个您的项目。......
  • 你有自己的微信公众号吗?
    如果您想创建一个微信公众号,您可以先前往微信公众平台官网进行注册,选择适合的公众号类型,并按照提示填写相关资料。在注册完成后,您可以开始进行公众号的基本设置和开发配置,包括设置公众号名称、头像、介绍等,以及开发接口的配置和调用等。在前端开发方面,微信公众号提供了丰富的开发......
  • 你了解微信公众号的运营吗?
    关于微信公众号的运营,特别是从前端开发的角度,我可以分享一些关键的信息和考虑因素。微信公众号前端开发要点:环境配置:在开发初期,可以使用微信公众平台的测试账号进行环境配置。获取appid和密钥,并设置js接口安全域名(测试号通常不需要设置)。在开发过程中,需要用到微信用户的op......
  • 微信也能自动回复啦?!你还不知道吗?
    朋友们,是不是经常遇到这种情况:工作忙得团团转,微信消息却堆积如山;好不容易空下来,却发现好多好友请求都过期了;好不容易回复了几个消息,却发现还有更多新的消息涌进来……简直让人抓狂!今天,就给大家分享一个非常好用的工具——个微管理系统,它能帮你实现微信自动回复,从此告别微信消......
  • 仅用30多行代码实现一个微信AI聊天机器人
    前言https://blog.csdn.net/weixin_60159567/article/details/143699663本文章将介绍如何使用Python和wxauto、langchain、一个免费的api-key实现一个微信AI聊天机器人,自动回复消息准备本文章使用Python3.13编辑器使用的是PyCharm使用wxauto实现微信消息的自动发送以及langcha......
  • hook 微信信息撤回功能
    公众号:泷羽Sec-尘宇安全hook微信信息撤回功能原文地址:https://bbs.kanxue.com/thread-282005.htmb站刷到一位老师分享了hookpc端微信信息撤回功能的视频,跟着动手操作了一遍之后,尝试了一下hookAndroid端的微信,下面分享一下学习过程。视频链接:广东财经大学-信息安全-......
  • 微信防撤回功能
    公众号:泷羽Sec-尘宇安全微信防撤回功能查看微信版本选择插件插件https://pan.quark.cn/s/d25033d81608先查看一下微信的版本:微信左下角–>三个杠–>设置–>关于微信比如我这里是3.9.12.15版本进行WeChatWin.dll替换下载对应版本之后,将插件名字改为WeChatWin.dl......
  • 同城服务家政服务家政派单系统源码微信小程序+微信公众号+APP+H5
    JAVA同城服务家政服务家政派单系统源码:打造全方位家政服务生态在当今快节奏的社会中,家政服务已成为城市居民生活中不可或缺的一部分。为了满足广大用户对家政服务的多样化需求,我们精心打造了一款集微信小程序、微信公众号、APP及H5于一体的JAVA同城服务家政派单系统。该系统不......