wx-favorites-report 實測:微信收藏夾可視化工具,一鍵生成交互報告

wx-favorites-report 實測:微信收藏夾可視化工具,一鍵生成交互報告

wx-favorites-report 實測:微信收藏夾可視化工具,一鍵生成交互報告

你有沒有想過,微信收藏夾裏到底藏了多少東西?那些隨手收藏的文章、視頻、鏈接,到底有多少再也沒打開過?

wx-favorites-report 是一個開源的微信收藏可視化工具,能從加密的微信 Mac 本地數據庫中端到端解密、解析數據,並生成一份包含 7 種圖表的交互式 HTML 報告。簡單來說——它讓你的微信收藏從「黑箱」變成「儀表盤」。

一、wx-favorites-report 是什麼

wx-favorites-report 由開發者 zhuyansen 開源,最初作爲 Claude Code 的 Skill 發佈,後被整合到 claude-code-skills-zh 等開源項目中。

它的核心能力可以概括爲三步:

  1. 解密:從微信 Mac 客戶端的加密數據庫(SQLCipher)中提取密鑰並解密
  2. 解析:將 SQLite 中的 XML 結構化數據解析爲統一 JSON
  3. 可視化:生成單文件 HTML 報告,包含統計儀表盤、月度趨勢、類型分佈等

整個過程可以全自動完成——如果你使用 Claude Code,只需說一句「微信收藏可視化」,工具就會自動跑完全部流程。

二、核心功能詳解

2.1 數據提取:從加密 DB 到明文

微信 Mac 4.x 的收藏數據存儲在 SQLCipher 加密的 SQLite 數據庫中。wx-favorites-report 使用 frida 動態注入技術,hook 微信的 CCKeyDerivationPBKDF 函數,在運行時捕獲密鑰派生過程。

# 安装依赖
pip3 install frida frida-tools pycryptodome

# 准备微信签名副本(绕过 Hardened Runtime)
cp -R /Applications/WeChat.app ~/Desktop/WeChat.app
codesign --force --deep --sign - ~/Desktop/WeChat.app

解密參數爲 SQLCipher 4 標準:AES-256-CBC 加密、HMAC-SHA512 校驗、PBKDF2 256000 輪迭代。

2.2 統計儀表盤

報告首頁是一個數據總覽面板,展示四個核心指標:

  • 收藏總數:你一共收藏了多少條內容
  • 跨越天數:從第一條收藏到現在的時長
  • 日均收藏:平均每天收藏幾條
  • 來源數量:收藏內容來自多少個不同的來源

2.3 七大可視化圖表

圖表類型展示內容交互方式
月度趨勢按月統計收藏數量變化折線 + 面積圖
類型分佈文章/視頻/鏈接/圖片佔比甜甜圈圖
來源排行Top 15 收藏來源水平柱狀圖
活躍熱力圖星期 × 小時收藏頻率熱力矩陣
時段分佈一天中哪個時段最愛收藏雙柱狀圖
詞雲從標題和描述提取關鍵詞交互式詞雲
標籤雲微信收藏標籤分佈可點擊標籤

2.4 收藏瀏覽器

報告底部是一個功能完整的收藏瀏覽器,支持:

  • 按類型篩選(文章/視頻/鏈接/圖片)
  • 按標籤篩選
  • 全文搜索
  • 多種排序方式
  • 分頁瀏覽
  • 點擊卡片查看完整內容和原文鏈接

三、技術原理

3.1 微信數據庫結構

微信 Mac 4.x 的收藏數據存儲在 favorite.db 中,路徑爲:

~/Library/Containers/com.tencent.xinWeChat/Data/Documents/
  xwechat_files/<wxid>/db_storage/favorite/favorite.db

與 3.x 版本使用 FavItems + FavDataItem 雙表結構不同,4.x 改爲 fav_db_item 單表,內容字段是 XML 格式。

3.2 密鑰提取的 6 輪迭代

這是整個項目最難的部分。開發者經歷了 6 輪嘗試:

輪次方法結果
1C 內存掃描 x’hex’ 格式失敗:WeChat 4.x 不用此格式
2搜索原始 salt 字節失敗:誤匹配 ASCII 字符串
3HMAC 暴力驗證失敗:過濾條件跳過真正位置
4無過濾暴力搜索失敗:密鑰經 PBKDF2 派生後存儲
5DYLD hook / lldb失敗:macOS SIP 阻止
6frida + CCKeyDerivationPBKDF成功

最終方案通過 frida hook 系統級 PBKDF2 函數,在微信啓動時捕獲密鑰派生過程。

3.3 數據處理流程

加密 DB → frida 提取密钥 → PyCryptodome 解密 → SQLite 读取
→ XML 解析 → 统一 JSON → ECharts 渲染 → 单文件 HTML

四、安裝與部署

4.1 環境要求

條件說明
操作系統macOS(Apple Silicon 或 Intel)
微信版本Mac 4.x 已登錄
Python3.9+
可選Claude Code(一鍵執行)

4.2 手動安裝步驟

Step 1:安裝 Python 依賴

pip3 install frida frida-tools pycryptodome

Step 2:準備微信簽名副本

cp -R /Applications/WeChat.app ~/Desktop/WeChat.app
codesign --force --deep --sign - ~/Desktop/WeChat.app

Step 3:提取密鑰

killall WeChat 2>/dev/null; sleep 2
# 运行 frida hook 脚本
# 微信启动后:登录 → 打开「收藏」页面 → 等待 60 秒

Step 4:解密並生成報告

# 解析数据
python3 parse_favorites.py --input favorite_decrypted.db --output data.json

# 生成 HTML 报告
python3 generate_report.py --input data.json --output report.html

# 本地预览
python3 -m http.server 8765
# 浏览器打开 http://localhost:8765/report.html

4.3 Claude Code 一鍵執行

如果你安裝了 Claude Code,只需在對話中說:

微信收藏可视化

Claude 會自動完成密鑰提取、解密、解析、報告生成的全部流程。

五、實戰教程:生成你的第一份收藏報告

5.1 數據提取

運行 frida 腳本後,微信會重新啓動。此時你需要:

  1. 登錄微信(掃碼或確認)
  2. 點擊左側「收藏」標籤
  3. 等待 60 秒讓 frida 捕獲密鑰

密鑰會保存到 /tmp/wechat_frida_keys.log,通過 salt 匹配找到 favorite.db 對應的 enc_key。

5.2 數據庫解密

用 Python 解密:

from Crypto.Cipher import AES
import hashlib

# 从 frida 日志获取 enc_key 和 salt
enc_key = bytes.fromhex("your_enc_key_here")

# SQLCipher 4 参数
kdf_iter = 256000
page_size = 4096
reserve_size = 80  # IV(16) + HMAC(64)

# 逐页解密...

5.3 報告生成與自定義

python3 generate_report.py --input data.json --output report.html

生成的報告是一個單文件 HTML,所有 CSS 和 JavaScript 都內聯其中,可以直接雙擊打開,也可以上傳到任何靜態託管服務。

六、報告解讀:如何分析你的收藏數據

6.1 發現使用習慣

通過活躍熱力圖,你可以發現:

  • 你在工作日還是週末更愛收藏?
  • 一天中哪個時段是收藏高峯期?
  • 是否存在「深夜刷手機瘋狂收藏」的模式?

6.2 內容偏好分析

類型分佈圖揭示你的收藏偏好:

  • 如果文章佔比 80%+,說明你是「深度閱讀型」用戶
  • 如果視頻佔比高,說明你偏好「碎片化學習」
  • 如果鏈接佔比高,可能更多是「工具收藏」

6.3 來源質量評估

來源排行 Top 15 幫你識別:

  • 哪些公衆號/網站是你最常收藏的?
  • 這些來源的內容質量是否持續穩定?
  • 是否有值得取消關注或加入 RSS 訂閱的來源?

七、與其他微信數據工具對比

工具數據類型平臺可視化難度
wx-favorites-report收藏Mac⭐⭐⭐⭐⭐中
WeChatMsg聊天記錄Windows⭐⭐⭐中
PyWxDump聊天記錄+聯繫人Windows⭐⭐高
微信自帶收藏搜索收藏全平臺⭐低

wx-favorites-report 的獨特優勢在於:

  1. 專注收藏場景:不像聊天記錄工具那樣龐大複雜
  2. 可視化質量高:7 種專業圖表,遠超微信自帶的列表搜索
  3. 單文件輸出:無需安裝額外軟件即可查看
  4. Claude Code 集成:一句話完成全流程

如果你對微信聊天記錄也感興趣,可以看看我們之前的文章 PyWxDump 實測。

八、應用場景

8.1 個人數據管理

定期生成收藏報告,幫你:

  • 清理過期或無用的收藏
  • 發現被遺忘的優質內容
  • 建立個人知識庫的素材清單

8.2 內容整理

如果你是內容創作者,收藏報告可以:

  • 分析你關注的領域和話題
  • 發現內容靈感的來源規律
  • 爲選題提供數據支撐

8.3 使用習慣分析

從數據中反思自己的信息消費模式:

  • 是否「收藏即遺忘」?
  • 收藏行爲是否與焦慮相關?
  • 如何建立更有效的信息管理系統?

九、侷限性與注意事項

9.1 平臺限制

  • 僅支持 macOS:密鑰提取依賴 frida 和 macOS 的微信客戶端
  • 微信版本要求:目前適配 Mac 4.x,3.x 表結構不同
  • 需要微信已登錄:必須有一個正在使用的微信賬號

9.2 數據隱私

  • 所有數據處理都在本地完成,不會上傳到任何服務器
  • 報告 HTML 文件包含你的收藏數據,請勿公開分享
  • frida 運行期間會 hook 微信進程,建議完成後關閉簽名副本

9.3 已知限制

  • 圖片/視頻/文件的原始內容存在微信 CDN(加密格式),無法在報告中預覽
  • 文章縮略圖來自微信公衆號 CDN,查看報告時需要聯網
  • 每次微信更新後可能需要重新簽名桌面副本

十、FAQ

Q1: wx-favorites-report 安全嗎?會泄露我的微信數據嗎?

所有數據處理完全在本地完成,不會上傳到任何服務器。frida 只在本地 hook 微信進程提取密鑰,報告生成後是純本地 HTML 文件。但請注意保管好生成的報告文件,不要公開分享。

Q2: 支持 Windows 或手機端微信嗎?

目前僅支持 macOS 平臺的微信 Mac 4.x 客戶端。Windows 和手機端的加密機制不同,暫不支持。如果你需要 Windows 平臺的微信數據工具,可以參考 PyWxDump。

Q3: 微信更新後還能用嗎?

微信大版本更新可能改變數據庫結構或加密方式,屆時需要等待工具適配。小版本更新通常不影響使用,但每次更新後需要重新對桌面副本簽名。

Q4: 生成的報告可以分享嗎?

報告是單文件 HTML,可以離線查看。但由於包含你的個人收藏數據,建議僅自己使用,不要上傳到公開網站或分享給他人。

Q5: 沒有 Claude Code 也能用嗎?

可以。Claude Code 只是提供了一鍵執行的便利,手動按照文檔步驟操作同樣可以完成全部流程。核心腳本(parse_favorites.py 和 generate_report.py)是獨立的 Python 程序。

十一、總結

wx-favorites-report 是目前我見過的最完整的微信收藏可視化方案。它解決了「微信收藏數據無法導出和分析」這個痛點,從加密數據庫到交互式報告的全鏈路自動化做得相當成熟。

優點:

  • 全鏈路自動化,從解密到報告一鍵完成
  • 7 種可視化圖表,數據洞察豐富
  • 單文件 HTML 輸出,零依賴查看
  • Claude Code 集成,降低使用門檻

不足:

  • 僅支持 macOS,Windows/手機用戶無法使用
  • 密鑰提取過程有一定技術門檻
  • 圖片/視頻內容無法在報告中預覽

如果你是一個「重度收藏用戶」,想搞清楚自己到底收藏了什麼、收藏習慣如何,wx-favorites-report 值得一試。


希望這篇博客文章對您有所幫助!如果你對微信數據管理感興趣,還可以看看我們的 AI 工具評測合集,瞭解更多實用的數據分析和可視化工具。