5 Star 30 Fork 17

Chuck / WeChatFerry

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

WeChatFerry

一个玩微信的工具。更多介绍见:WeChatFerry: 一个玩微信的工具

免责声明【必读】

本工具仅供学习和技术研究使用,不得用于任何商业或非法行为,否则后果自负。

本工具的作者不对本工具的安全性、完整性、可靠性、有效性、正确性或适用性做任何明示或暗示的保证,也不对本工具的使用或滥用造成的任何直接或间接的损失、责任、索赔、要求或诉讼承担任何责任。

本工具的作者保留随时修改、更新、删除或终止本工具的权利,无需事先通知或承担任何义务。

本工具的使用者应遵守相关法律法规,尊重微信的版权和隐私,不得侵犯微信或其他第三方的合法权益,不得从事任何违法或不道德的行为。

本工具的使用者在下载、安装、运行或使用本工具时,即表示已阅读并同意本免责声明。如有异议,请立即停止使用本工具,并删除所有相关文件。

📖 Python 文档 📺 Python 视频教程 🙋 FAQ

👉 WeChatRobot🤖,一个基于 WeChatFerry 的 Python 机器人框架。

点击查看功能清单
  • 检查登录状态
  • 获取登录账号的 wxid
  • 获取消息类型
  • 获取所有联系人
  • 获取所有好友
  • 获取数据库
  • 获取某数据库下的表
  • 获取用户信息
  • 发送文本消息(可 @)
  • 发送图片
  • 发送文件
  • 允许接收消息
  • 停止接收消息
  • 执行 SQL 查询
  • 接受好友申请
  • 添加群成员
  • 删除群成员
  • 解密图片
  • 获取朋友圈消息
  • 保存图片
  • 保存语音
  • 发送卡片消息
  • 拍一拍群友
  • 邀请群成员
  • 图片 OCR
  • 转发消息
  • 撤回消息
  • 获取登录二维码
点击查看支持的客户端
  • Go
  • HTTP (Python, Go, Rust)
  • Java
  • Node.js
  • Python
  • Rust
碲矿 赞赏
后台回复 WCF 加群交流 如果你觉得有用

快速开始

Python

PyPi Downloads Documentation Status

  • 安装
pip install --upgrade wcferry

HTTP

wcfrust(基于 Rust)

开箱即用:快速开始

GoHttp(基于 Go)

参考 GoHttp README.MD

wcfhttp(基于 Python)

wcfhttp 不再维护,有需要可以使用 WcfRust 或者 GoHttp

PyPi Downloads Documentation Status

  • 安装
pip install --upgrade wcfhttp
  • 运行
# 查看版本
wcfhttp -v

# 查看帮助
wcfhttp -h

# 忽略新消息运行
wcfhttp

# 新消息转发到指定地址
wcfhttp --cb http://your_host:your_port/callback

其余客户端,可下载 最新发布的版本,根据技术栈,选择客户端,将相应 dllexe 文件放到对应位置。

Go

参考 Go README.MD

Java

参考 Java README.MD

Node.js

参考 Node.js README.MD

Rust

参考 Rust README.MD

一起开发

🚫 非开发用户不需要往下看。

安装开发环境

点击查看

安装 vcpkg

cd C:\Tools
git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat
  • 添加全局配置: 环境变量增加 vcpkg 所在路径(本文为:C:\Tools\vcpkg)。

安装相关组件

vcpkg install protobuf[zlib]:x86-windows-static
vcpkg install spdlog:x86-windows-static
vcpkg install nng:x86-windows-static
vcpkg install magic-enum:x86-windows-static
vcpkg integrate install

安装完毕后,需要配置 protoc 的环境变量,并确保在命令行下可用,protoc 的路径在 <vcpkg_install_path>\installed\x86-windows-static\tools\protobuf

安装 VS2019

安装 Python3

通过微软商店或者 python.org 自行下载均可,注意配置好环境变量,确保 python3 在命令行下可用

编译

使用 VS2019 打开工程,编译即可。

:如果遇到执行 protoc 时的 9009 错误,检查是否是 python3 环境有问题,或者 protoc 命令的环境变量配置不正确。

运行

运行 wcf.exe 启动

wcf.exe --help

项目结构

WeChatFerry
├── LICENSE                 # LICENSE
├── README.MD               # 说明
├── WeChatFerry
│   ├── WeChatFerry.sln     # VS2019 工程文件
│   ├── rpc                 # RPC 模块
│   ├── sdk                 # 注入及启动模块
│   ├── spy                 # 核心功能实现模块
│   └── wcf                 # 命令行版启动器
├── 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                    # 文档
点击查看

go

Go 客户端。

gohttp

HTTP 客户端,二进制发布无依赖

http

HTTP 客户端。

node

Node.js 客户端.

java

Java 客户端。

python

Python 客户端。

rpc

RPC 的通信部分和序列化 / 反序列化部分。

rust

Rust 客户端。

sdk

负责将 spy 注入微信进程,并启动 RPC 服务。

spy

间谍模块,注入到微信中,通过 RPC 做消息转发工作。

wcf

命令行版启动器,调用 sdkspy 注入微信。其他客户端可通过 RPC 连接到 spy 进行消息传递。默认监听的地址为 tcp://0.0.0.0:10086tcp://0.0.0.0:10087。一般情况不需要显式运行,各客户端自动调用。

版本更新

v39.0.14 (2024.02.18)

  • 修复获取登录二维码问题
点击查看更多

客户端越来越多了,版本号开始混乱,所以重新定义了版本号:w.x.y.z

其中:

  • w 是微信的大版本号,如 37 (3.7.a.a), 38 (3.8.a.a), 39 (3.9.a.a)
  • x 是适配的微信的小版本号,从 0 开始
  • yWeChatFerry 的版本,从 0 开始
  • z 是各客户端的版本,从 0 开始

v39.0.13 (2024.02.14)

  • 修复若干问题
  • 撤回消息
  • 获取登录二维码

v39.0.12 (2023.12.20)

  • 修复一个问题
  • 消息转发

v39.0.11 (2023.12.16)

  • 修复 PB 消息类型(可能会导致非 Python 客户端崩溃)
  • 修复日志错误
  • 移除非必要依赖

v39.0.10 (2023.12.08)

  • 代码优化
  • 发送卡片消息
  • 拍一拍群友
  • 邀请群成员
  • 图片 OCR

v39.0.7 (2023.12.03)

  • 保存语音

v39.0.6 (2023.11.26)

  • 修复下载图片退出问题

v39.0.5 (2023.11.22)

  • 修复收到某些文件崩溃问题

v39.0.4 (2023.11.21)

  • 下载图片、文件和视频

v39.0.3 (2023.09.28)

  • 修复登录账号昵称超长报错问题

v39.0.2 (2023.07.16)

  • 修复朋友圈消息 is_groupTrue 问题

v39.0.1 (2023.07.16)

  • 获取朋友圈消息

v39.0.0 (2023.07.14)

升级到 3.9.2.23

v37.1.25 (2023.05.07)

更新版本编码。

根据新版本编码规则:

  • WeChatFerryv3.7.0.30.25 应调整为:v37.1.25,因为此前曾适配过 3.7.0.29
  • Python 客户端 wcferryv3.7.0.30.25 应该调整为 v37.1.25.0
  • HTTP 客户端 wcfhttpv3.7.0.30.25 应该调整为 v37.1.25.0

v3.7.0.30.25 (2023.05.05)

  • 修复群消息判断错误
  • 修复名片添加好友问题
  • 修复获取数据库多余字符问题
  • 添加 Python 文档
  • Python 客户端发送图片支持网络路径

v3.7.0.30.24 (2023.04.19)

实现了一个功能。

v3.7.0.30.23 (2023.04.13)

  • 解密图片
  • 获取登录账号信息
  • 获取联系人备注

v3.7.0.30.22(2023.04.09)

将监听端口调整为可配置。

v3.7.0.30.21(2023.03.15)

  • 发送表情

v3.7.0.30.20(2023.03.12)

修复 wxid 获取问题。

v3.7.0.30.19(2023.03.06)

修复重复消息问题。

v3.7.0.30.18(2023.03.05)

修复添加好友问题。

v3.7.0.30.17(2023.03.05)

修复获取登录账号 wxid 问题。

v3.7.0.30.16(2023.03.04)

将错误码改成错误消息,方便调试。

v3.7.0.30.15(2023.03.01)

  • 发送 xml

v3.7.0.30.14(2023.02.28)

  • 添加群成员

v3.7.0.30.13(2023.02.27)

去除 gRPC 框架,自定义更轻量的 RPC 轮子 nnprc

v3.7.0.30.12(2023.01.20)

  • 更新 Python 客户端
  • 修改监听地址为 0.0.0.0:10086
  • 增加 Launcher,直接注入 spy

v3.7.0.30.11(2022.10.19)

更新 Python 客户端。

v3.7.0.30-gRPC-2(2022.10.18)

增加 Java 客户端。

v3.7.0.30-gRPC-1(2022.10.16)

将 RPC 框架切换为 gRPC!

v3.7.0.30-8(2022.09.25)

  • 获取登录账号微信 ID

v3.7.0.30-7(2022.09.24)

修复群聊有系统消息时会崩溃 bug。后续考虑把消息来源交还给客户端自己区别。

v3.7.0.30-6(2022.08.21)

  • 通过好友验证

v3.7.0.30-5(2022.08.20)

  • 执行 SQL 语句

v3.7.0.30-4(2022.08.20)

修复群消息 @人 功能。有几点注意事项:

  1. vAtWxids 是要 @wxid 清单,以 , 分隔。
  2. 只有群主才能 @所有人,非群主硬发 @所有人 会导致消息发不出去;@所有人 对应 vAtWxids"notify@all"
  3. 消息体里 @ 的数量必须与 vAtWxids 里的数量一致,否则消息能发出但 @ 功能失效。

v3.7.0.30-3(2022.08.20)

修复可重入 bug。

v3.7.0.30-2(2022.08.14)

优化 Hook 和 Inject 代码,实现可重入。

v3.7.0.30-1(2022.08.12)

适配微信 3.7.0.30

v3.7.0.29-3(2022.08.7)

  • 查询数据库,获取库、表。

v3.7.0.29-2(2022.08.7)

优化 RPC。

v3.7.0.29-1(2022.08.7)

适配微信 3.7.0.29

v3.3.0.115-3(2021.08.28)

适配微信 3.3.0.115,新增功能:

  • 获取所有联系人

v3.3.0.115-2(2021.08.22)

适配微信 3.3.0.115,新增功能:

  • 发送图片消息

v3.3.0.115-1(2021.08.22)

适配微信 3.3.0.115

v3.0.0.57-1(2021.02.12)

适配微信 3.0.0.57,支持功能:

  • 登录状态判断
  • 接收文本消息
  • 发送文本消息
MIT License Copyright (c) 2022 Changhua Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个玩微信(WeChat)的东东,可以做微信机器人。 展开 收起
C/C++ 等 6 种语言
MIT
取消

发行版 (3)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
C/C++
1
https://gitee.com/lch0821/WeChatFerry.git
git@gitee.com:lch0821/WeChatFerry.git
lch0821
WeChatFerry
WeChatFerry
master

搜索帮助

14c37bed 8189591 565d56ea 8189591