※ 引述《potter1529 (宋代才女唱元曲)》之铭言:
: 关于飞人、模拟器以及伪造GPS的问题
: 想单纯从现有技术上与各位讨论。
: 我觉得无论官方用任何方法,都是完全无法防止玩家作弊而成为领先族群的。
: Pokemon Go(以下简称PmGo)的运作模式,是从个人手持的mobile上获取GPS资讯进行的,
: 但GPS的讯号处理完全出自手机的的GPS接收器,
: PmGo最后得到的只是接收器回传的结果而已,也就是mobile的所处位置。
: 意即PmGo是完全没有接触到最重要的位置讯号的,无法验证信息的真实性,
: 甚至连回传GPS讯号的装置,PmGo都没有认证的能力,
: 只能无条件的使用这个"由不知真假的装置所给予的不知真实性的GPS讯号"
: 因为PmGo无法一一去检定全球每一个人所使用的手机装置是否如规格,
: 连最基本的mobile模拟器都没有能力检测出来。
: 用电脑模拟手机装置、模拟GPS资讯,Server端有何能力验证到底是电脑还是手机?
: 我觉得这是当前技术的限制,
我在美商做定位相关技术
虽然是分析定位结果的部门不是定位部门
不过身为定位资料的下家
对现在的定位技术略懂
Pokemon Go 的开发者是从 Google Map 出来的
所以我们先假设他是用 Google Map API
就 Google 里面我所知道有使用的三种的定位方法来探讨
1. GPS (卫星讯号反推位置)
优点: 室外定位精准 不用消耗Google自身运算资源 到哪里都可以用
缺点: 耗电 室内精度偏移严重
2. WIFI (利用周围听到的WIFI位置 来反推使用者位置)
优点: 定位精准 不怎么耗电
缺点: 非所有地点适用 需消耗Google运算资源来查询WIFI位置表
3. Antenna Signalling (利用周围听到的电信业者基地台位置 来反推)
优点: 不怎么耗电 多数地点适用(手机有讯号就可以用)
缺点: 定位精度普通(100M左右) 需消耗Google运算资源查询基站位置表
在这三个方法里面Google的优先级是
1>2>3 如果没有1则用2 如果没有2才用3
因为手机耗电快不快其实Google是不太在乎的
而且手机的GPS模组已经把经纬度算好了
这样Google不用消耗运算资源帮使用者算位置
WIFI>Signalling 的原因是因为WIFI精度较高 Signalling适用范围较广
如果没有WIFI再用Signalling就好
回到Pokemon GO
因为现在的 Google Map API
在有GPS资料的情况下就不会再花运算资源去重算位置
所以才会产生用GPS作弊只要不太夸张
就无法被抓的感觉
不过花这个运算资源去做验证
以Google或者是游戏开发商来说是否划算
我就不知道了