ASUS Zenfone 7をroot化するに当たり、rooted機器に対する規制も厳しい昨今、rootedであることを隠匿出来ることで人気のMagiskを使ってみます。
Unlock Bootloader
ASUS Zenfone 7の製品サポートページより、ブートローダアンロック用のアプリを端末上でダウンロードの上、インストール。このとき、不明なアプリの安全性云々を問われるので、適宜許可する必要があります。そしてインストールしたアプリを見つけて実行、約款や注意事項に合意をして進めます。尚、アンロック時にデバイスリセットが掛かるので、端末内に保存しておきたいファイルなどは別途バックアップしておきましょう。
Install TWRP Custom Recovery
Zenfone 7用のTWRPカスタムリカバリのダウンロードはこちらの公式サイトから。Download Link項のいずれかのミラーをクリックして、母艦PCの適当なフォルダにダウンロードしておきます。
母艦(Ubuntu 18.04 64Bit)と繋ぐ前にまず、端末の開発者向けオプションを表示させます。
【設定→システム→端末情報→ソフトウェア情報→ビルド番号を連打】
遷移を戻り、「システム」内に表示された開発者向けオプションより、USBデバッグモードを有効にします。そして母艦に繋ぐとMTPモードにするかどうか聞かれるので、「キャンセル」を選択してデバッグモードを保持します。
【設定→システム→開発者向けオプション→USBデバッグをON】
adbコマンドから確認の上、ファストブートモードで起動させ直しましょう。
1 2 3 4 5 6 7 8 9 10 |
$ adb devices List of devices attached * daemon not running; starting now at tcp:5037 * daemon started successfully L############## unauthorized $ adb devices List of devices attached L############## device $ adb reboot bootloader |
母艦からの指示を受け、端末は再起動してfastbootのこの画面になっていることを確認します。
fastbootが母艦に入っていなかったのでインストールの上、TWRPカスタムリカバリを焼き込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo apt-get install -y fastboot $ fastboot devices L############## fastboot $ fastboot flash recovery_a Downloads/twrp-3.4.0-0_CPTB-20201001-02-I002D.img target reported max download size of 805306368 bytes sending 'recovery_a' (34344 KB)... OKAY [ 1.076s] writing 'recovery_a'... OKAY [ 0.148s] finished. total time: 1.223s $ fastboot flash recovery_b Downloads/twrp-3.4.0-0_CPTB-20201001-02-I002D.img target reported max download size of 805306368 bytes sending 'recovery_b' (34344 KB)... OKAY [ 1.078s] writing 'recovery_b'... OKAY [ 0.099s] finished. total time: 1.177s |
端末を母艦から外し、再起動させる時に音量UPキーを押すとブートモードを選択出来るようになるので、Recovery modeを選んで電源ボタンを押して進むと、TWRPカスタムリカバリに入ることが出来ます。
早速、Nandroid バックアップしてみましょう。「Backup」を押し、デフォルトで選択されているパーティションの他にいくつかパーティションを増やしてみました(非選択の2つを選択するとバックアップは失敗終了しました)。尚、バックアップ先のSDカードを予めマウントしておきました。
TWRPのNandroidバックアップでは、いわゆる内部ストレージ/data/mediaは対象外となっていますが、その辺りの検証についてはまた別の機会に。
そう言えば先回のレビューで触れるのを忘れてしまいましたが、ZenFone 7のSIMスロットはセカンドSIMがmicroSDと共用という形ではなく、2枚のnano SIMとmicroSDのスロットが全て独立しているのは素晴らしいですね。そのせいか、スロット取り出す為のピンホールに挿す針は、長いものでないとスロット飛び出てくれません。また、穴が細いので書類留めるクリップは太過ぎて入りませんでした。
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」を押して、先ほどダウンロードしたファイルのあるパスまでツリーを辿ってインストールします。念の為、キャッシュをワイプしてから再起動しました。
Magisk Hide
まず上記の公式サイトより、Magisk MangerのAPKをダウンロードしてインストール。実行してみると、次のようにMagiskのインストール状態、SU許可したアプリやログも確認することが出来ます。
そしてMagiskの真骨頂である、特定アプリからrootedであることを秘匿するMagisk Hideを設定してみましょう。何処にあるのか探し回ったのですが、設定で有効してからスーパーユーザーの項にひっそりあるMagiskHideでrootedであることを隠したいアプリにチェックを入れます。
試しに中信銀行系のモバイルバンキングアプリと、香港に最近出来た大きなポイントプログラムyuuのアプリを入れてrootedであることを秘匿してみました(これらは別のrootedデバイスで正常に開くことが出来ないことを確認済みです)。
また、Magisk Managerがデバイスにインストールされているかを検索されてしまうことも想定して、任意のパッケージ名で入れ直す機能もあったので、念の為適用しておきました。
Magiskのおかげでとてもフレキシブルなrootedデバイスになりました。これで本格使用に向けて動き出しますが、その前にせっかくの初期状態なので、メインデバイス移行前に内部ストレージを含めたNandroidバックアップを次回、試してみたいと思います。
Unlock Bootloaderでアンロックしたzenfone7 を再度ロックする方法はないのでしょうか?
そう言えば、ASUSから提供されているのはアンロックのみですね。ちょっと古い機種なのですが、同じASUSということで、おそらく要領はこのようになると思われるので、fastboot ROMが手に入るかどうかがネックでしょう。
https://zentalk.asus.com/en/discussion/27136/unlock-relock-bootloader-unofficially-for-zenfone-3
返信ありがとうございます。
そうですか。
root化しようと試みたんですが難しくてできないので元に戻そうかと思ってましてどうにか方法がないかといろいろ試してみたのはいいものの何もできなくて悩んでました。
本当はroot化して僕のはグローバル版なのでVoLTEを使えるようにしたいと思ってるのですがこちらに書いてるようにやってもできなくて諦めましたw
そもそもUbuntuは入れないでwindowsでやってるからできないのかもしれないですがw
また、気が向けば挑戦してみます。
PCに繋いでadbコマンド打つ作業は、Windowsの場合はWindows用のAndroid SDKを入れれば、DOSプロンプトから同じコマンドで実行出来ると思います。
https://sp7pc.com/google/android/34263
fastbootmodeまでは立ち上がるのですがそこからコマンド打ってもwaiting for any deviceで止まってしまうんですよね。
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」端末は列記されているか
本当にありがとうございます。
同じことやってるんですがなぜうまくいかないですねw
一回、こういう時は間を置いてみるという手段に出てみます。
また近々挑戦してみます。
そもそもROOT化してVoLTEが使えるのかもわからないというところですし。
わざわざコメントをしっかりと返していただいて本当に感謝します。
また挑戦してできなかったらご相談させてください。
やはり何度やってもfastbootコマンドが通らないですね。。。。
何度かやってみましたがやはり結果は同じでfastbootコマンドが通らないです。。。。
あれからこちらでも調べてはみているのですが、「waiting for any device」と言うとドライバが云々と言う記述が圧倒的ですね。ただ、Zenfone7の通常起動時にWindows PCと繋いで、「adb devices」では認識されているもの、と思いますが、デバイスマネージャでビックリマーク出ていないか確認、また、adbツールを最新で入れ直してみるとか、ぐらいでしょうか、苦しいですが。
Zenfone7はASUSからUSBドライバがリリースされていないのですね。怪しいサイトにはワンサカありますが、最近の機種は汎用ドライバのようなもので事足りるのかも知れません。私も数年ぶりのスマホ買い替えなので最新事情に疎い面は否めませんが。
念の為、記事中にFastboot Modeの画面を図11として追加挿入してみました。ご確認ください。
ありがとうございます。
図11というのはどこのことでしょうか?
申し訳ないです。
何とかVoLTEに対応させて使わないとただのごみになってしまったので弱りましたw
すみません。
見つけました。
どうでしょうか。fastbootコマンドを発行する時、端末はこの状態になっていましたか?
初めまして、いきなりですいませんがroot化をすればグローバル版から日本版にすることも可能なのでしょうか?
一般的にいわゆる●●版は、ハードウェア側とROM側にそれぞれ存在し、両者は通常合わせるものなので、例えばグローバル版端末に日本版ROMを焼いても、ハードウェアが対応していなければ、日本版に期待しているような機能は得られません。root化とはちょっと別のお話です。
このコロナ禍で私も香港でZenfone7買ってからまだ日本に行って無いので、日本での電波の掴み具合などはまだ未体験です。
わかりやすく教えていただきありがとうございます。
グローバル版を購入してたのですがドコモのahamoに変えてから通話とSMSのみ利用できなくなった為
root化で使えるようになるのかなと考えてました。
素人には難しいので公式で使えるようになることを気長に待っておきます。
最近にわかにZenfone7をrootedにするこの記事へのアクセスが増えてきた謎が解けました(笑)。
米Tモバイルの例ですが、おおよそこのような手法なのでしょうね。対してASUS側も各地のVoLTEを有効にすべくROM更新しているようなので、ahamoユーザが増えてくれば対応に期待ですね。
https://websetnet.net/how-to-enable-t-mobile-volte-vowifi-on-asus-smartphones-root/
わかりやすく教えていただきありがとうございます。
グローバル版を購入してたのですがドコモのahamoに変えてから通話とSMSのみ利用できなくなった為
root化で使えるようになるのかなと考えてました。
素人には難しいので公式で使えるようになることを気長に待っておきます。
はじめまして。突然失礼します。記事を参考に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
TWRPカスタムリカバリのイメージファイルは、fastbootコマンドを実行するWindows10のパソコン側に置き、出来ればその置いたディレクトリでDOSプロンプトからfastbootを実行すれば、カレントディレクトリで済むのでパスを指定する必要もありません。フラッシュ前に念の為、そのディレクトリでもfastbootコマンドを実行出来るか(パスが通っているか)確認してみるとなお一層確実でしょう。
TWRPイメージファイルの存在場所につき、記事を見返してみるとちょっと不明瞭に感じるので、今回頂いたコメントを踏まえて加筆したいと思います。
ご返答ありがとうございます。
導入できましたのでご報告いたします。
ご教示いただいたように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ポートを変更し、同コマンドを実行したところ成功しました。
報告有難うございます!
ケーブル不良は長めのケーブルでは時折耳にしますが、USBポートも変えてみるのも良いとは、覚えておきたいと思います。
手順通りroot化に成功しました
目的はシャッター音を消すことだったのですが、ここからどの様にすればいいのでしょうか。
元々シャッター音鳴らないのでこの機種で試したことはないのですが、以前にGalaxy機で行った時は、
・シャッター音とフォーカス音の音声ファイル(ogg形式)を適当にリネーム。
・Googleカメラの設定XMLファイルでパラメータを編集。
だったような気がします。おそらくAndroid普遍的な仕様だと思うので、機種にこだわらず検索してみると、方法は容易に見つかりますよっ
あの後いろいろ試したのですが、どうやら昔ながらのoggをリネームする方法は使えないようでした、、android10 以降、システムに大幅な変更があったようで、/systemをrwとしてマウントすることができませんでした。
/system を触れない制限問題がありました。
そこでMagiskのモジュールでは、systemlessに音声ファイルをダミーに入替えてしまうものがいくつかあるようです。例えばこちら。
■Disable both screenshot and camera sounds
https://github.com/ant9000/magisk-module-disable-screenshot-camera-sounds
手元に試せる環境が無いので確証は有りませんが、ご参考まで。