macOS Monterey Beta 1 上微信 crash 的临时补丁

2021-06-09 17:16:27 +08:00
 gettoset

升级 macOS Monterey Beta 1 后发现当前线上和商店版本的微信一启动就 crash (非 M1 电脑)。研究了一下,编写了一个临时的 patch:

https://gist.github.com/GetToSet/75bb78d35ddbe64615f50eb6d133563d

原理:调整代码跳转绕开 crash 位置

注意

仅在非 M1 电脑上对线上版本 3.0.4 (18099) 进行了测试。 本人不对该补丁产生的任何问题负责,请谨慎使用。

3178 次点击
所在节点    macOS
15 条回复
jfdnet
2021-06-09 17:31:34 +08:00
M1 微信正常
neutron
2021-06-09 17:34:40 +08:00
M1 Air,Monterey
Version. 3.1.0 (18574) Beta 9


试了一下似乎不闪退了👍👍
gettoset
2021-06-09 17:35:07 +08:00
@jfdnet 我从朋友那边了解到 M1 微信可以正常启动运行,但一些操作例如输入框内按动方向键可能会 crash 。毕竟官方还没有适配,转译运行的不确定性可能更大一些。
Wetoria
2021-06-09 17:48:15 +08:00
MacBook Pro (16-inch, 2019)
12.0 Beta 版(21A5248p)

微信可以用了,看图,看视频目前都没问题,感谢楼主
Wetoria
2021-06-09 17:58:04 +08:00
@Wetoria 目前只能使用楼主的脚本打开微信才不会崩。小助手什么的也是可以用的
h4lt
2021-06-09 18:01:43 +08:00
./Wechat: replacing existing signature
sed: can't read s/\(\x89\x4D\xC4\x48\x8B\x5E\x08\x48\x85\xDB\)\x74/\1\xEB/g: No such file or directory
The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10661 "(null)" UserInfo={_LSLine=3746, _LSFunction=_LSOpenStuffCallLocal}

脚本报错了怎么解决呢
gettoset
2021-06-09 18:07:53 +08:00
@h4lt 应该是文件不存在,脚本假设微信被安装在 `/Applications/WeChat.app/` 位置。
hfl1995
2021-06-09 18:08:26 +08:00
感谢分享
h4lt
2021-06-09 18:10:19 +08:00
@gettoset #7
安装路径是没问题的。
前面的 md5sum 、备份以及 codesign 都已经通过。
sed 那一步报错了。
h4lt
2021-06-09 18:13:16 +08:00
@h4lt #9
找到问题了。我之前用 brew 安装了 gnu-sed 。
手动指定 /usr/bin/sed 即可。

感谢。
JarvisMa
2021-06-09 18:21:40 +08:00
不行啊,点朋友圈或者点开聊天中的一张图还是会 crash
lyhiving
2021-06-09 19:38:39 +08:00
MBP 15 还是崩
Leronron
2021-06-09 21:34:28 +08:00
升级完试试
DeaThNoTE
2021-06-09 22:16:07 +08:00
遇到这个 bug:sed: 1: "s/\(\x89\x4D\xC4\x48\x8 ...": RE error: illegal byte sequence
太惨了太惨了
moyaya
2021-06-10 15:23:51 +08:00
微信正常,但 sublime,sketch 之类的崩溃的好厉害,后面回退到旧版本,反而没有崩溃了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/782456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX