◆

Mac 微信防撤回 WeChatTweak 安装教程

2023-02-02 01:370

WeChatTweak 做了什么

Mac 版微信官方没有防撤回和多开这类功能,WeChatTweak 的做法是往微信进程里注入一个动态库,把相关的方法替换掉。撤回消息的原理是服务端下发一条撤回指令,客户端收到后把本地那条消息删掉;注入之后这个删除逻辑被拦下来,消息就留在聊天记录里了。多开同理,绕过客户端里的单实例检查。

这也解释了为什么安装需要 sudo:要改的是 /Applications 下微信 App 包内部的文件,普通用户权限动不了。另外还得关掉系统完整性保护相关的签名校验——注入会让 App 的代码签名失效,微信自己不校验签名所以能跑起来,但这一步之后 App 属于「被修改过」的状态。

风险要说清楚:这是第三方对客户端的非官方修改,微信可能检测到并限制账号,官方更新版本后注入也会失效需要重新安装。我自己用是能接受的,但别在重要的工作账号上折腾。

安装步骤

  • 首先安装

先用 Homebrew 装命令行工具本身。这一步只是把 wechattweak-cli 这个可执行文件装到系统里,还没有动微信:

brew install sunnyyoung/repo/wechattweak-cli
  • 再执行安装

这一步才真正把动态库注入到微信 App 里。需要 sudo 因为要写 /Applications/WeChat.app 内部的文件。同一条命令也用于更新,微信升级之后重跑一次即可:

sudo wechattweak-cli install   # 安装/更新
  • 退出微信,重新登录

注意必须完全退出微信(Command + Q 或者右键 Dock 图标选退出),只关窗口不行——注入的库要在进程启动时加载,进程没重启就不会生效。

重新登录后在微信的设置里能看到多出来的 Tweak 相关选项,如下图,防撤回、多开这些开关都在这里:

微信设置面板中 WeChatTweak 注入后新增的功能选项,包含防撤回、多开等开关
  • 卸载命令

不想用了执行卸载,它会把注入的文件从 App 包里清掉,恢复到原始状态。微信出现异常(闪退、消息收不到)时也建议先卸载排除是注入导致的:

sudo wechattweak-cli uninstall # 卸载

彻底移除的话再执行 brew uninstall wechattweak-cli 把命令行工具也删掉。

  • 微信历史版本下载

https://weixin.qq.com/updates?platform=ios&version=8.0.63

留这个链接是因为版本兼容问题。WeChatTweak 的注入依赖微信内部方法的具体实现,微信大版本更新后方法签名变了,注入就会失败或者装上了不生效。这种时候只能等 WeChatTweak 跟进适配,或者把微信退回到已知能用的旧版本。

需要提醒的是,退回旧版之前先关掉微信的自动更新,否则装完过一会儿又被升级上去了。另外微信对过旧的版本会强制要求升级才能登录,能退的余地有限。

遇到装了之后不生效,按这个顺序排查:先确认微信是完全退出后重启的;再确认 wechattweak-cli install 有没有报错(权限不足会直接失败);最后看微信版本是不是刚更新过。多数情况是前两条。

💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEMac 微信防撤回 WeChatTweak 安装教程加载中