wx-cli 0.3.0 无法检测微信 3.8.6 的数据目录
环境信息
- 操作系统: macOS 14.5 (Darwin 24.5.0)
- 微信版本: 3.8.6 (3.8.6.0.9)
- wx-cli 版本: 0.3.0
- 安装方式: npm global install
问题描述
执行 wx init 时始终报错:
检测微信数据目录...
错误: 未能自动检测到微信数据目录
请手动编辑 config.json 中的 db_dir 字段
即使手动在 ~/.wx-cli/config.json 中配置了正确的 db_dir 路径,仍然报同样的错误。
已尝试的配置
// 尝试 1: 完整路径到用户目录
{
"db_dir": "/Users/xxx/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/ac1493ff9c1e212fb4e8677a4acf70f7"
}
// 尝试 2: 版本目录
{
"db_dir": "/Users/xxx/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9"
}
// 尝试 3: Application Support 目录
{
"db_dir": "/Users/xxx/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat"
}
所有尝试均失败。
根本原因分析
通过 strings 分析 wx-cli 二进制发现,代码中硬编码了路径:
Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files
但在微信 3.8.6 中,这个路径不存在。实际的数据库文件位于:
Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/{wxid}/
目录结构对比
wx-cli 期望的结构(旧版)
~/Library/Containers/com.tencent.xinWeChat/Data/Documents/
└── xwechat_files/
└── {wxid}/
├── Message/
├── Contact/
└── Session/
微信 3.8.6 实际结构(新版)
~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/
└── 2.0b4.0.9/
└── {wxid}/
├── Message/
│ ├── msg_0.db
│ ├── msg_1.db
│ └── ...
├── Contact/
│ └── wccontact_new2.db
└── Session/
└── session_new.db
验证步骤
# 1. 验证数据库文件确实存在
find ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support -name "*.db" | head -5
# 输出显示存在 33 个 .db 文件
# 2. 检查旧路径是否存在
ls ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files
# ls: cannot access: No such file or directory
# 3. 微信进程参数
ps aux | grep WeChatAppEx | grep wechat-files-path
# 显示: --wechat-files-path=/Users/xxx/.wxapplet (仅小程序路径)
已完成的准备工作
✅ WeChat.app 已重签名(ad-hoc signature)
✅ macOS TCC 权限已重置
✅ 微信正在运行且已登录
✅ Terminal.app 已获得完全磁盘访问权限
建议修复方案
wx-cli 的自动检测逻辑需要更新以支持微信 3.8.x 的新目录结构:
- 检查
Library/Application Support/com.tencent.xinWeChat/ 下的版本目录(如 2.0b4.0.9)
- 扫描版本目录下的 wxid 目录
- 验证
Message/, Contact/, Session/ 子目录是否存在
临时 Workaround
尝试创建符号链接(未成功):
ln -s ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/2.0b4.0.9 \
~/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files
相关信息
- 这个问题可能影响所有使用微信 3.8.x 的 macOS 用户
- 0.3.0 是最新版本(2026-05-15 发布)
- 没有找到相关的 open issues
期望行为
wx init 应该能够自动检测微信 3.8.6 的数据目录位置并成功提取密钥。
感谢开发这个优秀的工具!期待修复 🙏
wx-cli 0.3.0 无法检测微信 3.8.6 的数据目录
环境信息
问题描述
执行
wx init时始终报错:即使手动在
~/.wx-cli/config.json中配置了正确的db_dir路径,仍然报同样的错误。已尝试的配置
所有尝试均失败。
根本原因分析
通过
strings分析 wx-cli 二进制发现,代码中硬编码了路径:但在微信 3.8.6 中,这个路径不存在。实际的数据库文件位于:
目录结构对比
wx-cli 期望的结构(旧版)
微信 3.8.6 实际结构(新版)
验证步骤
已完成的准备工作
✅ WeChat.app 已重签名(ad-hoc signature)
✅ macOS TCC 权限已重置
✅ 微信正在运行且已登录
✅ Terminal.app 已获得完全磁盘访问权限
建议修复方案
wx-cli 的自动检测逻辑需要更新以支持微信 3.8.x 的新目录结构:
Library/Application Support/com.tencent.xinWeChat/下的版本目录(如2.0b4.0.9)Message/,Contact/,Session/子目录是否存在临时 Workaround
尝试创建符号链接(未成功):
相关信息
期望行为
wx init应该能够自动检测微信 3.8.6 的数据目录位置并成功提取密钥。感谢开发这个优秀的工具!期待修复 🙏