一个玩微信的工具。更多介绍见:WeChatFerry: 一个玩微信的工具。
本工具仅供学习和技术研究使用,不得用于任何商业或非法行为,否则后果自负。
本工具的作者不对本工具的安全性、完整性、可靠性、有效性、正确性或适用性做任何明示或暗示的保证,也不对本工具的使用或滥用造成的任何直接或间接的损失、责任、索赔、要求或诉讼承担任何责任。
本工具的作者保留随时修改、更新、删除或终止本工具的权利,无需事先通知或承担任何义务。
本工具的使用者应遵守相关法律法规,尊重微信的版权和隐私,不得侵犯微信或其他第三方的合法权益,不得从事任何违法或不道德的行为。
本工具的使用者在下载、安装、运行或使用本工具时,即表示已阅读并同意本免责声明。如有异议,请立即停止使用本工具,并删除所有相关文件。
Python 文档 | Python 视频教程 | ? FAQ |
---|
WeChatRobot?,一个基于 WeChatFerry 的 Python 机器人框架。
后台回复 WCF 加群交流 |
如果你觉得有用 |
pip install --upgrade wcferry
非开发用户不需要往下看。
开发用户:可以根据文档和错误提示,自行解决编译错误的人员。
cd C:Tools
git clone https://github.com/microsoft/vcpkg
.vcpkgbootstrap-vcpkg.bat
vcpkg
所在路径(本文为:C:Toolsvcpkg
):setx VCPKG_ROOT "C:/Tools/vcpkg" /M
vcpkg integrate install # 失败则说明未正确安装或者未正确配置环境变量
编译时会自动安装。但如果需要使用 protoc.exe
,则需要配置一下 protoc.exe
环境变量:<vcpkg_package_installed_path>x64-windows-staticx64-windows-statictoolsprotobuf
。
(本文为:C:ProjsWeChatFerryWeChatFerryvcpkg_installedx64-windows-staticx64-windows-statictoolsprotobuf
)
通过微软商店或者 python.org 自行下载均可(注意 python
版本不能太高,否则需要自行编译依赖,建议使用 python 3.10),然后配置好环境变量,确保 python
在命令行下可用。
安装依赖:
pip install grpcio-tools==1.48.2
使用 VS2019 打开工程,编译即可。编译成功后,在 WeChatFerryWeChatFerryOut
目录中会看到相应的 DLL 文件。
注:如果遇到执行 protoc
时的 9009 错误,检查是否是 python3 环境有问题,或者 protoc 命令的环境变量配置不正确。
import ctypes
# 加载 sdk.dll (需要绝对路径)
sdk = ctypes.cdll.LoadLibrary("C:/Projs/WeChatFerry/WeChatFerry/Out/sdk.dll")
# 初始化
sdk.WxInitSDK(False, 10086)
# 退出 SDK
sdk.WxDestroySDK()
# 注意关闭 Python 进程
DbgMsg("ListenMessage"); // 封装的 OutputDebugString
OutputDebugString(L"ListenMessagen");
MessageBox(NULL, L"ListenMessage", L"ListenMessage", 0);
WeChatFerry
├── LICENSE # LICENSE
├── README.MD # 说明
├── WeChatFerry
│ ├── WeChatFerry.sln # VS2019 工程文件
│ ├── com # 公共模块
│ ├── rpc # RPC 模块
│ ├── sdk # 注入及启动模块
│ ├── smc # Silk-Mp3 转换模块
│ └── spy # 核心功能实现模块
├── assets
│ ├── QR.jpeg # 二维码,测试用图
│ ├── TEQuant.jpg # 二维码,测试用图
│ └── demo.gif # 示例动图
├── clients
│ ├── go # Go 客户端
│ ├── gohttp # HTTP 客户端
│ ├── http # HTTP 客户端
│ ├── java # Java 客户端
│ ├── node # Node.js 客户端
│ ├── pyauto # 群友封装的客户端
│ ├── python # Python 客户端
│ └── rust # Rust 客户端
└── docs # 文档
客户端越来越多了,版本号开始混乱,所以重新定义了版本号:w.x.y.z
。
其中:
w
是微信的大版本号,如 37
(3.7.a.a), 38
(3.8.a.a), 39
(3.9.a.a)x
是适配的微信的小版本号,从 0 开始y
是 WeChatFerry
的版本,从 0 开始z
是各客户端的版本,从 0 开始3.9.11.25
3.9.10.27
3.9.10.19