XhyEax/SoftApHelper

模块无法固定usb0

Closed this issue · 22 comments

手机:天翼1号2020
cpu:紫光展锐 虎贲T7510
问题:无法固定USB0 ip,别的设备也无法连接成功
EdXposed_Verbose_20230202_091147.txt
ifconfig.txt

找不到目标类,Wifi应该也不能固定吧。

使用MT管理器,在/system文件夹下,高级搜索,搜索文件内容:getRandomWifiIPv4Address

然后把搜索结果发一下。

找不到目标类,Wifi应该也不能固定吧。

使用MT管理器,在/系统文件夹下,高级搜索,搜索文件内容:getRandomWifiIPv4Address

然后把搜索结果发布一下。

搜索无结果
热点都是固定了

使用的是all版本吗

使用的是所有版本吗

安卓9的usb0 IP,是不是本身就是固定的

安卓9的usb0 IP,是不是本身就是固定的

我这台是固定192.168.42.xx

重启后也固定为这个ip?

重启动后也固定为这个ip?


我没用模块也是这个
用的模块也是这个,但连不上了

这个模块功能就是把随机IP变成固定的。

那你的需求是什么?
usb0本身就是固定的。是想把它改成另一个固定的43.1?
还是说想解决开启模块后,无法连接的问题。

这个模块功能就是把随机IP变成固定的。

那你的需求是什么? usb0本身就是固定的。是想把它改成另一个固定的43.1? 还是说想解决开启模块后,无法连接的问题。

固定IP和无法连接
现在ip随机,USB想打开面板有点麻烦

根据系统源码,usb热点IP本身就是固定在192.168.42.129的。如果你手机上是随机的,说明厂商魔改了系统源码。

TetherInterfaceStateMachine.java#207

if (mInterfaceType == ConnectivityManager.TETHERING_USB) {
	ipAsString = USB_NEAR_IFACE_ADDR;
	prefixLen = USB_PREFIX_LENGTH;
} else if (mInterfaceType == ConnectivityManager.TETHERING_WIFI) {
	ipAsString = getRandomWifiIPv4Address();
	prefixLen = WIFI_HOST_IFACE_PREFIX_LENGTH;
}

根据系统源码,usb热点IP本身就是固定在192.168.42.129的。如果你手机上是随机的,说明厂商魔改了系统源码。

TetherInterfaceStateMachine.java#207

if (mInterfaceType == ConnectivityManager.TETHERING_USB) {
	ipAsString = USB_NEAR_IFACE_ADDR;
	prefixLen = USB_PREFIX_LENGTH;
} else if (mInterfaceType == ConnectivityManager.TETHERING_WIFI) {
	ipAsString = getRandomWifiIPv4Address();
	prefixLen = WIFI_HOST_IFACE_PREFIX_LENGTH;
}

我这破手机什么都不开源,看来无解了,我继续用热点吧

由此就需要你提供魔改后的services代码。但是你又说搜不到。

是arm64的吗?

是arm64的吗?

用网盘上传一下/system/framework/oat/arm64/services.vdex

不开模块。

用网盘上传一下/system/framework/oat/arm64/services.vdex

https://app-520.lanzoum.com/iwUBV0mnio5i

配置ip的代码就是官方的源码,usb热点ip固定为192.168.42.129

Hook点 getRandomWifiIPv4Address,也只有wifi热点调用。

可能是别的地方覆盖了这个配置。

如果只有这个文件调用,usb热点ip就应该固定为192.168.42.129,并且模块是不影响usb热点连接情况的。

如果只有这个文件调用,usb热点ip就应该固定为192.168.42.129,而模块是不影响usb热点连接情况的。

既然wifi热点是可用的,那就只能用wifi热点了。