チャレンジパッド3でPlayストアを使えるようにしよう!
今回は、 チャレンジパッド3をPlayストアが使える状態まで改造していく手順を解説します!
お断り
事前に準備する環境
- 特に厳しい対策がされてない Android 5.0以降 の端末
arm64-v8a で無いとダメかも知れません -
Windows 10 以降 のPC
- Sモードは不可
-
Python 3.8 以降
- pip必須
- ADB
-
チャレンジパッド3本体
- 本体背面の「認証機器名」に「TAB-A04-BR3」と書いてあればOKです
- USB2.0 mini-B to PC のケーブル
- 筆者はAmazonの製品を使ってます。
-
やる気!
- 気持ちも大事です
予め、ADB が実行できる環境を構築してください。
初期セットアップ
以下の2つのファイルをダウンロードして下さい。
- MTKClient
-
UsbDk
-
https://github.com/daynix/UsbDk/releases/latest
※環境に合ったアーキテクチャを選択して下さい。
-
https://github.com/daynix/UsbDk/releases/latest
ダウンロード出来たら、
-
UsbDk_{ver}_{arch}.msi を開き、 インストールします。
※自動でウィンドウが閉じます。 - mtkclient-main.zip を展開します。
- 展開した mtkclient-main ディレクトリの中でコンソールを開きます。
(以下、 「MTKClientを開き」と略します。)
※Shiftを押しながら右クリックするとメニューが出てきます。 -
MTKClient
python -m pip install -r requirements.txt
ここまで出来たら一旦PCを再起動します。
いよいよ実践!
手順は以下の通りです
- ブートローダーアンロック(以下、「BLU」)をする
- boot領域を抽出する
- Magiskで、 抽出したboot.imgにパッチを充てる
- 改変済みboot.imgをチャレパ3へ書き込む
- ユーザーデータの削除
- チャレパ3を起動する
- Wi-Fiに接続する
- 開発者向けオプションを解放し、 USBデバッグを有効にする
- Magiskのパッケージを更新する
- Magiskを開き、 指示に従い再起動
- CPadGAppsをインストール
- Play ストア経由でシステムアプリを更新
- ランチャーをインストールして完了!
⠀
では解説を始めます。
BLU と Magisk のインストール
始めにMTKClientを開き、
python mtk da seccfg unlock --noreconnect
このように実行します。
MTK Flash/Exploit Client V1.6.0 (c) B.Kerler 2018-2022
Preloader - Status: Waiting for PreLoader VCOM, please connect mobile
Port - Hint:
Power off the phone before connecting.
For brom mode, press and hold vol up, vol dwn, or all hw buttons and connect usb.
For preloader mode, don't press any hw button and connect usb.
If it is already connected and on, hold power for 10 seconds to reset.
...........
この状態で待機します。
そして、 チャレンジパッド3本体上部の「+」ボタンを押しながら
USB経由で接続します。
以下のように出力されれば、 BLUは完了です。
DAXFlash - HW-CODE : 0x8167
DAXFlash - HWSUB-CODE : 0x8A00
DAXFlash - HW-VERSION : 0xCB00
DAXFlash - SW-VERSION : 0x1
DAXFlash - CHIP-EVOLUTION : 0x0
DAXFlash - DA-VERSION : 1.0
sej - HACC init
sej - HACC run
sej - HACC terminate
sej - HACC init
sej - HACC run
sej - HACC terminate
Progress: |██████████████████████████████████████████████████| 100.0% Write (Sector 0x1 of 0x1, ) 0.03 MB/s
DA_handler - Successfully wrote seccfg.
次は、
python mtk r boot boot.img --noreconnect
このように実行します。
mtkclient-mainのディレクトリにboot.imgが抽出されるので
スマホ等の別Android端末にコピーして下さい。
別端末側でMagiskをインストールします。
※「不明なソースからのアプリをインストール」を許可する方法は自分で探して下さい。アプリを起動後、 「インストール」を押します。
続いて「パッチするファイルの選択」を押して、 コピーしたboot.imgを選択します。
選択出来たら、「はじめる →」を押してパッチを充てます。
- Device platform: arm64-v8a
- Installing: 27.0 (27000)
- Copying image to cache
- Unpacking boot image
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
- Pre-init storage partition: cache
- Repacking boot image
****************************
Output file is written to
/storage/emulated/0/Download/magisk_patched-27000_XXXXX.img
****************************
- All done!
こんな感じで、 最後に「All done!」と出力されればOKです。
出力された「magisk_patched-27000_XXXXX.img」をPCにコピーします。
※mtkclient-mainのディレクトリにコピーすることをお勧めします。
コンソールで
python mtk w boot magisk_patched-27000_XXXXX.img --noreconnect
このように実行し、 書き込みます。
こちらは「Wrote」と表示されれば書き込み完了です。
Wrote magisk_patched-27000_XXXXX.img to sector 158720 with sector count 32768.
続いて、
python mtk e userdata,metadata --noreconnect
このように実行し、 ユーザーデータを削除します。
完了したら、 USBを抜いてチャレパ3の電源を付けます。
しばらくすると勝手に初期化が始まり、 システムが起動します。
Magisk のセットアップ
チャレパ3が起動したら、 アプリ一覧から「設定」を開きます。
通常の端末のように、 Wi-Fiに接続して下さい。
接続出来たら設定アプリのトップに戻り、
最下部の「タブレット情報」に入り、 「ビルド番号」を7回タップします。
「これでデベロッパーになりました!」と表示されたらOKです。
また設定アプリのトップに戻り、 「開発者向けオプション」に入ります。
少し下にある「USBデバッグ」を有効にして下さい。
PC側での作業に移ります。
「Magisk-v27.0.apk」をダウンロードしたディレクトリでコンソールを開きます。
まず、 以下のようにコマンドを実行します。
adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
このような出力がでればOKです。
USBケーブルでチャレパ3と接続します。
チャレパ3側で許可を求められたら、
「このパソコンからのUSBデバッグを常に許可する」にチェックを入れてから「OK」を押します。
PC側で次のように実行します。
adb devices
この出力の中にチャレパ3本体裏面に記載されている製造番号が
「device」として在ればOKです。
「unauthorized」や「offline」ではダメです。
次のコマンドを実行して、 Magiskを更新します。
adb install -r Magisk-v27.0.apk
Success
と返ってきたら、 アプリを起動します。
v23.0 の場合
adb shell am start -n com.topjohnwu.magisk/.core.SplashActivity
v24.0 以降
adb shell am start -n com.topjohnwu.magisk/.ui.MainActivity
このように実行するとアプリのアクティビティが立ち上がります。
正常にインターネットに接続されていると、 以下のようなポップアップが出てきます。
もちろんOKを押します。
次はいよいよ、 最終ステップです!
Playストア のセットアップ
まず、 PC側で以下のファイルをダウンロードします。
ダウンロードしたディレクトリ内でコンソールを開き、 次のコマンドを実行します。
adb push CPadGApps-CT3.zip /sdcard/
ファイルを送れたら、 次のコマンドでモジュールをインストールします。
adb shell su -c magisk --install-module /sdcard/CPadGApps-CT3.zip
チャレパ3側でシェルのSU昇格を求められるので、 「許可」を押します。
完了次第、自動的にチャレパ3は再起動します。
再起動後、 ウィジェットが置き換わっているので
動作安定のため1分後に押してPlay ストアを起動します。
次に、 出来るだけ早く「Google Play開発者サービス」を更新します。
しばらくすると、 Play ストア自身のアップデートのため、 アプリが落ちる事があります。
更新されるまで待ちましょう。
ランチャーのセットアップ
下記のリンクから、 Nova Launcher のAPKをダウンロードします。
https://teslacoilapps.com/tesladirect/download.pl?packageName=com.teslacoilsw.launcher&versionCode=62019
DL出来たら、 次のコマンドでインストールします。
adb shell pm install -g -i com.android.vending NovaLauncher_6.2.19.apk
インストール出来たら、 次の6つのコマンドを順に実行します。
adb shell cmd package set-home-activity com.teslacoilsw.launcher/.NovaLauncher
adb shell appwidget grantbind --package com.teslacoilsw.launcher
adb shell appops set com.teslacoilsw.launcher WRITE_SETTINGS allow
adb shell pm grant com.teslacoilsw.launcher android.permission.WRITE_SECURE_SETTINGS
adb shell settings put secure enabled_accessibility_services com.teslacoilsw.launcher/com.teslacoilsw.launcher.NovaAccessibilityService
adb shell dpm set-active-admin com.teslacoilsw.launcher/.NovaDeviceAdminReceiver
全て順に実行出来たら、 チャレパ3のホームボタンを押す。
レイアウト等の設定はお好みで設定して下さい。
初期状態ではかなり質素なホーム画面ですが、 これでも一応改造は終わりました!
お疲れさまでした!!
Root回避について
以下の記事をご覧ください。
ROM焼きやRoot化を検知して起動しないアプリを動かす方法 SafetyNet回避 - ROM焼き試験場
Q&A
MTKClient でチャレパ3が検出されない
この記事のコメント及びSmileTabLaboのWikiにもコメントがありましたが、
以下のドライバを適用する事により解決出来る可能性があります。
For automatic/direction installation:
Click here to downloadFor manual installation:
Click here to download
ただ、このドライバをインストールしても尚動作しない場合は、 Windows Update の「オプションの更新プログラム」を確認してみてください。
SafetyNet を通過したい
v23.0 の場合は、モジュールインストール時に自動でMagiskHideが設定されます。
v27.0 以降の場合は、safetynet-fix を使用してください。
MOD版である必要はありません。
ただし、02.04.000 以降のビルドでは、SafetyNet は通りません。
02.05.000 以上の場合はどうすれば良い?
02.05.000 以上の場合、 MTKClient が動作しない為、 02.04.000 もしくは 01.06.000(推奨) にダウングレードする必要があります。
必要なもの
-
有効な進研ゼミの会員情報
会員でない場合は諦めてください - 1GB以上のmicroSDカード
- チャレパの充電器(USB端子は不可)
- PowerShellを開き、 以下のコマンドを順に実行します
(Invoke-WebRequest -Method Get -Uri https://s1204.me/benesse -UseBasicParsing).Content | Set-Content -Path .\GetSecureFiles.ps1 -Encoding UTF8
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
.\GetSecureFiles.ps1
2. 会員番号とパスワードを順に入力します
3. オプションは何も入力せず、 全てEnterキーで続行します
4. 「"path"を入力:」と出てきたら、
/authorized/appli/common/a04br3-ota-01.06.000_full.zip
と入力(コピペ)します
explorer .
上記のコマンドを実行するとエクスプローラが起動し、 a04br3-ota-01.06.000_full.zip
というファイルが在るはずなので、 update.zip
に名前を変更します。
6. microSDカードの一番上の層(ルートディレクトリ)にコピーします
7. microSDカードをチャレパ3に挿入し、 設定アプリを開きます。
8. 「タブレット情報」→「システムアップデート」→「システムアップデートを開始します」を順に押します。
これでダウングレードは完了です。
起動時に出てくる「Orange State」が邪魔
リトルカーネルのバイナリ書き換えにより対処できます。
-
lk.bin
を抽出 - バイナリ単位で編集
- チャレパ3に書き込み
まず以下のコマンドでlk.bin
を抽出します
python mtk r lk lk.bin --noreconnect
次にバイナリエディタでlk.bin
を開きます
08B50A4B7B44と検索し
08B5002008BDと書き換えます
変更が出来たら上書き保存します
最後に、 以下のコマンドでチャレパ3に書き込みます
python mtk w lk,lk2 lk.bin,lk.bin --noreconnect
以上で終了です
Discussion
BLU と Magisk のインストールで、DAXFlash - Reconnecting to preloaderとなるのですがどうすれば回避?できるのでしょうか。
まったく同じ状況です。まぁフリーズしてる状態なんで、ファイルデルの待ちましょう。それかビルド番号が024の可能性も。(非推奨だし)
怪しくて泣きそうだったけど↑のexeで抜けられました。
GoogleプレイとOrengeStateはホントに素晴らしい!
ありがとう!シューゴさん!
なんと...!まぁ諦めてたので気が向いたら使います!
早くq&aができてほしいです
2重青線部のところが非対応になります!どうすればいいですか?
気にしなくて大丈夫ですよ。
使用しているスマホによって表示が異なります。
magisk_patched-23000_XXXXX.img てやるやつで一生Failedってでるわ かなしい
Q&Aっていつできますか?
BLU と Magisk のインストールの最後のほうでチャレンジタッチのOS?が消えたんですけどチャレンジタッチにOSを入れることはできませんか?
いま私も同じ状況でここからどうしたら良いでしょうか
Magisk のセットアップでパスワードを求められるんですけどどうしたら解決できますか?
あとpython mtk resetのログでReset command was sent. Disconnect usb cable to power off.と出ないんですけとどうしたら出ますか?
充電器、usbを接続していない状態で+ボタンを5秒ほど長押ししながら、usb接続すると上手くいくはずです。
ありがとうございます
Reset command was sent. Disconnect usb cable to power off.と出ました!
が、パスワードが求められなくなるとは限らないんですね!
僕もパスワードを求められ、そこで止まっています
お使いのビルド番号が02.05.000か02.04.000の場合、パスワードを求められるので、02.04.000のビルドをお使いの人もQ&Aの[02.05.000 以上の場合はどうすればいい?]を実行してみてください。
boot.binの抽出でReconnecting to stage2 with higher speedとでて抽出できませんどうしたらいいでしょうか
--noreconnect
オプションを付ける事により解決します。記事を修正しましたのでご確認ください。
更新ありがとうございます。
Playストアのセットアップまで完了したのですが、NovaLauncherのアプリのページが開いてもインストールのボタンが表示されず、「このタブレットは、このアプリに対応していません。」となってしまいます。
どう対応すればいいか教えていただきたいです。
よろしくお願いいたします。
ご報告ありがとうございます。
確認したところ、どうやらAndroid8.0未満の端末ではPlayストア経由でインストール出来なくなったみたいです。
記事をAPKからインストールする方法に更新しましたのでご確認ください。
早速のご対応ありがとうございます。
APKをダウンロードし、記載のコマンドを入力したところ以下のようにエラーとなってしまいます。
Error: failed to write; .NovaLauncher_6.2.19.apk (No such file or directory)
「Magisk-v23.0.apk」をダウンロードしたディレクトリでコンソールを開いており、同じフォルダにNovaLauncher_6.2.19.apkを保存してあります。
ご面倒でなければ解決策ご教示お願いいたします。
なお冒頭にご説明あるように、初心者向けではないこと、分からなければ諦めること理解しております。
恥ずかしながら初心者で、この記事を見つけコマンドもまったく理解できない状態でコピペしながらここまでやることができました。
ランチャーの設定ができずともyoutubeなど使えるようになり感謝しております。長文失礼いたしました。
ファイル名がこの様になっている為です。
最初のドットを取り除くか、ドットの後にバックスラッシュを入れて下さい。
正しくは、
または、
です。
お忙しい中ご返信ありがとうございます。
ご返信いただく前にあれこれ試していた中で、
adb install (apkの場所)
でNovaLauncherをインストールすることができました。
その後6つのコマンドを順に実行し、画面の設定は完了することができました。
シューゴ様記載のとおりではないので何か都合が悪い状態かもしれませんが今のところ不自由なく使えております。
使い道のなかったタブレットが使えるようになり感謝しております。
本当にありがとうございました。
超初心者です。
Playストア のセットアップまできましたが、モジュールをインストールのところでシェルのSU昇格を求められずに「Permission denied」と出てしまいます。
インストールの仕方が間違っているのだと思いますが、解決策をご教示できれば幸いです。
Magiskアプリを更新して開いた際に、「追加のセットアップが必要です」のポップアップから再起動しましたか?
返信ありがとうございます。
「追加のセットアップが必要です」でOKを押したと思うんですが。
Magiskの更新のところからやり直してもポップアップは出てきません。
タブレットのMagiskをアンインストールしてやり直してみましたが、ポップアップが出てきません。
何度も申し訳ございません。
最初からやり直してPlayストアのインストールまでできましたが、
上記の初心者様と全く同じ状態です。
元のファイル名もNovaLauncher_6.2.19.apkで間違いありません。
初心者様より超初心者でシューゴ様には再三のお手数をお掛けしますが
ご教示いただけますと幸いです。
Playストアのセットアップのモジュールをインストールができませんでした。
コンソール内で/system/bin/sh: su: not foundと表示されます。
Magiskのセットアップでは追加セットアップが必要ですと言われませんでした。
Mafiskを更新しようとすると操作が許可されていませんと表示されます
BLUとMagiskのインストールの後にQ&Aの02.04.000 以上の場合はどうすれば良い?をしたからなのでしょうか。
教えてください。
「BLU と Magisk のインストール」の最後の方から急にチャレパの電源が入らなくなってしまったのですがどうしたらいいでしょうか
(青ランプは出てるので充電はできてると思います
電源ボタンを長押ししてると一瞬青ランプが消えてまた青ランプがつくという感じです)
BLUをしようとすると、なぜかDevice has is either already unlocked or algo is unknown.と出てBLUができません...
BLU後に端末をPCから外し起動させると
Irange State
Your deuice has
been unlocked and can t be trusted
Your device will boot in 5 seconds
というエラーが出て再起動を繰り返し文鎮化しました
もし解決方法があるようでしたら教えてもらえると助かります
私も同じ状況になりました。
自分もなりましたが、以下の方法を使って回復しました。
まず前提に、lk.binを書き換えていないこと、boot.imgのmagiskパッチ前を持ってることが前提になります。
まずコマンドに
「python mtk w boot {magiskでパッチする前のboot}.img --noreconnect」
と入力
lk.binを編集してしまった方は、
「python mtk r lk {バイナリエディタで編集前のlk}.bin --noreconnect」
を入力してください
最後に
「python mtk da seccfg lock --noreconnect」
と入力し、再度ブートローダーロックをします。
以下の方法で文鎮化は私は治りました。
すいません、lk.binをどこで書き換えたかどうかがわからず、boot.imgのmagiskパッチ前は、一番最初に合ったboot.imgのことでしょうか...?今文鎮化しかけてるので詳しく教えていただけませんでしょうか。
追記:おそらくlk.binは書き換えてないと思います。
「python mtk w boot {magiskでパッチする前のboot}.img --noreconnect」と入力
の部分はパスを入れればいいのでしょうか...?
訂正:おそらくそうですね。
boot.imgは一番最初にチャレンジパッド3から吸い出したboot.imgのことです。
python mtk w boot ここでドロップ&ドラック --noreconnect
のほうが分かりやすかったですね
ほかに何かあったら言ってください(^_^)
ありがとうございます。結果から言うと、多分成功しました。
そのコマンドを実行したあと、「python mtk da seccfg lock --noreconnect」を実行しました。そしたら、赤文字で
「SEJ Legacy Hardware seems not to be configured correctly. Results may be wrong.」
と出てきて、ついには起動どころか、充電したときの青いランプすらつかなくなりました。[https://drive.google.com/file/d/1i6IAbMO7T7dRq14zdhXvYSL3tEA7QWrT/view?usp=sharing]
...ていうのが質問する前に一度なってしまい、RESETボタンを押したら
「...Your device will boot in 5 seconds」のところに戻ってきました。
そして今回もRESETボタンを押したら無事Androidが起動しました。
で、一応自分の目的はアプリを入れられさえすれば目標達成だったので、ADBやチャレンジタッチ総合カスタマイズツール等でインストールをしたいんですが、色々コマンドを実行したあとなので、一度初期化をしたほうがいいでしょうか...?
おめでとうございます。
たぶん初期化したほうがいいと思いますね(特に意味はないと思うけど)
無事に治ってよかったです。
いえいえ、こちらこそお忙しい時間にありがとうございました。
「adb shell am start -n com.topjohnwu.magisk/.core.SplashActivity」のところでエラーが出てmagiskが起動せず先へ進めません。同じ状況になった方いらっしゃいますか?
Starting: Intent { cmp=com.topjohnwu.magisk/.core.SplashActivity }
Error type 3
Error: Activity class {com.topjohnwu.magisk/com.topjohnwu.magisk.core.SplashActivity} does not exist.
私もなりました。Magisk系の起動できるやつはわからないので
Launcher>3のapkをインストールしてやりました。Launcher 3(チャレパ3に最初から入っているランチャー)ではなくLauncher>3です。
記事を修正しましたのでご確認ください。
v24.0 以降では、
これで起動できます。
みねクラさん、しゅーごさん、ありがとうございました!
「BLU と Magisk のインストール」の最初のコマンドでエラーになります。
DAXFlash - Boot to succeeded.
が標準出力された後、
File "C:\mtkclient\Library\DA\xflash\xflash_lib.py", line 135, in status
magic, datatype, length = unpack("<III", hdr)
struct.error: unpack requires a buffer of 12 bytes
と表示されます。
hdrが問題なのだろうとxflash_lib.pyに
def status(self):
hdr = self.usbread(4 + 4 + 4)
print(f"hdr length: {hex(len(hdr))}")
とprint処理を追加してみたところ
DAXFlash - Boot to succeeded.
hdr length: 0xc
hdr length: 0xc
hdr length: 0x0
Traceback (most recent call last):
File "C:\mtk.py", line 1000, in <module>
mtk = Main(args).run(parser)
File "C:\mtkclient\Library\mtk_main.py", line 662, in run
mtk = da_handler.configure_da(mtk, preloader)
File "C:\mtkclient\Library\DA\mtk_da_handler.py", line 162, in configure_da
if not mtk.daloader.upload_da(preloader=preloader):
File "C:\mtkclient\Library\DA\mtk_daloader.py", line 297, in upload_da
return self.da.upload_da()
File "C:\mtkclient\Library\DA\xflash\xflash_lib.py", line 1245, in upload_da
status = self.status()
File "C:\mtkclient\Library\DA\xflash\xflash_lib.py", line 136, in status
magic, datatype, length = unpack("<III", hdr)
struct.error: unpack requires a buffer of 12 bytes
となりましたので3コール目で0 bytesになって?エラーです。
お手数申し訳ありませんがアドバイスをいただけないでしょうか。
質問失礼します。playストアの導入まではミスなく進むことができたのですが、開発者サービスをアップデートしようとアップデート欄を開いたら、サーバーからの情報の取得中にエラーが発生しました。DF-DFERH-01というエラーが出て先に進むことができません。
そして、開発者サービスが繰り返し停止をしてうまく動作してないように見えます。
何か解決方法はありますでしょうか?
python のpipをインストールしようとすると
Building wheels for collected packages: netifaces
Building wheel for netifaces (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for netifaces (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [5 lines of output]
running bdist_wheel
running build
running build_ext
building 'netifaces' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for netifaces
Failed to build netifaces
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (netifaces)
という文が最後に出てきてインストールできません。
解決方法はありますか?
すみません。
上記のことは解決したのですが
MTKclient
python mtk da seccfg unlock --noreconnect
と入力すると
mtkclient-main\mtk': [Errno 2] No such file or directory
と出て進めないのですが解決方法はありますか?
横から失礼します(管理人さんではありません)。
mtk.pyをpythonインタプリタで実行するコマンドですので、拡張子まで指定してみたらいかがでしょう?
つまり、mtkclient-main ディレクトリの中にmtk.pyファイルが存在することを確認したうえで下記を実行。
すみません。 Kovinさんのおかげでできたのですが、
python mtk.py e userdata,metadata --noreconnect
を実行した後、チャレンジパッド3の電源が入らなくなってしまいました。
自分もいろいろと検索などをしてみましたが、なかなか出てきません。
どうしたらいいですか。
(青いランプは充電をするとつく状態です。)
追記:おそらくですが、machachachacha様やMogooo様と同じ状態です。