前段时间发布的手游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反编译,修改结果

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

步骤就是

反编译

找到所有使用了定位结果的位置

修改结果

重新打包

这个方式的优缺点也很明显。

优点: 无需root,稳定性强(前提是找准入口)

缺点: 技术水平要求高。根据应用复杂程度、混淆、安全策略等不同,难度差异较大。难易程度包括很多内容,包括混淆部分、入口寻找、签名验证等。 我也不熟啊,感兴趣的同学请自行深入学习吧。

————————

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

以上。

android 模拟gps坐标,1020. Android GPS定位欺骗(模拟定位)的3类途径4种方式相关推荐

  1. android touch事件坐标原点,Android – 捏缩放ontouch事件坐标

    我正在尝试获取我正在创建的 Android应用程序的画布坐标.它很有用,直到我添加代码以使用缩放焦点(以下两行): scalePoint.setX((int) detector.getFocusX() ...

  2. android 模拟电脑按键精灵,Android 模拟点击 按键精灵 ADB方案

    Android 模拟点击的方案 模拟MotionEvent ADB控制 Instrumentation 通过使用sendevent 这里我们只讨论ADB控制方案,因为这个方案可以点击本APP以外的东西 ...

  3. android模拟微信聊天功能,android仿微信聊天界面 语音录制功能

    本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI. 1先看效果图: 第一:chat.xml设计 android:layout_width="fill_parent" and ...

  4. android 屏幕中心坐标原点,Android 的坐标系及矩阵变换

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Android的坐标系 2D坐标系 android的2d坐标系如图所示,水平向右为X轴正方向,竖直向下为Y轴正方向,原点 ...

  5. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  6. android 模拟点击localinstrumentation,Android Instrumentation模拟鼠标点击事件

    看了几遍网上的博客一直没有 模拟出鼠标点击事件和按钮事件,后来抱着试试态度再重试的时候终于有所斩获.下面把具体的情况记录一下: 首先我们必须了解类 Instrumentation: Instrumen ...

  7. android 模拟来电广播,在Android模拟器上模拟来电

    最近项目要做一个控制来电显示的Android 应用 需要在Emulator上模拟来电 效果 方法如下: 1.单个电话 打开命令行cmd,输入telnet 回车. 然后输入 o localhost 55 ...

  8. android touch事件坐标原点,Android onTouch事件与手势操作

    触摸,手势操作已经很好的融入了我们的生活.那么Android开发中触摸事件要如何捕捉?如何处理?如何识别手势?事件的传递机制又是怎么样的?下面我们将通过一个小例子来进行这方面的学习. 先看效果图 如上 ...

  9. android 模拟点击home,Android launcher中模拟按home键的实现

    Android launcher中模拟按home键的实现 Intent mHomeIntent = new Intent(Intent.ACTION_MAIN); mHomeIntent.addCat ...

最新文章

  1. 计算机入域时域控用到的端口,AD域控制器使用端口的说明
  2. 深入理解PHP内核(四)概览-PHP脚本的执行
  3. 如何在Unity中播放影片
  4. c#的DateTime.Now函数详解
  5. 【全国动态】服务器列表
  6. c 汇编语言用标准函数代替,C与汇编的接口技术
  7. 【Kafka】UnsupportedVersionException: The broker does not support DESCRIBE_LOG_DIRS
  8. Android 图标上面添加提醒(二)使用开源UI类库 Viewbadger
  9. NOIP2000单词接龙[DFS]
  10. mysql 游戏背包_用sql实现背包问题
  11. C#获取当前路径的七种方法
  12. Gamma 矫正用于平衡光照不均匀
  13. 改bug过程中的新发现,重新认识String trim方法
  14. 对拷 使用scp命令在两台linux上对拷文件或者文件夹
  15. 复杂网络理论及其应用-基本概念
  16. Arcgis重采样或者裁剪的问题
  17. ccs加载out文件,TI CCS3.3 out文件转bin文件说明
  18. KYLO的Spring知识总结
  19. win2016开启ntp_Windows Server 2016-Windows 时间服务概览
  20. Log4j 日志配置及初始化

热门文章

  1. PHP获取当前页面的完整URL
  2. openstack虚拟机迁移live-migration中libvirt配置
  3. 几款硬盘接口的速度测试
  4. [转]Windows 性能监视器工具-perfmon
  5. Ubuntu上安装rvm
  6. 8-2 代码覆盖率和性能测试
  7. 不使用网线就无法将两台计算机连接成网络,不通过路由器将两台计算机连接到网络的方法不止一种-如何将两台计算机连接到局域网...
  8. js tostring 16 java_js中toString()和String()区别详解
  9. 计算机主机特点,计算机的五大特点是什么
  10. IO 模型 IO 多路复用