🔏

チャレンジパッド3でPlayストアを使えるようにしよう!

2022/11/02に公開
36


今回は、 チャレンジパッド3Playストアが使える状態まで改造していく手順を解説します!

お断り


事前に準備する環境

  • 特に厳しい対策がされてない 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 のケーブル
  • やる気!
    • 気持ちも大事です

予め、ADB が実行できる環境を構築してください。

初期セットアップ

以下の2つのファイルをダウンロードして下さい。

ダウンロード出来たら、

  1. UsbDk_{ver}_{arch}.msi を開き、 インストールします。
    ※自動でウィンドウが閉じます。
  2. mtkclient-main.zip を展開します。
  3. 展開した mtkclient-main ディレクトリの中でコンソールを開きます。
    (以下、 「MTKClientを開き」と略します。)
    ※Shiftを押しながら右クリックするとメニューが出てきます。
  4. MTKClient
    python -m pip install -r requirements.txt
    
    このように実行します。

ここまで出来たら一旦PCを再起動します。


いよいよ実践!

手順は以下の通りです

  1. ブートローダーアンロック(以下、「BLU」)をする
  2. boot領域を抽出する
  3. Magiskで、 抽出したboot.imgにパッチを充てる
  4. 改変済みboot.imgチャレパ3へ書き込む
  5. ユーザーデータの削除
  6. チャレパ3を起動する
  7. Wi-Fiに接続する
  8. 開発者向けオプションを解放し、 USBデバッグを有効にする
  9. Magiskのパッケージを更新する
  10. Magiskを開き、 指示に従い再起動
  11. CPadGAppsをインストール
  12. Play ストア経由でシステムアプリを更新
  13. ランチャーをインストールして完了!

では解説を始めます。

BLU と Magisk のインストール

始めにMTKClientを開き、

MTKClient
python mtk da seccfg unlock --noreconnect

このように実行します。

MTKClient Log
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は完了です。

MTKClient Log
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.

次は、

MTKClient
python mtk r boot boot.img --noreconnect

このように実行します。
mtkclient-mainのディレクトリにboot.imgが抽出されるので
スマホ等の別Android端末にコピーして下さい。

別端末側でMagiskをインストールします。
https://github.com/topjohnwu/Magisk/releases/latest
※「不明なソースからのアプリをインストール」を許可する方法は自分で探して下さい。

アプリを起動後、 「インストール」を押します。

続いて「パッチするファイルの選択」を押して、 コピーしたboot.imgを選択します。
選択出来たら、「はじめる →」を押してパッチを充てます。

Install Log
- 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のディレクトリにコピーすることをお勧めします。

コンソールで

MTKClient
python mtk w boot magisk_patched-27000_XXXXX.img --noreconnect

このように実行し、 書き込みます。

こちらは「Wrote」と表示されれば書き込み完了です。

MTKClient Log
Wrote magisk_patched-27000_XXXXX.img to sector 158720 with sector count 32768.

続いて、

MTKClient
python mtk e userdata,metadata --noreconnect

このように実行し、 ユーザーデータを削除します。

完了したら、 USBを抜いてチャレパ3の電源を付けます。

しばらくすると勝手に初期化が始まり、 システムが起動します。

Magisk のセットアップ

チャレパ3が起動したら、 アプリ一覧から「設定」を開きます。
通常の端末のように、 Wi-Fiに接続して下さい。

接続出来たら設定アプリのトップに戻り、
最下部の「タブレット情報」に入り、 「ビルド番号」を7回タップします。
これでデベロッパーになりました!」と表示されたらOKです。

また設定アプリのトップに戻り、 「開発者向けオプション」に入ります。

少し下にある「USBデバッグ」を有効にして下さい。

PC側での作業に移ります。

Magisk-v27.0.apk」をダウンロードしたディレクトリでコンソールを開きます。
まず、 以下のようにコマンドを実行します。

ADB
adb start-server
ADB Log
* daemon not running; starting now at tcp:5037
* daemon started successfully

このような出力がでればOKです。

USBケーブルでチャレパ3と接続します。

チャレパ3側で許可を求められたら、
このパソコンからのUSBデバッグを常に許可する」にチェックを入れてから「OK」を押します。

PC側で次のように実行します。

ADB
adb devices

この出力の中にチャレパ3本体裏面に記載されている製造番号が
device」として在ればOKです。
unauthorized」や「offline」ではダメです。

次のコマンドを実行して、 Magiskを更新します。

ADB
adb install -r Magisk-v27.0.apk

Successと返ってきたら、 アプリを起動します。

ADB
adb shell am start -n com.topjohnwu.magisk/.core.SplashActivity

このように実行するとアプリのアクティビティが立ち上がります。

正常にインターネットに接続されていると、 以下のようなポップアップが出てきます。

もちろんOKを押します。

次はいよいよ、 最終ステップです!

Playストア のセットアップ

まず、 PC側で以下のファイルをダウンロードします。
https://github.com/s1204IT/CPadGApps/releases/latest/download/Module3.zip

ダウンロードしたディレクトリ内でコンソールを開き、 次のコマンドを実行します。

ADB
adb push Module3.zip /sdcard/

ファイルを送れたら、 次のコマンドでモジュールをインストールします。

ADB
adb shell su -c magisk --install-module /sdcard/Module3.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
adb shell pm install -g -i com.android.vending NovaLauncher_6.2.19.apk

インストール出来たら、 次の6つのコマンドを順に実行します。

ADB
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 download

For 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端子は不可)
  1. PowerShellを開き、 以下のコマンドを順に実行します
PowerShell
(Invoke-WebRequest -Method Get -Uri https://s1204.me/benesse -UseBasicParsing).Content | Set-Content -Path .\GetSecureFiles.ps1 -Encoding UTF8
PowerShell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
PowerShell
.\GetSecureFiles.ps1


2. 会員番号とパスワードを順に入力します

3. オプションは何も入力せず、 全てEnterキーで続行します

4. 「"path"を入力:」と出てきたら、
/authorized/appli/common/a04br3-ota-01.06.000_full.zip と入力(コピペ)します

PowerShell
explorer .

上記のコマンドを実行するとエクスプローラが起動し、 a04br3-ota-01.06.000_full.zipというファイルが在るはずなので、 update.zipに名前を変更します。
6. microSDカードの一番上の層(ルートディレクトリ)にコピーします
7. microSDカードをチャレパ3に挿入し、 設定アプリを開きます。
8. 「タブレット情報」→「システムアップデート」→「システムアップデートを開始します」を順に押します。

これでダウングレードは完了です。

起動時に出てくる「Orange State」が邪魔

リトルカーネルのバイナリ書き換えにより対処できます。

  1. lk.binを抽出
  2. バイナリ単位で編集
  3. チャレパ3に書き込み

まず以下のコマンドでlk.binを抽出します

MTKClient
python mtk r lk lk.bin --noreconnect

次にバイナリエディタでlk.binを開きます

08B50A4B7B44と検索し
08B5002008BDと書き換えます

変更が出来たら上書き保存します

最後に、 以下のコマンドでチャレパ3に書き込みます

MTClient
python mtk w lk,lk2 lk.bin,lk.bin --noreconnect

以上で終了です

Discussion

machachachachamachachachacha

BLU と Magisk のインストールで、DAXFlash - Reconnecting to preloaderとなるのですがどうすれば回避?できるのでしょうか。

もっしょもっしょ

まったく同じ状況です。まぁフリーズしてる状態なんで、ファイルデルの待ちましょう。それかビルド番号が024の可能性も。(非推奨だし)

すて麿すて麿

怪しくて泣きそうだったけど↑のexeで抜けられました。
GoogleプレイとOrengeStateはホントに素晴らしい!
ありがとう!シューゴさん!

ttkattka


2重青線部のところが非対応になります!どうすればいいですか?

ふぃっしゅふぃっしゅ

magisk_patched-23000_XXXXX.img てやるやつで一生Failedってでるわ かなしい

machachachachamachachachacha

BLU と Magisk のインストールの最後のほうでチャレンジタッチのOS?が消えたんですけどチャレンジタッチにOSを入れることはできませんか?

mogooomogooo

いま私も同じ状況でここからどうしたら良いでしょうか

machachachachamachachachacha

Magisk のセットアップでパスワードを求められるんですけどどうしたら解決できますか?
あとpython mtk resetのログでReset command was sent. Disconnect usb cable to power off.と出ないんですけとどうしたら出ますか?

ttkattka

充電器、usbを接続していない状態で+ボタンを5秒ほど長押ししながら、usb接続すると上手くいくはずです。

machachachachamachachachacha

ありがとうございます
Reset command was sent. Disconnect usb cable to power off.と出ました!
が、パスワードが求められなくなるとは限らないんですね!

ttkattka

僕もパスワードを求められ、そこで止まっています

うよりみうよりみ

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など使えるようになり感謝しております。長文失礼いたしました。

しゅーごしゅーご
.NovaLauncher_6.2.19.apk

ファイル名がこの様になっている為です。
最初のドットを取り除くか、ドットの後にバックスラッシュを入れて下さい。

正しくは、

.\NovaLauncher_6.2.19.apk

または、

NovaLauncher_6.2.19.apk

です。

初心者初心者

お忙しい中ご返信ありがとうございます。
ご返信いただく前にあれこれ試していた中で、
adb install (apkの場所)
でNovaLauncherをインストールすることができました。
その後6つのコマンドを順に実行し、画面の設定は完了することができました。
シューゴ様記載のとおりではないので何か都合が悪い状態かもしれませんが今のところ不自由なく使えております。
使い道のなかったタブレットが使えるようになり感謝しております。
本当にありがとうございました。

ぷーぷー

超初心者です。
Playストア のセットアップまできましたが、モジュールをインストールのところでシェルのSU昇格を求められずに「Permission denied」と出てしまいます。
インストールの仕方が間違っているのだと思いますが、解決策をご教示できれば幸いです。

しゅーごしゅーご

Magiskアプリを更新して開いた際に、「追加のセットアップが必要です」のポップアップから再起動しましたか?

ぷーぷー

返信ありがとうございます。
「追加のセットアップが必要です」でOKを押したと思うんですが。
Magiskの更新のところからやり直してもポップアップは出てきません。

ぷーぷー

タブレットのMagiskをアンインストールしてやり直してみましたが、ポップアップが出てきません。

ぷーぷー

何度も申し訳ございません。
最初からやり直してPlayストアのインストールまでできましたが、
上記の初心者様と全く同じ状態です。
元のファイル名もNovaLauncher_6.2.19.apkで間違いありません。
初心者様より超初心者でシューゴ様には再三のお手数をお掛けしますが
ご教示いただけますと幸いです。

machachachachamachachachacha

Playストアのセットアップのモジュールをインストールができませんでした。
コンソール内で/system/bin/sh: su: not foundと表示されます。
Magiskのセットアップでは追加セットアップが必要ですと言われませんでした。
Mafiskを更新しようとすると操作が許可されていませんと表示されます
BLUとMagiskのインストールの後にQ&Aの02.04.000 以上の場合はどうすれば良い?をしたからなのでしょうか。
教えてください。

mogooomogooo

「BLU と Magisk のインストール」の最後の方から急にチャレパの電源が入らなくなってしまったのですがどうしたらいいでしょうか
(青ランプは出てるので充電はできてると思います
電源ボタンを長押ししてると一瞬青ランプが消えてまた青ランプがつくという感じです)

kimkim

BLUをしようとすると、なぜかDevice has is either already unlocked or algo is unknown.と出てBLUができません...

kaito13421kaito13421

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」
と入力し、再度ブートローダーロックをします。
以下の方法で文鎮化は私は治りました。

roudlphroudlph

「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.