zhuyansen/wx-favorites-report

微信收藏可视化 Claude Code Skill — 从加密 DB 到交互式 HTML 报告的端到端管线

What it solves

WeChat on Mac stores your favorites in an encrypted local database, so you cannot easily view or analyze them outside the app. This project extracts that data and produces a rich, self-contained HTML report with charts and filters, letting you explore your saved items without relying on the WeChat interface.

How it works

The process runs on macOS and requires a logged-in WeChat 4.x. It uses several steps:

  1. Extract the database encryption key by hooking into WeChat’s PBKDF2 key-derivation function with the Frida tool.
  2. Locate and decrypt the favorite database file using the extracted key with SQLCipher-compatible parameters (AES-256-CBC, HMAC-SHA512, PBKDF2 with 256,000 rounds).
  3. Parse the decrypted SQLite data and its embedded XML content into a unified JSON structure.
  4. Generate a single-file HTML report using ECharts for visualizations, including dashboards, trend lines, distribution charts, word clouds, and a filterable browsing area.

A recommended path is to invoke it via Claude Code, which automates the whole pipeline with a single command. Manual step-by-step scripts are also provided.

Who it’s for

People who use WeChat on Mac, have many favorites, and want to see patterns, counts, trends, or simply browse their saved items in a more flexible, offline-ready way. It suits users comfortable with running Python scripts and command-line tools, or those who can leverage Claude Code to handle the technical steps.

Highlights

  • Interactive report with statistical cards, monthly trends, type distribution, top sources, activity heatmap, word cloud, and tag cloud
  • Favorite browsing with filtering by type or tag, full-text search, sorting, and pagination
  • Extracts data directly from WeChat’s encrypted local database (macOS only)
  • Uses Frida to hook the PBKDF2 function for key extraction, avoiding manual reverse engineering
  • Handles WeChat 4.x’s changed table structure and non-uniform XML field names
  • Produces a single-file HTML report with embedded dependencies, viewable in any browser
  • Includes demo data generator for testing without real personal data

Related

  • Project
  • Project
  • Project
  • Project