{"adoption": {"forks": 551, "observed_at": "2026-08-28T04:06:07.778904+00:00", "stars": 2033}, "canonical_url": "https://ross.abutalabs.com/products/wechat-hook", "card": {"archived": false, "artifact_type": "library", "description": "微信 收发消息功能/ PC微信3.9.10.16 & 4.1.10.27接口 微信Hook 微信机器人 微信Hook源码 PC微信协议 PC微信协议算法", "domain": ["messaging-platforms", "reverse-engineering", "developer-tools"], "enriched": true, "function": ["http-server", "reverse-engineering", "chatbot", "sdk"], "health_score": 98, "homepage": null, "language": "C++", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["aixed/WeChat-Hook"], "name": "aixed/WeChat-Hook", "platform": ["windows", "cpp", "cli"], "pushed_at": "2026-08-20T03:23:06+00:00", "repo": "aixed/WeChat-Hook", "stars": 2033, "tags": ["wechat", "wechat-hook", "dll-injection", "version-dll-proxy", "wechat-bot", "http-api", "sqlite", "reverse-engineering", "windows-x64", "automation"], "topics": ["e", "wechat", "wechat-hook", "wechat-api"], "urls": [], "use_cases": ["build a wechat bot that sends messages programmatically", "hook pc wechat to send and receive messages via http api", "query wechat chat database from an external tool", "automate wechat message forwarding and xml message handling", "decode wechat encrypted images", "integrate wechat messaging into my own application"], "what_it_is": "A Windows x64 DLL (loaded as a version.dll proxy into WeChat PC) that hooks WeChat 3.9.10.16 / 4.1.10.27 and exposes a local HTTP API for sending text/image messages, forwarding XML messages, decoding images, reading profiles, and querying WeChat's in-process SQLite databases. It is written in C++ and built with Visual Studio/MSBuild.", "when_to_avoid": ["you need official, ToS-compliant WeChat integration (use WeChat Work or official APIs)", "you target macOS, Linux, or mobile WeChat clients", "you need a different WeChat version than the supported ones", "you cannot accept legal/account-ban risks of hooking a closed-source client"], "when_to_choose": ["you need programmatic control of a specific Windows WeChat PC version (3.9.10.16 or 4.1.10.27)", "you want a simple local HTTP interface to send/receive WeChat messages", "you need to read WeChat's SQLite data from within the process"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wechat-hook", "repo": "aixed/WeChat-Hook", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.778904+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:27.223790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91f664db3b273a90aec2aef7e6c1d39bec92b35be5db04ac5f0937d2cb506c7f", "fetched_at": "2026-08-28T04:06:07.778904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aixed/WeChat-Hook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 90}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1591, "days_push": 13, "days_rel": 65, "gap_med": 10, "n_releases_24m": 2}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}