root 対策が施された Fate/Grand Order を、rooted な環境で起動する方法を紹介します。
なお、ここで紹介する方法は、あくまで記事作成(2017/11/23)の時点で利用可能なものであり、今後のアップデートで対策される可能性が大いにありますのでご了承ください。
Magisk を利用する
先日リリースされた Magisk 最新ベータ版(v14.5)の Changelog を眺めていたところ、以下のような記述を見つけました。
[MagiskHide] All changes above contributes to hiding from nasty apps like FGO and several banking apps
「これはもしや」と思って試してみると、実際に rooted な環境で起動することができました。
以下が、Magisk による FGO の root 対策回避方法です。
必要なもの・要件
-
Android 5.0 以上
-
カスタムリカバリー導入済み
操作の手順
SuperSU をアンインストールする
Magisk 以外の root 管理アプリ(SuperSU など)を利用している場合は、Magisk をインストールする前に、そちらを アンインストール しておいてください。
Magisk をインストールする際に他の su バイナリ類は自動で消してくれるようですが、念のため手動で消しておくほうが無難です。
SuperSU を消してしまっても、以降の操作で導入する Magisk Manager が同等の機能を持っているので、今まで通り root を利用できます。
Magisk を導入する
XDA-developers にある Magisk のスレッド から、v14.5 以降の zip をダウンロードし、端末内に保存してください。
カスタムリカバリーからダウンロードした zip をフラッシュし、端末を再起動すれば、Magisk の導入は完了です。
Magisk Manager を隠蔽する
再起動後、Magisk Manager というアプリが追加されますので、それを開いてください。
FGO は Magisk Manager がインストールされていると起動できないので、まずこのアプリ自体を隠蔽します。
メイン画面が現れたら左端からナビゲーションドロワーを開き、設定 画面に移行してください。
一般設定にある、Hide Magisk Manager をタップしてください。
しばらくすると、Magisk Manager が自動で終了します。
この時点で、Magisk Manager はパッケージ名が偽装されたものに置き換わっています。
(パッケージ名をランダムにすることで、FGO による検出を逃れることができます。)
なお、一度 Magisk Manager を偽装すると、設定の Hide Magisk Manager の項目はなくなります。
元に戻す場合は、Magisk Manager の apk を再インストールしてください。
(この時、偽装済みの方は自動でアンインストールされます。)
Magisk Hide を設定する
Magisk の root 隠蔽機能である Magisk Hide を利用して、FGO が root を検出するのを防ぎます。
Magisk Manager を開き、ナビゲーションドロワーから Magisk Hide の画面に移行してください。
インストール済みのアプリが一覧表示されるので、FGO を探してチェックボックスに check を入れてください。
USB デバッグを OFF にする
これは root 対策とは無関係ですが、FGO は USB デバッグを ON にした状態では起動できない ので、開発者向けオプションから OFF にしておきましょう。
開発者向けオプションは、設定アプリの端末情報で ビルド番号 の欄を数回タップすることで有効にできます。
完了!
あとは通常通り、FGO を起動するだけです。
上手くいかない場合は、一度 FGO のアプリデータを消去してから行うと改善するかもしれません。
また、前述のとおり、この方法も 今後のアップデートで対策される 可能性がありますので、いつ起動不可になっても良いように、引き継ぎコードの発行 は必ず行っておきましょう。
(一度引継ぎを行ったコードは再利用できないことに注意です。)