首页
社区
课程
招聘
模块解决pixel7的32位兼容问题
发表于: 2025-10-8 17:43 572

模块解决pixel7的32位兼容问题

2025-10-8 17:43
572

背景

前端时间入手了一台pixel7,但是发现pixel7只支持64位,遂搜索资料查看有无解决方法,发现一篇文章有讲到e10K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2B7j5i4u0$3K9i4y4%4i4K6u0W2j5$3!0E0i4K6u0r3i4K6y4r3M7q4)9K6c8o6p5#2z5o6M7`.

了解到pixel7实际支持32位但是未启用,所以其中主要的操作是修改build.prop配置文件来实现的。

作者选择魔改magisk的原因是模块的加载时机,magisk在注入init进程后才会加载module,但是KPM加载时机要更早,于是根据该作者的方法编写了KPM模块来适配,同时也是借由此机会尝试下AI辅助开发。

过程

直接选择把上文作者的代码投喂给了cursor,然后生成了第一版,make时产生了报错,这个交由了AI再进一步分析,他很轻便地就解决了这个报错。

然后编译了第一版的模块,装进手机后发现没有生效,查看日志明白是HOOK没有生效

cheetah:/ # dmesg | grep zygote32
[    0.121169] [+] KP D     name: kpm-pixel7-zygote32
[    0.121311] KP load kpm: kpm-pixel7-zygote32, rc: -2

再次跟进报错信息让AI分析

到这里其实原因就已经明了了,是filp_open、vfs_llseek、kernel_read此类内核API地址获取失败。

此处之前稍微阅读过kernelPatch的源码,了解过他有去获取内核API的方式,最终将kallsyms_lookup_name函数提示给AI去做了修正,再次编译后基本就无误了。

最终也是成功兼容了32位。

实际测试32位的apk后也确实ok

结言

其实笔者本人不管是对开发也好,Apatch的理解也好,都是一知半解,但是在结合AI的情况下也可以轻易地将简单想法变为现实,我觉得这相较于以往毫无疑问是一个重大的变化,也深深感慨如今AI发展速度之快。

相关模块也放在了github,希望可以给同样被pixel7此问题困扰到的人提供一个简单的解决方式。

57cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9N6h3!0K6K9i4c8#2i4K6u0r3M7r3W2^5k6h3H3%4i4K6u0V1P5Y4W2Y4L8%4c8W2x3K6u0Q4x3X3c8W2L8X3q4T1L8r3f1`.


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回