在2023年在安卓上安装Xposed + Magisk

大类
Android
技术标签
原理研究-Android
环境增强
优先级
Medium
开始日期
Nov 1, 2023
状态
Maintaining
Public
Public
最后更新
Nov 2, 2023

起因

  • 随身WiFi的Android 4.4.4需要去hook system framework来去除各种控制
 
 

安装Xposed

既然知道只能用原版Xposed,那就简单了。直接找Xposed Installer安装就可以了(吗?)

Xposed的所有网站均已关闭

Xposed安装需要根据机型来下载对应的app_process,所以没有这些下载站,那就根本没法安装Xposed。
Xposed这几个站目前是这样的(20231102):
  • dl-xda.xposed.info:关站,只留下一个声明
  • repo.xposed.info:down
 
搜索了一下xda,发现差不多就是2022年底的时候关闭的。
而且竟然完全没有一丁点的备份,且Internet Archive WaybackMachine上的内容实际上并不全。这实在是有点说不过去(至少应该像magisk那样,放到github吧。。)

使用旧版Xposed

还好,论坛里有人指出,旧版Xposed 2.6.1会自带app_process,不需要网络也可以安装。但是Xposed和Magisk共用时,如EdXposed文档里所说,需要让Xposed变为Systemless。
notion image
  • 下载好整个repo之后,按照说明,使用SD卡安装方法安装好Xposed后,再安装这个模块,即可完成安装
    • 我确认了,2.6.1带的app_process就是v58版本的,和这个repo里面的一样
    • 如果不放心也可以自己去/data/data/下面拿

修复旧版Xposed的linker warning

Xposed的app_process带着relocation,导致几乎所有进程启动时linker都会在stderr弹出warning,提示有性能与安全问题。
这导致一部分工具(如ARDC)无法正确解析命令输出,导致功能异常(无法显示屏幕)
解决方法是在上面的模块里面加上patch /system/bin/linker。
  • 搜索找到字符串
    • notion image
  • 找到引用
    • notion image
  • 把fprintf的BL patch成nop (Arm Thumb的nop是00 BF)
    • notion image
  • 保存patch

完整模块