Reverse-engineering WeChat to build a robot army
A C++ DLL injection framework that turns the desktop WeChat client into a programmable bot, with clients in nine languages.

What it does
WeChatFerry is a Windows DLL that hooks into the desktop WeChat client via injection, exposing internal functions over RPC. It lets you send and receive messages, manage contacts, query databases, download media, and handle friend requests — all programmatically. The core ships as a C++ project built in VS2019, with a sprawling ecosystem of third-party clients (Python, Go, Rust, Java, Node.js, C#, HTTP) that wrap the DLL for easier use.
The interesting bit
The project version numbers encode WeChat compatibility: 39.5.2 means WeChat 3.9.x, patch level 5, WeChatFerry revision 2. This is maintenance as archaeology — every WeChat update risks breaking the hook offsets, so the version scheme tracks how deep the spelunking goes. The “spy” module in the source tree is doing the actual memory patching.
Key highlights
- Supports 20+ operations including encrypted image decryption, voice message handling, and XML/卡片 message sending
- Multi-language client ecosystem: Python (official), Go, Rust, Java, Node.js, C#, HTTP, plus Docker images
- Version-locked to specific WeChat releases (currently 3.9.12.51); breaks when WeChat updates
- Ships with Silk-to-MP3 audio conversion (
smcmodule) - Includes a disclaimer warning users to read it — always a good sign with reverse-engineering tools
Caveats
- Windows-only, requires VS2019 and vcpkg to build from source
- Tight coupling to WeChat versions means constant chasing; the changelog is mostly “适配 [version]” and bug fixes
- No official macOS or Linux support; Docker solutions appear to be Windows containers or remote bridges
Verdict
Worth a look if you need to automate WeChat and can tolerate the fragility of client-side hooks. Skip it if you want official APIs, cross-platform support, or a solution that won’t break next Tuesday when WeChat auto-updates.
Frequently asked
- What is lich0821/WeChatFerry?
- A C++ DLL injection framework that turns the desktop WeChat client into a programmable bot, with clients in nine languages.
- Is WeChatFerry open source?
- Yes — lich0821/WeChatFerry is open source, released under the MIT license.
- What language is WeChatFerry written in?
- lich0821/WeChatFerry is primarily written in C++.
- How popular is WeChatFerry?
- lich0821/WeChatFerry has 6.8k stars on GitHub.
- Where can I find WeChatFerry?
- lich0821/WeChatFerry is on GitHub at https://github.com/lich0821/WeChatFerry.