琐碎笔记

微信聊天记录解密并导出

佩佩 · 3月12日 · 2026年 · 本文共1714个字 · 预计阅读6分钟 29次已读

本文将基于开源项目 ylytdeng/wechat-decrypt,在 macOS 平台(支持 Apple Silicon 与 Intel)的微信 4.1.7.57 数据库解密与导出实操。

一、环境与工具准备

在开始之前,请确保你的 Mac 满足以下条件:

  1. 安装 Xcode Command Line Tools:打开终端,运行 xcode-select --install
  2. 安装 Python 3 及依赖:确保系统中已安装 Python 3,并在终端运行 pip3 install pycryptodome 以安装解密所需的密码学库。
  3. 保持微信登录:操作期间,请确保微信客户端正在运行且处于登录状态。

二、处理微信代码签名

要在 macOS 上读取微信的内存提取密钥,需要调用 task_for_pid()。如果你的微信是从 App Store 下载或官网安装的,它会带有 Apple 官方签名和 Hardened Runtime(强化运行时)保护,这将阻止我们读取内存。

1.检查签名状态:

在终端运行以下命令:

codesign -dv /Applications/WeChat.app 2>&1 | grep -E "Signature|flags"
  • 如果输出包含 flags=0x2(adhoc)Signature=adhoc,说明你之前可能安装过防撤回等插件,微信已经是 Ad-hoc 签名,可以直接跳过步骤 2
  • 如果输出包含 flags=0x10000(runtime)Authority=...Apple...,请继续执行步骤 2。

2.对微信进行本地重签名 (Ad-hoc)

为了绕过限制,我们需要将其重签名为 ad-hoc。

  • 彻底退出当前正在运行的微信。
  • 在本机终端执行重签名命令:
sudo codesign --force --deep --sign - /Applications/WeChat.app
  • 重签名完成后,重新打开微信并扫码登录(签名变更会使原有的登录态失效)。

三、提取数据库密钥

针对 macOS 版微信 4.1.7.57,该仓库提供了一个专属的 C 语言版内存密钥扫描器(通过 Mach VM API 扫描)。

  • 进入项目源码目录。
  • 编译扫描器工具:
cc -O2 -o find_all_keys_macos find_all_keys_macos.c -framework Foundation
  • 运行扫描器提取密钥(需要 root 权限)
sudo ./find_all_keys_macos

扫描器会自动寻找微信进程,扫描内存并匹配数据库的 salt 值。执行成功后,会在当前目录下生成一个包含所有数据库加密密钥的 all_keys.json 文件。

四、数据库解密与导出

拥有密钥后,即可对 SQLCipher 4 加密的数据库进行批量解密。

  • 自动解密:直接运行以下命令:
python3 decrypt_db.py

或者使用启动入口:

python3 main.py decrypt
  • 确认解密结果

解密后的标准 SQLite 文件将统一保存在 decrypted 目录下。你可以使用任何标准的 SQLite 查看工具(如 DB Browser for SQLite)打开 decrypted/message/message_*.db(聊天记录)或 decrypted/contact/contact.db(联系人),进行自由检索和导出。

五、高级与扩展功能

  • 实时消息监听与 Web UI: 仅运行 python main.py 即可启动服务,打开 http://localhost:5678 能够查看实时消息流,系统会以约 100ms 的低延迟推送 WAL 文件变化,并支持图片内联预览。
  • 图片解密 (V2 格式): 2025年8月之后的微信 4.0 版本采用了 AES-128-ECB + XOR 的 V2 图片加密格式。这要求在微信中打开查看几张图片后,立即运行 python find_image_key_monitor.py 来从内存中提取临时的 AES 图片密钥。
  • 接入 Claude AI: 通过安装 mcp 依赖,你可以将该工具注册为 Claude Code 的 MCP Server,让 AI 直接获取联系人、总结群聊记录或检索特定消息内容。

免责声明:本工具仅用于学习和研究目的,用于解密自己的微信数据,请务必遵守相关法律法规,不要用于未经授权的数据访问。


本文作者:佩佩
原文链接:https://www.nange.cn/wechat-decrypt.html
版权声明:若无特殊注明,文章均为本站【楠格】原创,并以《知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议进行许可,转载时请以超链接形式标明文章原始出处和作者信息,否则谢绝转载!

0 条回应