yichen-wecom-local-vault

Decrypt and export local WeCom 5.x macOS chat databases into a read-only private vault.

2.0k|274|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/mcncarl/yichen-skills --skill yichen-wecom-local-vault
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: yichen-wecom-local-vault
Source: https://github.com/mcncarl/yichen-skills/tree/main/yichen-wecom-local-vault
Command: npx skills add https://github.com/mcncarl/yichen-skills --skill yichen-wecom-local-vault

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pycryptodome, frida, and includes scripts (resource) and references (resource) components.

What problem does it solve?

WeCom (企业微信) stores chat history, contacts, and sessions in encrypted local databases on macOS, making it impossible to search, back up, or analyze your own enterprise chat data outside the app. This Skill decrypts those databases into private plaintext snapshots you can query and export.

Core Features & Use Cases

  • Read-only database discovery and decryption: Detect WeCom 5.x datasets, capture the 16-byte wxSQLite3 AES-128 key via Frida attach, signed-copy spawn, or read-only Mach VM memory scan, and create timestamped plaintext snapshots with WAL merging.
  • Query and export: List sessions and contacts, search message history by keyword, chat, or date range, and export conversations to Markdown or JSON files with 0600 permissions.
  • Strict safety boundaries: Never controls the WeCom app, never sends messages, never overwrites files, never prints raw keys, and requires explicit per-session user authorization before any key capture.
  • Use Case: You need to archive a project group chat before leaving a company. Run status to verify the dataset, capture the key with explicit authorization, decrypt a snapshot, then export the conversation to a private Markdown file.

Quick Start

Ask the assistant to check the status of your local WeCom databases and, after your explicit confirmation, decrypt a snapshot and export a chosen conversation to Markdown.

Frequently Asked Questions about yichen-wecom-local-vault

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I export WeCom chat history on macOS?

Run the vault CLI status command to detect your WeCom dataset, capture the database key with explicit authorization, then run decrypt to create a plaintext snapshot. Use the export command with a conversation name and date range to write Markdown or JSON output.

How is the WeCom 5.x local database encrypted?

WeCom 5.x uses wxSQLite3-style AES-128-CBC page encryption with a 16-byte raw key. Each page key is derived by MD5 over the raw key, page number, and an sAlT tag, with a page-number-driven IV, unlike personal WeChat's SQLCipher AES-256 format.

Does this tool work with personal WeChat databases?

No. Personal WeChat uses a different container, SQLCipher AES-256 encryption, and different table structures. This Skill only supports WeCom (企业微信) 5.x on macOS and is kept separate from the personal WeChat vault skill.

Why does WeCom key capture fail on macOS?

macOS may deny task_for_pid, blocking Frida from attaching to the running app. The fallback is spawning an ad-hoc re-signed copy of WeCom through Frida, or running a read-only Mach VM scan of DbKeyManager memory with sudo after explicit confirmation.

Can this tool read image, voice, or file messages?

No. Message content is extracted as UTF-8 or Protobuf text only. Images, voice, and file messages are output as type placeholders, and media attachments are not decrypted.

Does the tool modify or send anything through WeCom?

No. It never clicks, restarts, or re-signs the original app, never sends messages, and never writes back to the WeCom container. Source databases and WAL files are opened read-only, and every snapshot and export is a new file.