解锁并提取Linux客户端微信数据库 (vibe coded)

用户指南#

1. 安装#

Nix Flake(推荐)#

# 进入开发环境(自动安装所有依赖)
nix develop

# 或直接运行
nix run .

2. 前置条件#

  • Linux 系统
  • 微信 4.x Linux 版(AppImage)正在运行
  • 需要有权限读取微信进程的内存(通常需要同用户或 root)

3. CLI 命令#

wxdump -h          # 查看所有命令帮助
wxdump -V          # 查看版本

3.1 info — 获取微信信息#

从运行中的微信进程内存提取基本信息(pid、wx_dir、密钥等)。

wxdump info
wxdump info -s /tmp/wxinfo.json    # 保存到文件

3.2 linux_key — 提取数据库密钥#

扫描微信进程内存,提取所有数据库的 SQLCipher 4 raw key。

wxdump linux_key
wxdump linux_key --wx-dir /path/to/wechat/data    # 指定数据目录

3.3 decrypt — 解密数据库#

自动从进程内存提取密钥,解密所有 SQLCipher 4 数据库。

wxdump decrypt                          # 自动检测路径,输出到 ./decrypted
wxdump decrypt -i /path/to/wx/data      # 指定微信数据目录
wxdump decrypt -o /path/to/output       # 指定输出目录

3.4 merge — 合并数据库#

将已解密的多个数据库合并为单一文件。

wxdump merge -i ./decrypted -o ./merged/merge.db
wxdump merge -i file1.db,file2.db -o merge.db

3.5 ui — 启动 Web 界面#

启动图形界面,在浏览器中查看聊天记录。

wxdump ui                       # 默认端口 5000
wxdump ui -p 8080               # 指定端口
wxdump ui --online              # 允许局域网访问
wxdump ui --noOpenBrowser       # 不自动打开浏览器

3.6 api — 启动 API 服务#

启动 API 服务,不打开浏览器。

wxdump api
wxdump api -p 8080 --online

3.7 dbshow — 查看已合并的数据库#

直接查看已解密合并的数据库。

wxdump dbshow -merge ./merge_all.db -wid /path/to/wx/data

4. Python API#

from wxdump_linux import get_wx_info, batch_decrypt, merge_db, decrypt_merge
from wxdump_linux.linux import find_wechat_files_path, extract_all_keys

# 获取微信信息
info = get_wx_info(is_print=True)

# 提取密钥
wx_dir = find_wechat_files_path()
db_keys = extract_all_keys(wx_dir)
# db_keys = {db_path: (enc_key_hex, salt_hex), ...}

# 解密
code, results = batch_decrypt(db_keys, "./decrypted", is_print=True)

# 一键解密+合并
code, merge_path = decrypt_merge(wx_path=wx_dir, outpath="./output")

5. FAQ#

详见 FAQ

6. 更新日志#

详见 CHANGELOG