U+E000 私用領域

しがない緑茶好きのメモ的なの。

チャレンジパッド3はMagiskの夢を見るか?

あくまでも夢。

いつもの

この記事の内容を参考に行うあらゆる行為はすべて自己責任で行ってください
後述しますが、今回のは少し危なっかしいです...
大きめの教育的文鎮ができても泣かないように。

まえがき

最近、えたいの知れない不吉な塊が上に乗っかってきて何もできずに数日天井を見つめていたのですが、ふとandroid周りの興味が出たので色々漁っていたら以下のような記事を見つけました。

androplus.org

昔からrootするの大変だったXperiaが!?って結構驚いたのは置いておいて、元のexploitが気になったので情報元のXDA見てたのですが、exploitと一緒に一時rootからMagiskを入れるスクリプトがあったので、これを放置気味のチャレパ3に転用できないかなって事で少しいじりながらやってみました。
結論から言えばできたのですが、以下のような条件付きです。

できること

  • root権限の奪取
  • ごく一部のMagiskモジュールの動作
  • Magiskの動作画面を拝む

できないこと

  • systemに書き込む

やるとマズイこと

  • boot領域への書き込み

Magiskモジュールはsystemへの書き込みができないので結構限られてきます。
systemの書き込みができない理由としてはNIPPON Tabletのやつでも出てきたdm-verityくんが邪魔してるからです。
これを解除する方法は色々ありますが、どれも大体boot領域をいじっています。
しかしチャレンジパッド3だとこれが問題で、起動するイメージ(bootとかリカバリー)が公式のイメージではないものだと起動しません。
つまり、boot領域をいじって起動すると詰みます。これが上で書いた危なっかしい理由です。
導入したMagiskモジュールがboot領域いじる奴だった上に気づかず再起動なんかしたら教育的文鎮の完成です。
じゃあブートローダの認証プロセス飛ばせばいいじゃんかってなりますが、チャレパ2で使えてた例のアレも塞がれたし、ブートローダはマイナーな奴だしで正直打つ手がないです。
そんなわけなので、boot領域とsystem領域がいじれない状態でしか遊べません。
systemlessホストで広告ブロックしたり、chrootLinuxディストリ動かしたりくらいしか思い浮かびませんが...

方法

デフォルトだと提供元不明のアプリがオフの上に設定から抹消されてるらしいので、adb使ってどうにかします。
adbの導入方法については各自調べてください。

adb shell settings put secure install_non_market_apps 1

これでアプリを自由につっこめます。
初期のランチャーだとアプリが表示されないので、適当にランチャーアプリを入れておきましょう。 今回は前述したスクリプトを調整&自動化したものを実行するので、Termuxを使用します。
自動化の都合上アドオンのTermux Bootも必要です。
F-Droidとかから適当につっこみます。

f-droid.org

f-droid.org

Termux Bootを一度起動させたら早速Termuxを起動。
以下のコマンドを入力します。

$ termux-setup-storage

確認用のダイアログが出たら許可してください。
そしたら以下のリンクからスクリプト群と、スクリプトに必要なファイルを落とします。

drive.google.com

  • mtk-su

https://forum.xda-developers.com/attachment.php?attachmentid=5014623&d=1588992942

  • Magisk本体

https://github.com/topjohnwu/Magisk/releases/download/v20.4/Magisk-v20.4.zip

スクリプト本体のzip内のMI4CPad3フォルダを内部ストレージのルートに置いた後、mtk-suのzip内のarm64フォルダ内にあるmtk-suバイナリとMagiskのzipを先程のMI4CPad3フォルダに投げ込めばOKです。
しっかりと配置すれば以下のようになるはず...

$ ls MI4CPad3
Magisk-v20.4.zip  READEME.txt  busybox  magisk-install.sh  magisk-setup.sh  magisk-start.sh  mtk-su

ファイルの構成を正しくしないとスクリプトは動かないので注意です。 あとはTermux上でスクリプトを持ってきて実行するだけです。

(Termux上のターミナルで)
$ cp ./storage/shared/MI4CPad3/magisk-install.sh .

$ chmod 755 magisk-install.sh

$ ./magisk-install.sh

特に不具合や手順ミスがないならMagisk ManagerからMagiskの動作が確認できますし、suが使えるはずです。
それから次回起動時に自動で実行してMagiskが動くようにもなってる...はず。
実際にやってみるとわかるんですけど、Magiskが使えるようになるまでそこそこかかります。(起動して1分くらい)
もっと高速化できますが、とりあえず完成って事で...
気が向いたら整理と高速化してリンク修正しておきます。