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, 步骤如下

  • 打开微信

  • 命令行运行 lldb -p $(pgrep WeChat)

  • 在 lldb 中输入 br set -n sqlite3_key, 回车

  • 还是在 lldb 中,输入 c, 回车

  • 扫码登录微信

  • 这时候回到 lldb 界面, 输入 memory read --size 1 --format x --count 32 $rsi, 回车

    应该会输出类似于如下的数据

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
  • 现在,忽略左边的地址( 0x000000000000: ,0x000000000008:),从左到右,从上到下,把形如 0xab 0xcd 的数据拼起来,然后去掉所有的 "0x"和空格、换行, 得到 64 个字符的字符串,这就是 微信数据库的 key ;(参考 https://github.com/sqlcipher/sqlcipher )

  • 然后, 可以下一个 https://sqlitebrowser.org/ ,用来浏览之前提到的*.db 文件(每个 db 都使用的相同的 key ),注意:打开数据库的时候选择(raw key), 然后输入 0x,再输入刚才那 64 个字符;

  • 遗留问题:*.db 文件要在另一台 PC 或 Mac 上 登录微信, 才能被关闭,否则里面的聊天记录不是最新的;当然也可以强制调用 wal_checkpoint, 不过作为土办法,在另一台电脑上登一下微信也无妨

原文地址:https://www.v2ex.com/t/466053

导出 Mac 版微信聊天记录相关推荐

  1. 解密保存Mac版微信聊天记录的数据库文件并导出聊天记录

    MacOS版本的微信的聊天记录保存在如下路径中的数据库文件中: ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ ...

  2. Mac版微信内存飙升卡死解决办法

    使用微信的过程中,经常用到内存飙升卡死现,那么该如何解决呢?以下是解决Mac版微信内存飙升卡死的有效方法! 第一步:强制退出微信,避免电脑卡死 第二步:打开终端输入打开微信所在目录: open ~/L ...

  3. 多终端同时登录_So easy!同时登陆两个或多个Mac版微信和QQ

    如今,微信和QQ已经不单单是简单的社交软件了,也成了工作必备软件,工作中用它传个文件,发个通知,不知道有多方便. 但是很多人希望将工作圈和生活圈分开,有人想出拿两部手机的方法,倒是可以,不过来回倒腾略 ...

  4. 电脑版微信聊天记录和小程序视频播放黑屏,但有声音,qq和其浏览器视频播放正常。如何解决?

    问题描述: 电脑版微信聊天记录和小程序视频播放黑屏,但有声音,而且截屏时会先显现出画面: qq和其浏览器视频播放正常. 原因:显卡驱动出错 解决办法:更新显卡驱动或者卸载重新安装显卡驱动 注意:我遇到 ...

  5. mac版微信复制多个消息

    mac版微信复制多个消息 1. 在任意消息,单击鼠标右键,然后选择"多选" 2. 选择所有需要复制的多个消息,使用复制快捷键,默认为command+c 3. 打开记事本,粘贴即可 ...

  6. 微信ndows mac下载,Mac版微信又更新,Windows电脑:就这?

    原标题:Mac版微信又更新,Windows电脑:就这? 作为雷科技编辑部为数不多的用MacBook办公的小编,日常用电脑版微信时,总能感觉到一种"劣化"的体验,因为Mac微信的更新 ...

  7. So easy!同时登陆两个或多个Mac版微信和QQ

    如今,微信和QQ已经不单单是简单的社交软件了,也成了工作必备软件,工作中用它传个文件,发个通知,不知道有多方便. 但是很多人希望将工作圈和生活圈分开,有人想出拿两部手机的方法,倒是可以,不过来回倒腾略 ...

  8. Mac版微信取消在锁定屏幕上显示通知的操作方法?

    在日常中使用Mac版微信如果不想在锁定屏幕上显示通知,可将该功能关闭.那我们该如何关闭呢?跟小编一起来看看具体教程吧- 微信Mac版客户端(支持查看朋友圈)正式版支持M1芯片 方法步骤如下: 1.首先 ...

  9. mac 版微信音频设备启动失败

    mac 上使用微信时,可能会遇到无法启动音频设备的情况,导致用 mac 版微信打语音时听不到对方的声音 解决办法: 打开终端,输入以下命令 sudo launchctl stop com.apple. ...

  10. Mac版微信突然显示音频设备启动失败

    Mac版微信突然显示音频设备启动失败 今天打开微信,点了群友的视频,没声音,我以为是静音的视频,还扣了下群友,后面才发现是Mac版微信问题,尴尬,点击语音会出现 音频设备启动失败 解决方法: 1.打开 ...

最新文章

  1. 将EXE安装包重新封装成MSI格式
  2. phpstorm遍历PHP数组,使用PHPStorm对齐数组的键值对
  3. hdu3033---加限制条件的0-1背包
  4. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...
  5. C#LeetCode刷题之#575-分糖果​​​​​​​(Distribute Candies)
  6. printf 函数实现的深入剖析
  7. win7录屏_学用系列|清晰、体积小,这些录屏工具适合正在为录屏苦恼的你
  8. 在有网络还是比较好解决软件上的问题
  9. python可视化计算器_使用Python自带GUI tkinter编写一个期权价格计算器
  10. 鸿蒙三千法则排名,三千法则名称大全_十大最强法则
  11. 2021 IT运维调查报告
  12. 大数据产品开发流程规范_大数据系统开发步骤流程是怎样的
  13. IT人,自我营销,你懂吗?
  14. 开心一刻:邪恶的小明
  15. 5T的资源大礼包整合,总有你想要的!
  16. html怎么设置毛笔字体,原来毛笔字体是这么设计的!
  17. 公网IP,内网IP,动态IP,静态IP的区别
  18. 学霸都在用的学习神器,绝对能让你提升学习效率
  19. 系统重装后MySQL的数据恢复
  20. TCP协议、路由配置

热门文章

  1. linux wget 磁力链接,Linux安装Aria2来实现种子、磁力下载
  2. 网络共享计算机设置方法,如何设置网络共享(局域网共享如何设置)
  3. Excel 取消分页符
  4. vm虚拟机安装win7出现 Error loading image cdmenu.ezb
  5. [Storage]RPM series linux rescan disk / RPM系Linux重新扫描硬盘
  6. win10解决IE浏览器安装不上的问题
  7. poi操作ppt创建表格
  8. dell笔记本重装系统
  9. Hadoop综合大作业
  10. python isupper_Python中用于检查英文字母大写的isupper()方法