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)
FakeGPS demo

优点:稳定,难以被反查
缺点:需要root

3. 对想欺骗的app反编译,修改结果

该怎么做看标题就明白了。
步骤就是

  1. 反编译
  2. 找到所有使用了定位结果的位置
  3. 修改结果
  4. 重新打包

这个方式的优缺点也很明显。
优点: 无需root,稳定性强(前提是找准入口)
缺点: 技术水平要求高。根据应用复杂程度、混淆、安全策略等不同,难度差异较大。难易程度包括很多内容,包括混淆部分、入口寻找、签名验证等。 我也不熟啊,感兴趣的同学请自行深入学习吧。

————————

3类4种欺骗方式,各位看官收好。

以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 前段时间看到朋友圈有人在短时间内发了几条状态,定位都在不同国家的首都。问了一下,才知道用了一款能够模拟位置的...
    CaptainXero阅读 35,453评论 27 44
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 太阳你比月亮温柔 不要问我为什么 我说不出 完全是因为爱你 我才会如此盲目 不顾一切地为你辩护 2016-2-22
    郁衡子阅读 427评论 1 4
  • 第二批小罐。感觉已经陷入肉多了买罐,罐多了买肉的怪圈,但是这样画小罐也是很美腻的。步骤就省略了,哈哈你们知道的一个...
    妖妖z阅读 580评论 42 32
  • 最近因为需要,做了下哔哩哔哩动画这个应用。从数据、素材的抓取、分类、测试,到应用的基本功能实现,确实用了一段时间。...
    Rick_Liu阅读 1,712评论 1 11