修复被模块损毁的微信XWeb核心

查看 19|回复 0
作者:木子一堆金   

  
之前年幼无知,使用了 去你大爷的丨X5内核 模块
把微信的浏览器干掉了,最开始还挺高兴,觉得这个模块挺不错,还真有用。
但是随着使用,发现极个别公众号的一些页面无法正常登陆,这个通过备用机的小号倒也能凑合应对,最难受的是浮窗文章开启多窗口模式下,文章和聊天窗口来回切换过程中某个设定流程微信就会崩溃重启,非常烦人。于是我就想着是不是因为干掉了微信内置浏览器导致的,就逐步把模块停用、卸载,发现微信的浏览器还是没有恢复(经过一年多搞基经历,有很多模块停用并不能完全消除影响,个别模块删除了也没办法消除,今天这个就是代表[受虐滑稽]),瞬间我头都大了。
为了解决这个问题,我各种搜索各种查,没有在网上找到任何相关内容,于是我就调转方向,研究起这个模块了,最开始对模块两眼一抹黑,只能一个文件一个文件看,大概看明白了工作原理,就是遍历data下x5内核文件关键词,然后删除,通过不懈努力,发现了模块卸载脚本的一个逆天bug,让我们先看一眼安装脚本。
可以看到就是遍历data目录删除包含特定关键字的目录和文件,然后创建一个没有权限的空白文件占位,然后让我们再看看卸载脚本。
可以看到除了kx5这个操作文件的函数动作发生了改变,进行删除占位文件并且建立同名文件夹,其他遍历路径查找文件的代码并没有变动,这就带来了两个问题。
第一:之前被删除的不仅仅有文件夹,还有文件,看C变量代表的查找函数的-type后面是f,所以选择函数的kx5就不能简单粗暴的建立目录。
第二:安装脚本遍历过并替换之后的占位文件,除了C变量代表的查找函数可以找到,其他的查找函数都在找目录,根本无法找到安装脚本生成的占位文件,所以根本就是无效的操作。唯一可以找到自己之前创建的占位文件的C也会因为kx5简单粗暴的建立目录变相的另外一种占位[受虐滑稽]
发现这个蛋疼的bug之后,我着手手动实现它没有完成的正确的卸载逻辑,在微信的data中查找相关关键字,删除相关文件,但是没有效果,通过对比没有问题的微信文件发现缺少一个app_xwalk_XXXX(后面四个x为数字)文件夹,搬运相关文件夹之后也是无效,当时铩羽而归,暂时放弃。
今天通过play更新了微信之后,闲来无事又去微信文件下看了一下,发现这次那个缺少的文件夹名字变了,app_xwalk_5197,同时我发现微信版本信息最后一行有xweb的版本号,有问题的时候显示的是20230504 1 1(当时忘记截图了)
瞬间我就来精神了,重新复制了相关文件夹,重启微信发现还是没有变化,这个时候突然想到是不是有什么配置文件指向app_xwalk_5197,于是我灵机一动,用mt高级搜索文件中5197,发现搜出来几百个文件(mt的搜索结果没有记录很坑爹),看很多xml文件都在shared_prefs目录,然后我就做了一个大胆的决定,整个shared_prefs目录替成小号的。
重新启动微信之后xweb版本号已经正常显示,我非常激动,通过微信准备打开查看useragent的网站确定一下,结果页面无法打开,我更多了两边刷新微信界面崩溃,然后就变成了我小号的登录界面,让输入密码(shared_prefs文件夹是从小号哪里考过了的),重启几次微信也不行。
果断杀掉微信恢复文件,打开微信不再是登录小号的界面,变成了彻底重新登陆,怀着忐忑的心情登录之后数据一切安好,长处一口气。于是又开始搜索包含5197的文件(再次吐槽mt没有搜索记录),不过我这回学聪明了,没有等他搜索完,刚开始就停下来,发现有我想要的内容,shared_prefs目录下有四个文件,逐个查看发现应该只与xweb版本有关,于是备份替换。
这四个文件替换之后重启微信,微信xweb历时一年终于又起来了[偷看]。
非常高兴,但是,定睛一看发现微信的内核版本只到111.0.5563.116,我今天刚更新了系统WebView,我120.0.6099.43的内核用不上了[doge笑哭]
最后,希望以后不要再碰到这么让人糟心的模块了[害怕][害怕][害怕]





文件, 模块, 发现

您需要登录后才可以回帖 登录 | 立即注册

返回顶部