macos 微信4及未来版本的防撤回, 现已支持多开, 自定义撤回提示预告14号上

Morax Cheng 2026-05-06 20:44 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出




项目地址:




这个项目主要解决新版 macOS 微信上"消息被撤回后无法查看"的问题。它参考了 WeChatTweak 的版本配置和 Mach-O 地址补丁思路,但只保留一个目标:防撤回


相比完整的 WeChatTweak,这个项目功能:



  • 只处理微信撤回逻辑

  • 支持 macOS 微信 4 及以上的部分版本

  • 支持静默模式:对方撤回后,原消息继续保留,不额外提示

  • 支持提示模式:保留"撤回了一条消息"的提示,同时不删除原消息

  • 支持 dry-run,安装前可以先确认补丁是否命中

  • 默认创建备份,方便恢复

  • 未知版本默认拒绝写入,避免误 patch


这个工具主要面向想继续使用新版 macOS 微信、但又需要防撤回能力的用户,也适合对 Mach-O patch、macOS 代码签名、微信客户端行为分析感兴趣的开发者参考。


项目基于 WeChatTweak 的思路开发,感谢 sunnyyoung/WeChatTweak 以及相关社区 fork 的探索。


欢迎试用、提 issue、补充更多版本配置, 未来会持续随着微信更新而更新。


仅供学习和研究使用,使用前建议先备份微信。


14号新功能预览, 现在暂时还有些小问题,在修在


最新回复 (19)
  • 野菜团 05-06 21:26
    1

    error: Could not find Package.swift in this directory or any of its parent directories.


    运行第一个版本查看的命令报这个

  • Morax Cheng 楼主 05-06 23:13
    2

    error: Could not find Package.swift in this directory or any of its parent directories.



    啊不会吧, 能把完整的终端截图一下吗, 发我看看

  • 野菜团 05-07 00:42
    3

    控制台报错就是这个,没有别的,然后命令也是复制你的

  • Morax Cheng 楼主 05-07 00:59
    4

    你有cd进去运行吗, 以及xcode命令行工具有没有装

  • 野菜团 05-07 01:00
    5

    没事了佬,我以为不用clone的,我是直接执行了;佬你在步骤那也加上git clone,不然像我这种非前端开发的完全不知道这玩意,只会按照readme无脑执行;问了ai才知道这命令是干啥的

  • 野菜团 05-07 01:03
    6

    但是有新的错误,还是版本检测那个命令,微信版本4.1.7


    error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    791 |
    792 | func leUInt64(at offset: Int) -> UInt64 {
    793 | UInt64(self[offset])
    | `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    794 | | (UInt64(self[offset + 1]) << 8)
    795 | | (UInt64(self[offset + 2]) << 16)

    /Users/xxx/project/wechat-antirecall/Sources/WeChatAntiRecall/main.swift:804:9: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    802 |
    803 | func beUInt64(at offset: Int) -> UInt64 {
    804 | (UInt64(self[offset]) << 56)
    | `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    805 | | (UInt64(self[offset + 1]) << 48)
    806 | | (UInt64(self[offset + 2]) << 40)```
  • Morax Cheng 楼主 05-07 01:16
    7

    更新一下, 到最新的4.19去, 我4.17没做适配, 4是从现在的最新版开始更新的

  • Morax Cheng 楼主 05-07 01:18
    8
  • 野菜团 05-07 01:30
    10

    一样的报错


    error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    791 |
    792 | func leUInt64(at offset: Int) -> UInt64 {
    793 | UInt64(self[offset])
    | `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    794 | | (UInt64(self[offset + 1]) << 8)
    795 | | (UInt64(self[offset + 2]) << 16)

    /Users/xxx/project/wechat-antirecall/Sources/WeChatAntiRecall/main.swift:804:9: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    802 |
    803 | func beUInt64(at offset: Int) -> UInt64 {
    804 | (UInt64(self[offset]) << 56)
    | `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
    805 | | (UInt64(self[offset + 1]) << 48)
    806 | | (UInt64(self[offset + 2]) << 40)
  • 野菜团 05-07 01:43
    11

    对了佬,你改下分类,改成开发调优会不会比较好;扬帆起航一般是推广自己的网站;我说咋浏览量这么低,不该啊,毕竟防撤回插件理论上应该很多佬感兴趣才对

  • Morax Cheng 楼主 05-07 01:48
    14

    我看看哈, 这应该是swift版本问题, 我现在去看看把这个改短一点, 不会超时

  • Morax Cheng 楼主 05-07 01:50
    15

    你现在pull一下再试试看行不行, 现在应该可以了?

  • 野菜团 05-07 02:00
    16

    刚刚那一步确实可以了,但是第三步就报下面的错



    WeChat: 4.1.9 (268575)
    Mode: patch with recall tip
    error: “wechat.dylib” couldn’t be copied because you don’t have permission to access “Resources”.
  • SendAPI 05-07 04:28
    17

    佬 会封号什么的吗 大号能上不 ^-^ 太喜欢了 点个赞!

  • Morax Cheng 楼主 05-07 11:14
    18

    不会封的, 这就是本地拦截, 没封号这说法

  • Morax Cheng 楼主 05-07 11:15
    19

    sudo一下, 好像没权限, 我更新一下readme

  • 野菜团 05-07 11:28
    20

    已经sudo了,也是报这一个错误

  • Morax Cheng 楼主 05-07 11:29
    21

    你看看我现在的更新后的readme, 先build, 然后sudo build好的那个, 你看看行不行

  • dagger14 05-07 11:34
    22

    昨天刷 wechattweak 的时候看到佬的作品了,本来还有点犹豫,今天直接安装了

* 帖子来源Linux.do
返回