今天跟大家分享一个生活小助手,关于如何查看微信中已撤回的消息,满足一下技术人的好奇心。这个方法源自逆向工程大神的分享,功能强大。需要说明的是,这个方法主要针对macOS用户,而且据我个人使用经验,用了好几年也没出过什么问题。
效果预览
下图直观展示了效果:手机端显示消息已撤回,但在Mac电脑上,被撤回的内容依然清晰可见。

插件安装与使用
整个过程基于一个名为 WeChatTweak 的开源项目。作为macOS用户,我们通常使用 Homebrew 包管理器来安装和管理软件,这能省去很多麻烦。
第一步:安装Homebrew(如果尚未安装)
如果你还没安装Homebrew,可以通过以下官方命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装过程注意:
- 输入密码:终端会提示输入Mac登录密码,输入时屏幕无显示是正常的,输完按回车即可。
- 耐心等待:脚本会自动下载安装,可能需要几分钟。
- 配置环境变量:安装完成后,根据你的Mac芯片类型,在终端执行相应的命令来配置环境变量,以便系统能识别
brew 命令。
- Apple Silicon (M1/M2/M3/M4) 芯片:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Intel 芯片:
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
- 验证安装:最后运行
brew --version,如果看到类似 Homebrew 4.x.x 的版本号,说明安装成功。
第二步:安装与使用WeChatTweak
通过Homebrew安装WeChatTweak非常简单,只需几条命令:
# 安装
brew install sunnyyoung/tap/wechattweak
# 更新 (如需)
brew upgrade wechattweak
# 执行补丁(关键步骤)
wechattweak patch
# 查看所有支持的微信版本
wechattweak versions
执行补丁后,重启你的Mac版微信,防撤回功能就生效了。
常见问题与解决方案
在执行上述命令时,你可能会遇到一些权限问题,以下是解决方法。
1. 命令权限问题
如果在执行 wechattweak patch 时遇到权限被拒绝的提示,最简单的方法是在命令前加上 sudo:
sudo wechattweak patch
2. Error: You don’t have permission to save the file “WeChat”...
如果出现此类错误,说明系统权限管理(如Gatekeeper或SIP)阻止了修改。请按以下步骤操作:
-
重新授予磁盘访问权限:
- 打开 系统设置 > 隐私与安全性 > 完全磁盘访问权限。
- 在右侧列表中找到 微信 (WeChat) 和 终端 (Terminal)。
- 先移除:分别点击它们,点击下方的减号
- 按钮移除。
- 再重新添加:点击加号
+ 按钮。
- 从“应用程序”中添加 微信 (WeChat),并确保勾选。
- 从“应用程序 > 实用工具”中添加 终端 (Terminal),同样确保勾选。
-
重启系统:重启Mac以清除旧的权限缓存。
-
再次尝试打补丁:重启后,重新运行 sudo wechattweak patch。
备选方案(终极手段)
如果以上步骤仍无法解决问题,可以尝试在终端执行以下命令,直接修复文件归属和权限:
# 1. 修复文件归属:确保 WeChat 属于 root 用户和 wheel 组
sudo chown root:wheel /Applications/WeChat.app/Contents/MacOS/WeChat
# 2. 修复文件权限:赋予文件正确的权限(755 表示所有者可读写执行,其他人可读执行)
sudo chmod 755 /Applications/WeChat.app/Contents/MacOS/WeChat
# 3. 完成修复后,再次尝试执行补丁命令
sudo wechattweak patch
执行成功后,终端会显示“Done!”,如下图所示:

项目与原理
- 项目地址:你可以在 GitHub 上找到这个开源项目,查看最新版本和详细文档。
- 技术原理:如果你对实现原理感兴趣,可以阅读作者的博客文章,其中详细解释了如何通过逆向工程实现对微信消息撤回功能的拦截。这类 逆向工程 实践对于理解软件内部机制很有帮助,相关的讨论和技术分享也可以在 云栈社区 的安全与逆向板块找到。
最后几点说明
- 版本支持:根据测试,该方法支持当前(撰写时)最新的微信版本。
- 风险自担:本文仅作技术分享与学习交流之用,请合理使用,不对任何潜在风险负责。
- 仅限macOS:该方法主要适用于macOS平台。
希望这个小技巧能帮你解决一些好奇时刻。如果你在安装过程中遇到其他网络或系统层面的问题,或许能在 云栈社区 的网络与系统板块找到更多启发和解决方案。
|