
pc微信自动化工具 - wxauto4-plus
Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息,简单微信机器人
🚀 wxauto4-plus
wxauto4 / wxautox4 免授权封装 — 改一行 import,省几百块授权费
✨ 一行代码迁移,全功能解锁
# 旧代码 # 新代码(改 import 即可)
from wxauto4 import WeChat → from wxauto4_plus import WeChatw = WeChat() w = WeChat()
w.SendMsg("hello")
w.SendMsg("hello")
🎯 为什么用 wxauto4-plus?
问题 解决方案
❌ wxautox4(https://github.com/cluic/wxauto) 需要付费授权码,还得联网激活 ✅ 零成本,pip install 即用
❌ 授权文件会过期、绑机器,重装就失效 ✅ 内存级 patch,无磁盘痕迹,永不失效
❌ 怕改代码破坏兼容性,迁移成本高 ✅ 只改 import 路径,API 100% 一致
❌ 想用 wxauto4 但被 wxautox4 锁死了 ✅ 统一入口,底层自动适配
📦 安装
我用夸克网盘给你分享了「wxauto4_plus」,点击链接或复制整段内容,打开「夸克网盘APP」即可获取。
/~4bde3ZpiiS~:/
链接:https://pan.quark.cn/s/e512c944bb0f
提取码:Xg2A
# 解压后进入目录,一键安装
pip install .
说明:
本包以压缩包形式分发,解压后在目录内执行安装
wxautox4 会自动从 PyPI 安装,无需手动下载
⚡ 快速开始
from wxauto4_plus import WeChat
# 和 wxauto4 用法一模一样w = WeChat()w.ChatWith("文件传输助手")w.SendMsg("你好,wxauto4-plus!")
更多玩法
# 监听消息def callback(msg, chat):
print(f"{chat.who}: {msg.content}")
w = WeChat()w.AddListenChat("文件传输助手", callback)w.StartListening()w.KeepRunning()
# 朋友圈w = WeChat()moments = w.Moments()moments.Publish("今日份的快乐 ☀️")
🔬 原理
架构对比
wxauto4 wxautox4 wxauto4-plus (本包)
授权检查 ❌ 无 ✅ RSA 授权 ✅ 自动绕过
安装方式 pip install wxauto4 pip install wxautox4 pip install wxauto4-plus
API WeChat / Chat / ... WeChat / Chat / ... WeChat / Chat / ... (相同)
初始化 WeChat() WeChat() → 可能报授权错误 WeChat() → 永远成功
依赖关系 独立库 wxauto4 衍生版 封装 wxautox4,统一入口
工作流程
┌──────────────────────────────────────────────┐
│ wxauto4-plus (import 时自动) │
│ │
│ ① 导入 wxautox4 → 加载 .pyd 到内存 │
│ ② NOP wx.pyd 中的 3 处授权失败 jz │
│ ③ Hook useful.pyd 15 个授权函数 → 强制返回 True │
│ ④ 全量重导出 API,暴露统一入口 │
└──────────────────────┬───────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ 你的代码(零改动) │
│ from wxauto4_plus import WeChat │
│ w = WeChat() ← 永远成功 │
│ w.SendMsg("hello") │
└──────────────────────────────────────────────┘
内存级操作(不落盘、不留痕)
┌──────────────────────────────────────────┐
│ 当前 Python 进程 │
│ │
│ wx.pyd ──NOP jz──► 走成功路径 │
│ │ │
│ └──call──► useful.chlc/ghi │
│ │ │
│ └──入口 jmp──► 返回 True│
│ │
│ WeChat() ──► 真实 WeChatMainWnd (_api) │
└──────────────────────────────────────────┘
⚠️ 杀软告警:本包使用 VirtualProtect 修改可执行内存页属性后进行补丁写入,部分杀毒软件(如 360、火绒、Defender)可能拦截或告警。如遇拦截,请添加信任/白名单,或暂时关闭实时防护后重试。
✅ 功能覆盖
类别 全部功能 状态
🧩 核心 WeChat() 初始化 / ChatWith / SendMsg / SendFiles / SendAudio ✅
💬 消息 GetAllMessage / GetNewMessage / GetHistoryMessage / GetNextNewMessage ✅
👂 监听 AddListenChat / StartListening / StopListening / KeepRunning ✅
👥 好友 AddNewFriend / GetNewFriends / EditFriendInfo / GetFriendDetails ✅
👥 群聊 CreateGroup / SetGroupName / SetGroupRemark / AtAll / AddGroupMembers ✅
📸 朋友圈 Moments / PublishMoment / GetMoments / Like / Comment ✅
🧰 工具 GetSession / GetSubWindow / SwitchToChat / GetMyInfo / IsOnline ✅
📦 子模块 msgs / ui / uia / utils / param / exceptions / logger / languages ✅
📖 API 参考
💎 WeChat 类(主入口)
from wxauto4_plus import WeChat
w = WeChat(resize=True, debug=False, version='微信')
方法 参数 说明
ChatWith who, exact=False 打开聊天窗口
SendMsg msg, who=None, clear=True, at=None 发送消息
SendFiles filepath, who=None 发送文件
SendAudio filepath, duration=None 发送语音(4.1.9+ 客户端)
GetSession — 获取会话列表
GetAllMessage — 获取当前聊天所有消息
GetNewMessage — 获取新消息
GetNextNewMessage filter_mute=False, callback=None 遍历各窗口新消息
GetHistoryMessage n, callback=None 获取历史消息
AddListenChat nickname, callback 添加消息监听
StartListening / StopListening — 启停监听
Moments timeout=3 进入朋友圈
PublishMoment text, media_files=None, privacy_config=None 发朋友圈
GetNewFriends acceptable=True 获取好友申请列表
AddNewFriend keywords, addmsg=None, remark=None, tags=None 添加好友
EditFriendInfo add_tags=None, remove_tags=None, remark=None 修改好友备注标签
CreateGroup contacts 创建群聊
GetMyInfo — 获取个人信息
IsOnline — 是否在线
GetSubWindow nickname 获取子窗口实例
GetAllSubWindow — 获取所有子窗口
SwitchToChat / SwitchToContact — 切换页面
GetFriendDetails n=None 获取好友详情列表
GetAllRecentGroups — 获取最近群聊
SendUrlCard url, friends 发送链接卡片
SetGroupName / SetGroupRemark value 群名称/备注
SetGroupAnnouncement value 群公告
SetGroupMyNickname value 群昵称
KeepRunning — 保持运行(监听模式)
ShutDown — 杀掉微信进程
💬 Chat 类(子窗口)
chat = w.GetSubWindow("张三")chat.SendMsg("hello")
方法 说明
SendMsg / SendFiles / SendAudio 发消息/文件/语音
AtAll @所有人
GetAllMessage / GetNewMessage 获取消息
ChatInfo 获取聊天信息
Show / Close 显示/关闭
AddGroupMembers 添加群成员
SetGroupName / SetGroupRemark 群设置
SetGroupAnnouncement / SetGroupMyNickname 群公告/昵称
EditFriendInfo 编辑好友信息
GetDialog 获取对话框(wait=3)
📨 Message 类
for msg in w.GetAllMessage():
print(f"[{msg.type}] {msg.sender}: {msg.content}")
属性 类型 说明
type str 消息类型 (Text/Image/File/System...)
attr str 来源 (friend/group/self/official)
sender str 发送者昵称
content str 消息内容
id str UI ID(切换窗口后变化)
hash str 哈希(跨窗口稳定)
info Dict 详细消息信息
方法 说明
chat_info() 获取聊天窗口信息
roll_into_view() 滚动到可见区域
📸 MomentsWnd 类(朋友圈)
moments = w.Moments()moments.Publish("你好,朋友圈!")
方法 说明
GetMoments(next_page=False) 获取朋友圈内容
Refresh() 刷新
Publish(text, media_files=None, privacy_config=None) 发表
Close() 关闭
moment.content 文本内容
moment.Like(like=True) 点赞/取消
moment.Comment(text) 评论
🔧 WxParam 配置
from wxauto4_plus.param import WxParam
# 在 WeChat() 之前设置WxParam.LISTENER_EXCUTOR_WORKERS = 8WxParam.SEARCH_CHAT_TIMEOUT = 10WxParam.LISTEN_INTERVAL = 2WxParam.ENABLE_FILE_LOGGER = False
完整配置表 → WxParam 文档
📋 依赖与版本
项目 要求 原因
🐍 Python == 3.12 (Windows x64) 函数指针偏移 id(fn)+120 与 CPython 版本绑定
📦 wxautox4 == 40.1.15 RVA 偏移量与该版本的 .pyd 二进制绑定
📦 pywin32 / comtypes / psutil / requests / tenacity / colorama wxautox4 运行时依赖 自动安装
版本不匹配时会直接报错,不会静默失效。
📂 项目结构
wxauto4-plus/
├── pyproject.toml 📄 包元数据
├── README.md 📖 本文档
└── wxauto4_plus/ 📦 包本体
├── __init__.py 🚪 入口:导入 → bypass → 重导出
├── _bypass.py 🧠 核心:内存补丁引擎
├── param.py ⚙️ 配置参数
├── logger.py 📝 日志
├── exceptions.py ⚠️ 异常类
├── languages.py 🌐 多语言
├── msgs/ 💬 消息系统
├── ui/ 🖥️ UI 窗口组件
├── uia/ 🤖 UIA 自动化层
└── utils/ 🧰 工具模块
📄 许可