Pokémon GOが0.37.0に更新され、root化端末での動作が不可能になりました。
アプリページの説明の通り、相棒ポケモンが設定可能になるなど新機能が実装された大きなアップデートでした。
しかし、その裏でroot化端末での動作が不可能になる対策が施されていました。
root化された端末やカスタムROMでPokémon GOを起動してみると以下の様なメッセージが表示され、プレイすることができません。
Pokemon GOでは、位置情報偽装や内部APIへの不正アクセスなどの不適切行為が大きな問題となっており、そのような行為を行ったアカウントを永久停止するなどの措置を行っていました。
但し、上記の方法が適用できる環境は「メーカー公式ROM」または「後からroot化するカスタムROM」(Pure Nexusなど)に限られています。
多くのカスタムROM(CyanogenModやResurrection Remix、AICPなど)には適用することが出来ません。
(私もそうですが)このようなカスタムROMを使用している方はチェック回避できないため、現状、プレイを諦めるか、上記の環境へ移行するかの2択となります。
⇒どんなROMでも回避可能になりました。
root化端末での動作が不可能に
2016/9/11よりPokémon GOの新バージョン「0.37.0」がリリースされました。アプリページの説明の通り、相棒ポケモンが設定可能になるなど新機能が実装された大きなアップデートでした。
しかし、その裏でroot化端末での動作が不可能になる対策が施されていました。
説明には「その他バグ修正」としか記載されていないが、root化端末対策が実装 |
起動段階でチェックが入り、動作不可能に |
今回はより踏み込んだ措置ということで、root化端末を完全排除するという対策を講じたようです。
このSafetyNetはかなり厳重で、「root化されているか」だけでなく、「システム自体が改変されていないか」をチェックしています。
そのため、「root cloak」などの簡易的にrootを隠すような仕組みでは回避することができません。
ちなみに、おサイフケータイのようなGoogleの決済サービス「Android Pay」でも使用されており、Niatnticの本気度が伺えます。
「SafetyNet API」を使った厳重なチェック
アプリを解析した方によると、「SafetyNet API」という仕組みを用いてチェックしているそうです。このSafetyNetはかなり厳重で、「root化されているか」だけでなく、「システム自体が改変されていないか」をチェックしています。
そのため、「root cloak」などの簡易的にrootを隠すような仕組みでは回避することができません。
ちなみに、おサイフケータイのようなGoogleの決済サービス「Android Pay」でも使用されており、Niatnticの本気度が伺えます。
「Magisk」でチェック回避可能
システムの改変をチェックするかなり厳しい仕組みですが、「Magisk」を使うことでチェックを回避することが出来ます。
実際にNexus 6PにMagiskを導入し、チェックを回避してPokémon GOを起動することが出来ました。詳しくは下記の記事を参照して下さい。
⇒どんなROMでも回避可能になりました。
追記:「suhide」ならばXposedを導入していても動作可能
その後のPokémon GOの更新により、Xposedを導入していると動作しなくなってしまいました。
これはMagiskでも回避できません。
しかし、同様な仕組みの「suhide」を使うことでXposedを導入していても回避可能であることがわかりました。
詳しくは下記の記事を参照して下さい。