WeChatTweak 实战:macOS 微信多开与防撤回完整方案
【免费下载链接】WeChatTweakA command-line tool for tweaking WeChat - 首款微信 macOS 客户端撤回拦截与多开 🔨项目地址: https://gitcode.com/gh_mirrors/we/WeChatTweak
WeChatTweak 是一个面向 macOS 微信增强的命令行工具。它直接修改 WeChat.app 里的可执行文件,一次搞定消息防撤回、客户端多开、拦截自动更新三件事。下面从安装到原理,完整过一遍。
麻烦是怎么来的
重要消息刚发出去就被撤回了,聊天框里只剩一行"撤回了一条消息"。
工作号和个人号想并排放着,微信却只允许开一个窗口。
WeChatTweak 解决的就是这类麻烦。
改二进制和运行时 hook 的区别
大多数 macOS 微信增强工具靠运行时 hook:每次启动微信都注入一个动态库,注入失败就歇菜。
WeChatTweak 不走这条路,它直接改 WeChat.app 里的可执行文件。说白了,就是橡皮擦掉页面里的字,而不是贴一层透明膜盖住。
膜会掉,擦掉的字一直在。修改在安装时就固化,之后无论怎么启动微信,都不再有多余的运行时开销。
🚀 两条命令跑完补丁
brew install sunnyyoung/tap/wechattweak wechattweak patch跑一下,终端会依次打印检测到的微信版本、匹配上的配置、每个功能点的修补地址,最后停在 Done!。
不用碰任何配置,它会按当前版本自动下载对应方案。打开微信,防撤回、多开、更新拦截就都生效了。
三个值得折腾的进阶玩法
先确认版本受支持。
微信更新很勤,版本不在配置表里就白打:
wechattweak versions会列出当前版本和全部受支持版本,对不上就等等,别硬来。
微信没装在 /Applications?
用-a指定 App 路径,一行搞定:
wechattweak patch -a /你的路径/WeChat.app配置想自己管。
用 WeChatTweak 的-c参数指向本地 config.json。配置是一个 JSON 数组,每个版本带一个targets字段,只保留你需要的identifier即可,比如只要多开,留下multiInstance那一条:
wechattweak patch -c ./my-config.json🔍 Mach-O 修补到底做了什么
过程全部发生在文件层。Patcher.swift 读取微信的 Mach-O 头,按 config.json 里的地址找到对应功能,用几个字节覆盖原指令。
- 解析 Mach-O 头,判断架构
- 遍历 LC_SEGMENT_64,定位目标地址所在段
- 把虚拟地址换算成文件偏移
- 写入预编译好的指令字节
写完后自动用codesign重签名,保证 App 还能正常启动。
🚫 改二进制前别做的三件事
- 不备份就别动手。先
cp一份 WeChat.app 再打补丁,二进制被覆写后没有后悔药。 - 版本对不上就别硬跑。当前版本不在支持列表里就停手,地址可能已经指向别的函数。
- 大版本更新后别急。微信刚升完大版本,先等配置跟上,别拿自己的聊天记录当试验品。
WeChatTweak 改二进制,比写 hook 重,但比它稳。想让 macOS 微信增强长期稳定地跑着,这是最务实的一条路。
【免费下载链接】WeChatTweakA command-line tool for tweaking WeChat - 首款微信 macOS 客户端撤回拦截与多开 🔨项目地址: https://gitcode.com/gh_mirrors/we/WeChatTweak
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考