Skip to content

当前机制的缺陷及建议 #2

@GhostFlying

Description

@GhostFlying

关于 pmgo 国内的纠偏,之前和人在群里讨论过很久,看了下作者写的插件代码,随便说几句(不在东北没法测试)。

  1. 目前实际上插件只 hook 了 LocationManager 的输出,这实际上只移动了玩家本身;
  2. 按我做地图相关开发的经验,加偏算法基本无误差,加偏绝对精确,纠偏10次迭代一般可以控制到半米内;
  3. 当前实现造成的情况实际上是玩家位置和地图在火星坐标下,但 stop 数据在地球坐标下,这样一方面会造成严重的错位,影响到正常游戏,其次由于服务器上行是修改后的坐标,服务器端复查极可能出问题超过操作距离限制导致封号;
  4. Ingress portal 申请已经关闭,短时间内看不到开放的可能,pmgo 的 stop 应该也是一样。

如果要实现 pmgo 的实际纠偏,目前我看到的可行思路如下:

  1. 正常请求数据;
  2. xposed hook ui 绘制,对地图外元素加偏;

由于 UI 绘制会有大量在 unity 里的代码,hook 可能较为困难,有种相对较高层的思路:

  1. xposed hook 定位,当前位置加偏;
  2. 数据请求时将所有坐标还原;
  3. 数据到达时将所有坐标加偏。

实际上要实现的主要是 mitm 和 protobuf 的破解。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions