WeChat 4.x デクリプター:キー抽出 & DB復号化

WeChat 4.x データベースデクリプター:wechat-decrypt完全ガイド

wechat-decrypt GitHubリポジトリ(1.9kスター、1.3kフォーク)は、Windows、macOS、LinuxでWeChat 4.xの暗号化されたローカルデータベースを解読する強力なオープンソースツールです。ライブWeChatプロセスのメモリをスキャンし、SQLCipher 4の暗号化キーを抽出して、メッセージ、連絡先、メディア、セッションを含む26以上のデータベースをすべて復号化します。

主な機能

  • クロスプラットフォーム対応: Windows(管理者権限)、Linux(root/CAP_SYS_PTRACE)、macOS(Mach VM API)
  • リアルタイム監視: SSEストリーミング付きWeb UI、100ms遅延、インライン画像プレビュー
  • 画像復号化: 従来のXOR、V1(固定キー)、V2(メモリからのAES-128-ECB)をサポート
  • 豊富なメディア解析: 絵文字、リンクカード、ファイル、ミニプログラム、位置情報共有
  • AI統合: Claude AIがチャット履歴をクエリするためのMCPサーバー、メッセージ検索
  • 隠しメッセージ復元: 切り詰められたセッション要約を検知し、完全なスレッドを復元

仕組み

WeChat 4.xはSQLCipher 4(AES-256-CBC + HMAC-SHA512、PBKDF2 256kイテレーション)を使用します。キーはメモリに x'<64hex_key><32hex_salt>' としてキャッシュされます。ツールは以下の手順で動作します:

  1. WeChatプロセスのメモリをキー パターンでスキャン
  2. ページ1のHMACでキーを検証
  3. すべての.dbファイル + WALチェックポイントを復号化
  4. mtimeポーリングで4MB WALファイルを処理

クイックスタート

# Windows
python main.py

# Linux
python3 main.py decrypt

自動検出 WeChatデータディレクトリを生成し、config.jsonを生成します。Web UIは http://localhost:5678 で起動します。

画像復号化(V2形式)

2025-08以降の.datファイル(AES-128-ECB + XOR)の場合:

# WeChatで2-3枚の画像を表示してから:
python find_image_key_monitor.py

AESキーはconfig.jsonに自動保存されます。監視Web UIでインラインプレビューを表示します。

Claude AI統合

pip install mcp
claude mcp add wechat -- python mcp_server.py

クエリツール: get_chat_history()search_messages()get_new_messages()

技術的ハイライト

  • WAL処理: mtimeベース検知、ソルト検証フレーム解析
  • スレッド安全性: キーごとのロックでDB破損を防止
  • パフォーマンス: ~70ms復号化 + 30msポーリング = 100ms E2E遅延
  • macOS Cスキャナー: Mach VM APIを使用したコンパイル済みバイナリ

データベース構造

データベース 内容
session.db チャットリスト + 要約
message_*.db 完全なチャット履歴
contact.db 連絡先
media_*.db メディアインデックス

⚠️ 法的通知

教育/研究用途のみ。自分のWeChatデータを復号化し、現地法を遵守してください。

このツールは、現代の暗号化メッセージングアプリの最先端リバースエンジニアリングを表します。セキュリティ研究者、データアナリスト、WeChat統合を構築する開発者に最適です。GitHubでフォーク、スター、貢献してください!

この記事を共有