① android模拟器模拟基站信息,并将wifi伪造成4g数据信息
许多国产软件都会使用基站进行定位,android模拟器是没有流量卡的,所以没有基站位置,但是我们可以通过Xposed来让模拟器拥有指定的基站信息。拥有基站信息的模拟器就可以在地图app中定位了,这种方式比通过hook修改经纬度要更加好一点,可能大多数软件都是基站来判断,而不是经纬度。
基站定位使用到如下概念
通过telephonyManager # getNetworkOperator()获取得到,它返回一个字符串长度为5的值,前3位就是MCC ,后两位为MNC
接下来就是我们Xposed出场的时候了,通过真机运行BaseStationInfoDemo项目(包含上面这些方法)得到真实数据信息。将数据记录并运行HookCellInfoDemo项目(修改了模拟器的基站信息),然后在模拟器上运行BaseStationInfoDemo项目,观察日志输出,并可以在模拟器上打卡网络地图等地图软件观察当前位置。
getCellLocationMethodHook的实现如下:族含棚
就是在beforeHookedMethod中直接通过setResult将新建的带有基站LAC和CID信息的GsmCellLocation 返回。
首先看下源码中NerworkInfo类的实现方式,发现其是一个实现了Parcelable接兆则口的序列化对象,它拥有多个成员变量,这里只需要修改6个,其他的在wifi或者4g网络的情况下的值不变
这样的话,最终模拟器的网络情况是有wifi图标,但是在指定包名内获取到的网老行络类型和NetworkInfo却是4g类型的数据,符合我们的业务需求。
附上源码地址: https://github.com/carrys17/CellInfo
里面的两个文件夹分别就是BaseStationInfoDemo项目和HookCellInfoDemo项目
② 手机怎么开启4G网络
4g手机怎么用4g网络
开启4G网络需要有三个条件:1、手机支持4G网络,2、手机卡支持4G网络,3、你附近有4G网络的基站。如果这三个条件任何一个达不到都上不了4G网络的。有的时候你明明是4G的手机卡和手机但是上网的时候显示的就是3G就是因为附近没有基站。那就给大家演示一下在手机上怎么把4G网络开启。
在手机上找到【设置】选项。点击进入。
进入手机全部设置点击【称动网络】。
移动网络设置界面下点击【网络模式】。
首选网络模式选择【4G/3G/2G自动选择】意思是如果你附近近有4G的网络优选使用4G。如果没有自动转为3G以此类推。。
4G手机突然不能上4G网络怎么办
首先,确保您的手机是4G手机,手机卡也是4G的,就是显示3G网络的。
打开手机,找到信息,编辑QXGPRS发送到10086。
发送后等待回应。
别急,您才完成一半哦,收到上图信息后,再次找到短信,编辑KTGPRS发送到10086。
发送成功,等待回应。
长按手机 开关 机键,点击重新启动,等待开机,一般就会成功显示4G了,如果上述步骤都操作了,还是显示3G就打10086网元同步。