diff --git a/README.md b/README.md index 6779e3a..39db2b2 100644 --- a/README.md +++ b/README.md @@ -77,16 +77,6 @@ cat /tmp/wechat_msg_cache.tsv # 消息缓存 --- -## 微信版本更新后 - -微信支持动态更新,更新后 build 号变化可能导致 hook 失效。 - -脚本会自动应对: - -- **特征码动态搜索**:硬编码地址失效时,自动扫描 `wechat.dylib` 的 `__TEXT` 段查找对应函数。微信小版本更新(仅函数地址改变、实现不变)的情况下,**自动适配,无需任何操作**。 -- **大版本校验放宽**:仅校验 `CFBundleShortVersionString` 是否为 `4.1.x`,不依赖精确 build 号。 -- **失败提示**:如果特征码也匹配不到(微信改了实现),系统通知会弹出提示用户更新脚本。 - ### 排查步骤 如果防撤回功能不生效: @@ -110,14 +100,6 @@ cat /tmp/wechat_msg_cache.tsv # 消息缓存 - **monitor 运行时微信会被 lldb attach**:性能影响极小(每条消息触发约 1ms 断点回调)。如果不需要原文功能,不安装 monitor 即可。 -## 风险说明 - -1. 微信每次升级后,地址、结构体字段、运行时行为都可能变化,补丁可能立即失效。脚本内置特征码自动寻址机制可应对函数地址变化,但无法应对函数实现/消息对象结构的根本变化。 - -2. 本项目仅承诺仓库内标明的已验证版本(4.1.9 / 4.1.10);4.1.x 系列其他 build 号通过运行时自动寻址尽力支持,但不保证 100% 兼容。 - -3. 本项目仅用于技术研究与兼容性分析,请自行承担使用风险。 - --- ## 旧版本 @@ -142,7 +124,9 @@ cat /tmp/wechat_msg_cache.tsv # 消息缓存 - **卸载**:将 `Uninstall.sh` 拖到终端回车。 - **自定义前缀**:安装成功后重启微信,屏幕左上角微信菜单栏有个小助手菜单,修改后点击关闭即可。 -### 常见问题 +--- + +## 常见问题 1. **无法打开 "insert_dylib",因为无法验证开发者** @@ -156,9 +140,14 @@ cat /tmp/wechat_msg_cache.tsv # 消息缓存 安装 Rosetta,在微信属性中勾选"使用 Rosetta 打开"。(感谢 [Mercury2699](https://github.com/Mercury2699)、[bolosea](https://github.com/bolosea)) ---- +4. **微信版本号没变,但防撤回失效** -## 注意 + 微信存在动态更新机制,版本号不变,但方法地址会有变化,重新运行`./patch.sh`即可 -- 微信更新后需重新运行 `./patch.sh` -- 仅供学习研究用途 +## 风险说明 + +1. 微信每次升级后,地址、结构体字段、运行时行为都可能变化,补丁可能立即失效。脚本内置特征码自动寻址机制可应对函数地址变化,但无法应对函数实现/消息对象结构的根本变化。 + +2. 本项目仅承诺仓库内标明的已验证版本(4.1.9 / 4.1.10);4.1.x 系列其他 build 号通过运行时自动寻址尽力支持,但不保证 100% 兼容。 + +3. 本项目仅用于技术研究与兼容性分析,请自行承担使用风险。