解锁并提取Linux客户端微信数据库 (vibe coded)
at 120 lines 2.6 kB view raw view rendered
1# 用户指南 2 3## 1. 安装 4 5### Nix Flake(推荐) 6 7```bash 8# 进入开发环境(自动安装所有依赖) 9nix develop 10 11# 或直接运行 12nix run . 13``` 14 15## 2. 前置条件 16 17- Linux 系统 18- 微信 4.x Linux 版(AppImage)正在运行 19- 需要有权限读取微信进程的内存(通常需要同用户或 root) 20 21## 3. CLI 命令 22 23```bash 24wxdump -h # 查看所有命令帮助 25wxdump -V # 查看版本 26``` 27 28### 3.1 info — 获取微信信息 29 30从运行中的微信进程内存提取基本信息(pid、wx_dir、密钥等)。 31 32```bash 33wxdump info 34wxdump info -s /tmp/wxinfo.json # 保存到文件 35``` 36 37### 3.2 linux_key — 提取数据库密钥 38 39扫描微信进程内存,提取所有数据库的 SQLCipher 4 raw key。 40 41```bash 42wxdump linux_key 43wxdump linux_key --wx-dir /path/to/wechat/data # 指定数据目录 44``` 45 46### 3.3 decrypt — 解密数据库 47 48自动从进程内存提取密钥,解密所有 SQLCipher 4 数据库。 49 50```bash 51wxdump decrypt # 自动检测路径,输出到 ./decrypted 52wxdump decrypt -i /path/to/wx/data # 指定微信数据目录 53wxdump decrypt -o /path/to/output # 指定输出目录 54``` 55 56### 3.4 merge — 合并数据库 57 58将已解密的多个数据库合并为单一文件。 59 60```bash 61wxdump merge -i ./decrypted -o ./merged/merge.db 62wxdump merge -i file1.db,file2.db -o merge.db 63``` 64 65### 3.5 ui — 启动 Web 界面 66 67启动图形界面,在浏览器中查看聊天记录。 68 69```bash 70wxdump ui # 默认端口 5000 71wxdump ui -p 8080 # 指定端口 72wxdump ui --online # 允许局域网访问 73wxdump ui --noOpenBrowser # 不自动打开浏览器 74``` 75 76### 3.6 api — 启动 API 服务 77 78启动 API 服务,不打开浏览器。 79 80```bash 81wxdump api 82wxdump api -p 8080 --online 83``` 84 85### 3.7 dbshow — 查看已合并的数据库 86 87直接查看已解密合并的数据库。 88 89```bash 90wxdump dbshow -merge ./merge_all.db -wid /path/to/wx/data 91``` 92 93## 4. Python API 94 95```python 96from wxdump_linux import get_wx_info, batch_decrypt, merge_db, decrypt_merge 97from wxdump_linux.linux import find_wechat_files_path, extract_all_keys 98 99# 获取微信信息 100info = get_wx_info(is_print=True) 101 102# 提取密钥 103wx_dir = find_wechat_files_path() 104db_keys = extract_all_keys(wx_dir) 105# db_keys = {db_path: (enc_key_hex, salt_hex), ...} 106 107# 解密 108code, results = batch_decrypt(db_keys, "./decrypted", is_print=True) 109 110# 一键解密+合并 111code, merge_path = decrypt_merge(wx_path=wx_dir, outpath="./output") 112``` 113 114## 5. FAQ 115 116详见 [FAQ](./FAQ.md) 117 118## 6. 更新日志 119 120详见 [CHANGELOG](./CHANGELOG.md)