mac微信收藏数据仍存于本地mm.sqlite数据库中,未手动删除容器即可恢复;需用db browser导出favorite表为csv,再通过路径匹配或扫描找回图片,最后伪造数据库写回。

确认收藏夹内容是否仍存在于本地数据库
Mac微信的收藏数据并非仅存于云端,其原始记录实际以SQLite格式固化在本地沙盒容器中,即使你已从手机端清空收藏、或卸载重装Mac微信,只要未手动删除应用容器,收藏条目(含文字、链接、图片缩略图路径、笔记内容)大概率仍保留在MM.sqlite文件内。这一步是后续所有操作的前提——若数据库已被覆盖或彻底清除,则无法恢复。
打开访达→按 Command + Shift + G →粘贴路径:~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat →进入后找到数字版本号子文件夹(如 3.0.0.12)→再进入 MM.sqlite 所在层级(通常在根目录或 Messages 子目录下)。【务必先复制一份MM.sqlite到桌面备份,再进行后续操作】
用DB Browser for SQLite导出收藏表原始数据
下载并安装免费开源工具 DB Browser for SQLite(官网:sqlitebrowser.org),它无需命令行基础,图形界面安全可靠。
双击打开你从沙盒中复制出的 MM.sqlite 备份文件 → 点击顶部菜单栏「浏览数据」→ 在表名下拉框中选择 Favorite(收藏主表)→ 此时窗口将列出全部收藏记录,每行包含 localId、type(1=文字,3=图片,5=链接,6=笔记等)、content(文本内容或JSON结构化字段)、createTime(时间戳,需用在线工具转为可读日期)。
点击左上角「文件」→「导出」→「将表格导出为CSV」→ 保存为 wechat_favorites_export.csv。这一步导出的是纯文本结构,不依赖微信客户端,可直接用Excel或Numbers打开检索。
还原图片类收藏中的原图(若收藏含图片)
收藏里的图片不会以完整分辨率存储在 Favorite 表中,content 字段只存有类似 {"hdHeight":1080,"hdWidth":1920,"hdUrl":"http://xxx"} 的JSON,而真实缩略图缓存在 _thumb 文件夹,高清原图则可能残留在 FileStorage/Image 或 FileStorage/Cache 中,命名规则与消息ID强关联。
方法一:通过 Favorite 表的 sourceId 或 localId 反查图片路径
在 DB Browser 中切换至 Message 表 → 在「过滤器」栏输入 localId = [你刚记下的Favorite.localId] → 查看对应行的 imgPath 或 content 字段是否含相对路径(如 Image/2025-04/abc123.jpg)→ 拼接进沙盒路径:~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/[版本号]/FileStorage/ → 定位并复制该文件。
方法二:暴力扫描 FileStorage 下所有 JPG/PNG 文件
打开终端,执行:find ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/*/FileStorage -name "*.jpg" -o -name "*.png" | head -n 50 → 观察输出路径中是否出现疑似收藏时间附近的文件 → 找到后右键「在访达中显示」→ 拖出验证。
将导出的CSV重新导入为可用收藏(需微信重启后生效)
微信不提供官方CSV导入接口,但可通过伪造插入语句+替换数据库方式实现“写回”。此操作有风险,仅适用于你已完全退出微信且拥有完整备份的场景。
第一步:在 DB Browser 中新建一个空白数据库,命名为 fake_favorite.db;
第二步:创建表结构(必须严格一致):CREATE TABLE Favorite (localId INTEGER PRIMARY KEY, type INTEGER, content TEXT, createTime INTEGER, ...);(字段名请以你导出的CSV第一行和原 Favorite 表结构为准);
第三步:用「文件→导入→导入CSV文件」将 wechat_favorites_export.csv 导入该新表;
第四步:关闭 DB Browser,将原 MM.sqlite 重命名为 MM.sqlite.bak,再把新数据库改名为 MM.sqlite 并拖回沙盒原位置;
第五步:重启 Mac 微信,进入「我 → 收藏」查看是否加载成功。











