[Android] Magisk再び
例えば、位置情報系ゲームアプリのポケモンGoでは、起動時にSafetyNetのチェックが入ります。その際、root権限がユーザにあると判明した場合にはアプリが起動しません。
そのSafetyNetによるチェックを回避できる仕組みとして話題になったのが"Magisk"。当ブログでもしばらく前に紹介しました。が、安全性を高める仕組みである以上、簡単に回避されてしまってはシャレにならないので、Googleとしてもすぐに穴をふさいできます。
すると"Magisk"側でもそれに対応して...ってな感じでSafetyNetとのイタチごっこになり、それに付き合うのが面倒に。で、root権限を放棄したクリーンな端末を用意する、という方向で落ち着いてしまった訳でありました。
時は流れて先日のこと、愛用しているカスタムROMである"AICP"に"Magisk"が標準搭載されるようになりました。最初はえらく驚いたのですが、とりあえず削除することもできるため、ROMのアップデート時には、いつも"Magisk"のアンインストールを実施しておりました。
が、システムの設定に項目があることからもわかるように、単なるバンドルではなく、AICPのroot管理を担う標準機能として採用された的なニュアンス。であるなら、これからも長い付き合いになると思われます。そんな訳で少し試してみることに。
"Magisk"が有名になった原因でもあるSafetyNetの回避ですが、現在もきちんと機能しており、root権限を必要とするアプリとの共存も可能。いずれも"Magisk Manager"のメニューから"Magisk Hide"および"Superuser Access"を設定するだけで有効となります。
"Magisk Hide"では、グラフィカルなアプリ一覧から選んでチェックを入れることで、そのアプリのみで機能が有効となります。Android PayやポケモンGoなど、著名なアプリにはあらかじめチェックが入っており、設定する必要すらありません。
実際にSafetyNetのチェックをパスするかどうかテストする機能も用意されており、ワンタップで結果が得られます。冒頭のスクリーンショットで3つあるチェックマークの一番下がそれ。見事にパスしております。
なお、"Magisk Hide"を使用するためには、"Magisk"に内蔵されたSuperuser機能が必須となります。SuperSUなど他のSuperuserをインストールした場合には機能しませんのでご注意を。
"Magisk"のもうひとつの目玉となっているのがシステムの拡張機能。専用モジュールを組み込むことで、さまざまな機能をシステムに追加することができます。
例えばDolby Atmosを追加したり、Xposedを追加したりなど。メニューの"Downloads"セクションではさまざまな拡張機能が陳列されており、ワンタップでダウンロード&インストールが可能。
また、インストール後のモジュールは"Modules"メニューにて個別に管理でき、機能のON/OFFやモジュールのアンインストールが行えます。
このほか、本来の機能でもあるSuperuserの管理に関しては、ログの確認やsu権限付与の一時停止など、必要な機能を備えております。"Magisk"の概要としてはこんな感じでありました。
SafetyNetの回避に関しては相手があっての話なので不確定要素ではありますが、root管理やシステム拡張としては便利に使えそうな雰囲気です。何より、あらかじめシステムに組み込まれているため、ソフト的な相性も良さそう。
そんな感じなので、最近ではポケモンGo専用マシンとなったNexus4でも"Magisk"を有効化したまま使用しております。
"Magisk"のためだけに"AICP"に乗り換える価値があるかどうかは不明ですが、そんな機能が"AICP"に搭載されていることを知っておいても損はないと思われます。
コメント