土办法导出 Mac 版微信聊天记录

2018-06-26 18:52:32 +08:00
 5thcat

macOS 微信的“备份与恢复”功能只能从手机微信导出到 Mac, 但是微信其实又在本地存了加密的 sqlite3 数据库; 本地数据库的是一系列 *.db 文件,可以用如下命令查看,

ls -alh ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/*/*/Message/*.db

经过观察,微信存数据使用的是开源的 sqlcipher, 所以还是有办法导出微信在 Mac 本机的数据库的, 以下内容在 macOS 10.12, MAS 版微信 2.3.16 测试生效;

该方法依赖 lldb, 步骤如下

0x000000000000: 0xab 0xcd 0xef 0xab 0xcd 0xef 0xab 0xcd
0x000000000008: 0xab 0xcd 0xef 0xab 0xcd 0xef 0xab 0xcd
0x000000000010: 0xab 0xcd 0xef 0xab 0xcd 0xef 0xab 0xcd
0x000000000018: 0xab 0xcd 0xef 0xab 0xcd 0xef 0xab 0xcd
34245 次点击
所在节点    分享发现
29 条回复
leverestfish
2020-08-25 10:40:32 +08:00
@Jyougen 你好,我第一步就运行出错,同样版本号,微信软件的各种打开状态都试过,报错如下。在 lldb 前面加 sudo 也不行。

``` bash
➜ ~ lldb -p $(pgrep WeChat)
(lldb) process attach --pid 97885
error: attach failed: Error 1
```
5thcat
2020-08-25 15:58:54 +08:00
@leverestfish 你的 macOS 版本是什么?
leverestfish
2020-08-25 17:01:36 +08:00
@5thcat macOS 10.15.6
knightdf
2020-08-31 23:47:04 +08:00
mac 10.15.6, wechat 2.4.2 失效了?密码打不开.db 文件
knightdf
2020-09-01 00:24:54 +08:00
@knightdf 最新版的用这个测试: http://xferris.cn/dao-chu-wei-xin-bei-fen-de-mac/ 亲测有效
Hovera
2020-12-05 08:49:13 +08:00
@nickr #17 是这样的,我的是 macOS 10.15.7,微信版本 2.5.0 (15731),数据库打开似乎只是自动备份的最近几天的对话记录。

对于手机微信消息至 mac 的备份应该在 Backup 文件夹(~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/2.0b4.0.9/Backup/),里面有 backup.db ,BAK_0_TEXT,BAK_0_MEDIA,不知该如何破解。
SimonOne
2021-02-06 20:31:45 +08:00
lldb 时微信无响应,没法点击怎么办呢?
cherrychen
2021-09-13 15:51:10 +08:00
@SimonOne 打了断点吧, 可以 输入 c 或者 continue 就可以了
kevintao1024
322 天前
按照操作报错了,请问怎么解决?
```
(lldb) c
Process 1153 resuming
Process 1153 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x0000000108fdfcc4 WCDB`sqlite3_key
WCDB`sqlite3_key:
-> 0x108fdfcc4 <+0>: mov x3, x2
0x108fdfcc8 <+4>: mov x2, x1
0x108fdfccc <+8>: adr x1, #0x2c4d7 ; "main"
0x108fdfcd0 <+12>: nop
Target 0: (WeChat) stopped.
(lldb) memory read --size 1 --format x --count 32 $rsi
error: invalid start address expression.
error: address expression "$rsi" evaluation failed
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/466053

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX