更新
项目地址
概述
前文通过分析Android 9源码,定位到Hook点,然后使用Xposed Hook,实现了Wifi热点IP的固定。
系统升级到Android 11后,发现源码有变化,插件不起作用了。于是再来操作一波。
Hook点
安卓10
android.net.ip.IpServer的getRandomWifiIPv4Address函数。
1 | private String getRandomWifiIPv4Address() |
安卓11
android.net.ip.IpServer的requestIpv4Address函数。
1 | private LinkAddress requestIpv4Address(s) { |
由于该函数还被用于其他方式的网络共享及更换前缀,所以需要判断网络类型(mInterfaceType == TETHERING_WIFI)和调用者(遍历堆栈查找configureIPv4),最后进行替换。