android 7.0 root未root可以更换定位的位置吗?

1020. Android GPS定位欺骗(模拟定位)的3类途径4种方式 - 简书
1020. Android GPS定位欺骗(模拟定位)的3类途径4种方式
前段时间发布的手游PokemonGo相信大家都有耳闻,而因为这个游戏在国内的坐标遭到了封锁,很多科学游戏方法也陆续涌现。好不热闹。那其实,PokemonGo最初的版本,在大陆是可以通过简单的vpn+gps欺骗进行游戏的。不过很快地,在新的版本更新中就封锁了这一方式。
而对Android系统使用GPS欺骗,应用场景也绝不只是这一个游戏而已。所以我今天来简单介绍一下可使用的几种方式。
控制噪声的方式有三种:防止噪声产生,阻断噪声传播和防止噪声进入耳朵
相对应的,
修改GPS定位结果的三种途径: 编译时修改NLP结果,运行时修改LocationManager结果,从应用获取到的结果修改。
1. 编译时修改NLP结果
难度系数:五颗星建议:想都别想大概思路:修改nlp部分源码,重编系统
2. 运行时修改LocationManager结果
这个分两类:
一类: 使用android自带的调试api,模拟gps provider的结果。
LocationManager.setTestProviderLocation(Provider, Location);
优点:简单,无需root缺点:不稳定,特征明显,容易按特征嗅探到(有反作弊机制的游戏基本都能查出来),需要打开开发者的允许模拟位置选项
第二类: 使用xposed,传说中的android神器,用它对app_process进行注入。
有什么用呢,就是你可以放个钩子,英文名叫hook。这个钩子能知道你系统里的每个应用什么时候调用了哪个函数,还能修改对应的这个函数。说到这就懂了吧。比如你猜测对应app会使用LocationManager.getLastKnownLocation的结果。然后你用xposed把内存里的这个函数返回值改成 纬度N 39.832670° 东经 E116.460370°,然后调用这个函数的程序看到的记过就是你修改之后的结果。具体代码看这里吧(非本人repo,只是找了个简单易懂的demo)
优点:稳定,难以被反查缺点:需要root
3. 对想欺骗的app反编译,修改结果
该怎么做看标题就明白了。步骤就是
找到所有使用了定位结果的位置
这个方式的优缺点也很明显。优点: 无需root,稳定性强(前提是找准入口)缺点: 技术水平要求高。根据应用复杂程度、混淆、安全策略等不同,难度差异较大。难易程度包括很多内容,包括混淆部分、入口寻找、签名验证等。 我也不熟啊,感兴趣的同学请自行深入学习吧。
————————
3类4种欺骗方式,各位看官收好。
鸡汤爱好者,弹吉他的聋子,玩滑板的瘸子,写代码的智障。免 root 开启位置记录功能 - 少数派
请选择你要投稿的专栏
免 root 开启位置记录功能
0" v-cloak>
如果你需要开启 Google 地图的时间轴、使用 Google Fit 追踪日常活动或是利用 Google Now 推送与出行相关的信息卡片,那么你需要开启 Google 的位置记录功能。Google 地图的时间轴记录了我们的行程遗憾的是,大陆地区的用户并不能正常开启位置记录功能。所以长久以来,有相关需求的用户都只能通过、、 等需要 root 权限的应用来强制开启。除此之外,有没有一种不需要 root 就能开启位置记录功能的方法呢?其实是有的。在升级到 Android O 且 root 无果之后,我摸索出了一种非常讨巧的办法,特来与大家分享。让我们从上面所提到的这三款需要 root 权限的应用说起——、、,尽管它们有着不同的形式,但开启位置记录功能的方法却是殊途同归:伪装运营商。不管你插入的是大陆地区哪个运营商的 SIM 卡,这些应用都会将其伪装成美区运营商,然后骗过系统、开启位置记录。不管你插入的是大陆地区哪个运营商的 SIM 卡,这些应用都会将其伪装成美区运营商,然后骗过系统、开启位置记录。我们不妨将这句话进行拆分。首先,经常刷机的朋友肯定都知道,刷完机之后,在不插 SIM 卡的前提下开机,部署好网络环境,是可以暂时开启位置记录功能的。但这种方法在插入 SIM 卡之后就会失效。如果你要在主力机上开启位置记录,不插 SIM 卡这种方法显然是行不通的。转而看第二个关键词:「伪装运营商」——很遗憾,本文探讨的是如何在免 root 环境下开启位置记录,伪装运营商显然是很难通过非 root 手段做到的。因此我们的突破点就只剩下「骗过系统」这一条了。伪装运营商是为了骗过系统中的哪一部分呢?既然是位置历史纪录,答案当然是 Google Play 服务。所以免 root 开启位置记录功能的关键就在于骗过 Google Play 服务的运营商检测。说到这里,一些经验丰富的 Android 玩家可能就已经知道怎么做了:对于那些刚刷完机拔掉 SIM 卡暂时开启了位置记录功能的用户来说,前往「应用」设置界面,点击右上角的齿轮设置按钮,打开「应用权限管理」,找到「电话」权限并禁止 Google Play 服务获取该权限即可。对于一般用户而言,也可以试着在关闭了系统的定位开关之后,清除 Google Play 服务的数据,用同样的方法禁用掉 Google Play 服务的「电话」权限后,再尝试开启位置记录功能。利用系统自带的应用权限管理即可当然,有得必有失。通过这个方法我们屏蔽了 Google Play 服务的 SIM 卡运营商检测,开启了位置记录功能,但一些依赖 Google Play 服务的应用可能也会因此报错。无需理会 Google Keep 的报错信息比如 Google Keep,在禁用了 Google Pay 服务的「电话」权限之后会弹出通知要求重新开启这个权限。但如果你不是强迫症患者,大可以清除这类通知不管,即便没有「电话」这个权限,Google Keep 和 Google Play 服务也可以正常运行。
评论(${commentLength})
请勾选举报理由
${ item.text }
0" v-cloak>
${ related.released_at * 1000 | friendlyTime }
${related.summary}
${ related.likes_count }

我要回帖

更多关于 android 7.0 root 的文章

 

随机推荐