ASUS Zenfone 7 (ZS670KS)をMagiskでroot化

投稿者: | 2020年11月4日

ASUS Zenfone 7をroot化するに当たり、rooted機器に対する規制も厳しい昨今、rootedであることを隠匿出来ることで人気のMagiskを使ってみます。

Unlock Bootloader

ASUS Zenfone 7の製品サポートページより、ブートローダアンロック用のアプリを端末上でダウンロードの上、インストール。このとき、不明なアプリの安全性云々を問われるので、適宜許可する必要があります。そしてインストールしたアプリを見つけて実行、約款や注意事項に合意をして進めます。尚、アンロック時にデバイスリセットが掛かるので、端末内に保存しておきたいファイルなどは別途バックアップしておきましょう。

図01.UnlockToolでブートローダロック解除

図01.UnlockToolでブートローダロック解除

Install TWRP Custom Recovery

Zenfone 7用のTWRPカスタムリカバリのダウンロードはこちらの公式サイトから。Download Link項のいずれかのミラーをクリックして、母艦PCの適当なフォルダにダウンロードしておきます。

母艦(Ubuntu 18.04 64Bit)と繋ぐ前にまず、端末の開発者向けオプションを表示させます。

【設定→システム→端末情報→ソフトウェア情報→ビルド番号を連打】

図02.開発者向けオプションを表示させる

図02.開発者向けオプションを表示させる

遷移を戻り、「システム」内に表示された開発者向けオプションより、USBデバッグモードを有効にします。そして母艦に繋ぐとMTPモードにするかどうか聞かれるので、「キャンセル」を選択してデバッグモードを保持します。

【設定→システム→開発者向けオプション→USBデバッグをON】

図03.USBデバッグモードを有効にし母艦と接続

図03.USBデバッグモードを有効にし母艦と接続

adbコマンドから確認の上、ファストブートモードで起動させ直しましょう。

母艦からの指示を受け、端末は再起動してfastbootのこの画面になっていることを確認します。

図11.Fastboot Mode時の画面

図11.Fastboot Mode時の画面

fastbootが母艦に入っていなかったのでインストールの上、TWRPカスタムリカバリを焼き込みます。

端末を母艦から外し、再起動させる時に音量UPキーを押すとブートモードを選択出来るようになるので、Recovery modeを選んで電源ボタンを押して進むと、TWRPカスタムリカバリに入ることが出来ます。

早速、Nandroid バックアップしてみましょう。「Backup」を押し、デフォルトで選択されているパーティションの他にいくつかパーティションを増やしてみました(非選択の2つを選択するとバックアップは失敗終了しました)。尚、バックアップ先のSDカードを予めマウントしておきました。

図04.TWRPリカバリでNandroidバックアップ

図04.TWRPリカバリでNandroidバックアップ

TWRPのNandroidバックアップでは、いわゆる内部ストレージ/data/mediaは対象外となっていますが、その辺りの検証についてはまた別の機会に。

そう言えば先回のレビューで触れるのを忘れてしまいましたが、ZenFone 7のSIMスロットはセカンドSIMがmicroSDと共用という形ではなく、2枚のnano SIMとmicroSDのスロットが全て独立しているのは素晴らしいですね。そのせいか、スロット取り出す為のピンホールに挿す針は、長いものでないとスロット飛び出てくれません。また、穴が細いので書類留めるクリップは太過ぎて入りませんでした。

図05.ZenFone 7のSIMスロット

図05.ZenFone 7のSIMスロット

Install Magisk

root化の方法はいくつかありますが、セキュリティレベルにより敏感な金融系アプリ等では、最近ではもっぱらrootedでは動かないことがほとんどです。そんな中、Magiskはデバイス内にインストールされているアプリ毎にroot化されていることを隠す機能があり、これを利用することでrootedでは動かないアプリも動かせるようになる、とのことから今回はMagiskを使ってroot化してみます。次の公式GitHubのDownloadより、執筆当時ベータながら最新のv.21.0をデバイス内にダウンロードします。


そしてもう一つ、no-verity-opt-encryptも必要とのこと。これまで手がけてきたROM焼きやroot化では無かった事項なので、こちらの解説がとても参考になりました。Great Tnx!


上記解説中にあるリンクより、執筆当時最新版の「no-verity-opt-encrypt-6.0」をダウンロード。これで必要なファイルは揃ったので、デバイスをリカバリモードで起動し直します。TWRPリカバリのホーム画面より、「Install」を押して、先ほどダウンロードしたファイルのあるパスまでツリーを辿ってインストールします。念の為、キャッシュをワイプしてから再起動しました。

図06.TWRPリカバリでMagiskをインストール

図06.TWRPリカバリでMagiskをインストール

Magisk Hide

まず上記の公式サイトより、Magisk MangerのAPKをダウンロードしてインストール。実行してみると、次のようにMagiskのインストール状態、SU許可したアプリやログも確認することが出来ます。

図07.Magisk Manager画面

図07.Magisk Manager画面

そしてMagiskの真骨頂である、特定アプリからrootedであることを秘匿するMagisk Hideを設定してみましょう。何処にあるのか探し回ったのですが、設定で有効してからスーパーユーザーの項にひっそりあるMagiskHideでrootedであることを隠したいアプリにチェックを入れます。

図08.Magisk Hide設定

図08.Magisk Hide設定

試しに中信銀行系のモバイルバンキングアプリと、香港に最近出来た大きなポイントプログラムyuuのアプリを入れてrootedであることを秘匿してみました(これらは別のrootedデバイスで正常に開くことが出来ないことを確認済みです)。

図09.Magisk Hideでrootedを隠してアプリ起動

図09.Magisk Hideでrootedを隠してアプリ起動

また、Magisk Managerがデバイスにインストールされているかを検索されてしまうことも想定して、任意のパッケージ名で入れ直す機能もあったので、念の為適用しておきました。

図10.Magisk Managerを隠す

図10.Magisk Managerを隠す

Magiskのおかげでとてもフレキシブルなrootedデバイスになりました。これで本格使用に向けて動き出しますが、その前にせっかくの初期状態なので、メインデバイス移行前に内部ストレージを含めたNandroidバックアップを次回、試してみたいと思います。

ASUS Zenfone 7 (ZS670KS)をMagiskでroot化」への23件のフィードバック

  1. k

    Unlock Bootloaderでアンロックしたzenfone7 を再度ロックする方法はないのでしょうか?

    返信
  2. k

    返信ありがとうございます。
    そうですか。
    root化しようと試みたんですが難しくてできないので元に戻そうかと思ってましてどうにか方法がないかといろいろ試してみたのはいいものの何もできなくて悩んでました。

    本当はroot化して僕のはグローバル版なのでVoLTEを使えるようにしたいと思ってるのですがこちらに書いてるようにやってもできなくて諦めましたw
    そもそもUbuntuは入れないでwindowsでやってるからできないのかもしれないですがw

    また、気が向けば挑戦してみます。

    返信
  3. K

    fastbootmodeまでは立ち上がるのですがそこからコマンド打ってもwaiting for any deviceで止まってしまうんですよね。

    返信
    1. ServerCan 投稿作成者

      Windows10 (20H2)に現行版のAndroid SDK Platform Tools をダウンロードして試してみました。

      https://developer.android.com/studio/releases/platform-tools

      DOSプロンプトにて、
      adb devices で端末が認識されていることを確認の上、
      adb reboot bootloader で端末をfastbootモードへ再起動します。
      fastboot device でadbの時のように端末が認識されます。

      という流れなのですが、私も最初「fastboot devices」で空白行が返って来たのですが、以下の方法で認識することが出来ました。

      ・DOSプロンプトは管理者として実行しているか
      (adbは非管理者でも問題無くても、fastbootコマンドでは通らないことも)

      ・一度、USBケーブルを抜き差ししてみる
      (抜き差しの後、fastbootコマンドを再度実行)

      ・タスクバーのUSBデバイスに「Android」端末は列記されているか

      返信
  4. K

    本当にありがとうございます。
    同じことやってるんですがなぜうまくいかないですねw

    一回、こういう時は間を置いてみるという手段に出てみます。
    また近々挑戦してみます。

    そもそもROOT化してVoLTEが使えるのかもわからないというところですし。
    わざわざコメントをしっかりと返していただいて本当に感謝します。

    また挑戦してできなかったらご相談させてください。

    返信
  5. K

    やはり何度やってもfastbootコマンドが通らないですね。。。。

    返信
  6. K

    何度かやってみましたがやはり結果は同じでfastbootコマンドが通らないです。。。。

    返信
    1. ServerCan 投稿作成者

      あれからこちらでも調べてはみているのですが、「waiting for any device」と言うとドライバが云々と言う記述が圧倒的ですね。ただ、Zenfone7の通常起動時にWindows PCと繋いで、「adb devices」では認識されているもの、と思いますが、デバイスマネージャでビックリマーク出ていないか確認、また、adbツールを最新で入れ直してみるとか、ぐらいでしょうか、苦しいですが。
      Zenfone7はASUSからUSBドライバがリリースされていないのですね。怪しいサイトにはワンサカありますが、最近の機種は汎用ドライバのようなもので事足りるのかも知れません。私も数年ぶりのスマホ買い替えなので最新事情に疎い面は否めませんが。

      返信
      1. ServerCan 投稿作成者

        念の為、記事中にFastboot Modeの画面を図11として追加挿入してみました。ご確認ください。

        返信
  7. K

    ありがとうございます。
    図11というのはどこのことでしょうか?
    申し訳ないです。
    何とかVoLTEに対応させて使わないとただのごみになってしまったので弱りましたw

    返信
    1. ServerCan 投稿作成者

      どうでしょうか。fastbootコマンドを発行する時、端末はこの状態になっていましたか?

      返信
  8. 匿名

    初めまして、いきなりですいませんがroot化をすればグローバル版から日本版にすることも可能なのでしょうか?

    返信
    1. ServerCan 投稿作成者

      一般的にいわゆる●●版は、ハードウェア側とROM側にそれぞれ存在し、両者は通常合わせるものなので、例えばグローバル版端末に日本版ROMを焼いても、ハードウェアが対応していなければ、日本版に期待しているような機能は得られません。root化とはちょっと別のお話です。

      このコロナ禍で私も香港でZenfone7買ってからまだ日本に行って無いので、日本での電波の掴み具合などはまだ未体験です。

      返信
      1. 匿名

        わかりやすく教えていただきありがとうございます。
        グローバル版を購入してたのですがドコモのahamoに変えてから通話とSMSのみ利用できなくなった為
        root化で使えるようになるのかなと考えてました。
        素人には難しいので公式で使えるようになることを気長に待っておきます。

        返信
        1. ServerCan 投稿作成者

          最近にわかにZenfone7をrootedにするこの記事へのアクセスが増えてきた謎が解けました(笑)。

          米Tモバイルの例ですが、おおよそこのような手法なのでしょうね。対してASUS側も各地のVoLTEを有効にすべくROM更新しているようなので、ahamoユーザが増えてくれば対応に期待ですね。

          https://websetnet.net/how-to-enable-t-mobile-volte-vowifi-on-asus-smartphones-root/

          返信
  9. 匿名

    わかりやすく教えていただきありがとうございます。
    グローバル版を購入してたのですがドコモのahamoに変えてから通話とSMSのみ利用できなくなった為
    root化で使えるようになるのかなと考えてました。
    素人には難しいので公式で使えるようになることを気長に待っておきます。

    返信
  10. 777

    はじめまして。突然失礼します。記事を参考にwindows10でAndroid SDKを使ってroot化をしようと試みたのですが、カスタムリカバリの導入が上手くいきません。
    No such file or directoryとの表記があるのでファイルパスの指定が間違っているのだと思いますが、どうすればいいのか見当がつきません。
    fastboot flash recoveryのコマンドを記載しますので、誤りをご指摘いただけますと幸いです。

    fastboot flash recovery Android\ZenFone7\内部共有ストレージ\Download/twrp-3.5.2_10-0-I002D.img

    ※USB転送モードで接続した際のファイルパスは
    PC\ZenFone7\内部共有ストレージ\Download\twrp-3.5.2_10-0-I002D.img

    返信
    1. ServerCan 投稿作成者

      TWRPカスタムリカバリのイメージファイルは、fastbootコマンドを実行するWindows10のパソコン側に置き、出来ればその置いたディレクトリでDOSプロンプトからfastbootを実行すれば、カレントディレクトリで済むのでパスを指定する必要もありません。フラッシュ前に念の為、そのディレクトリでもfastbootコマンドを実行出来るか(パスが通っているか)確認してみるとなお一層確実でしょう。

      TWRPイメージファイルの存在場所につき、記事を見返してみるとちょっと不明瞭に感じるので、今回頂いたコメントを踏まえて加筆したいと思います。

      返信
      1. 777

        ご返答ありがとうございます。
        導入できましたのでご報告いたします。
        ご教示いただいたようにTWRPイメージファイルと同じディレクトリにてfastboot flash recovery twrp-3.5.2_10-0-I002D.imgを実行したところ、
        Sending ‘boot.img’ (36228 KB) failed (write to device failed in sendbuffer() (no link))
        のエラーにより失敗。
        5chの過去ログを漁ったところ、ケーブルの交換やusbポートの変更で成功する場合があるとの書き込みがありましたので、usbポートを変更し、同コマンドを実行したところ成功しました。

        返信
        1. ServerCan 投稿作成者

          報告有難うございます!
          ケーブル不良は長めのケーブルでは時折耳にしますが、USBポートも変えてみるのも良いとは、覚えておきたいと思います。

          返信

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA