factory 領域について
記載準備中
- calibration
現在のタッチ座標 - calibration.factory
タッチ座標の初期値 - reset.log
初期化した日時 - reset.count
初期化した回数 - anrlog
- - log
- - mode / dchastate
- - softwriteend
- - factory.prop
- - count_dcha_completed
dcha_state が3になった回数 - ignore_dcha_completed
count_dcha_completed を無視する - dcha_hash
開発者向けオプション用のSHA-256のハッシュ
開発者向けオプションがパスワード保護で開けない
Neo/Next, 02.04.000以降のチャレパ3では、一度でも学習環境をセットアップすると dcha_stateが3の時にしか開けなくなりました。
そこでシステムを解析したところ、3つの方法が分かりました。
- /factory/count_dcha_completed を削除する
- /factory/ignore_dcha_completed を作成する
- /factory/dcha_hash を置き換える または作成する
次は、開発者向けオプションを開く方法を解説していきます。
dcha_state を変える手段
Neo/Next なら、初期化後は DchaStateChanger を使って回避する方法がありますが、
チャレパ3は、画面ロックが使えない→証明書がインストール出来ない→ProxyでのRewriteが出来ない ので不可能です。
仮に画面ロックが使えたとしても、 DchaServiceのサイレントインストール機能に署名チェックがあるのでどのみち無理です。
ですが、以下の3(4)つの方法なら回避出来ます。
count_dcha_completed を削除する手段
MTKClient を使って factory領域を書き換えます。
※インストール方法などの詳細な手順は省きます。
また、 Linux環境で作業する事を前提とします。
Windows の場合は、 WSL環境下で行ってください。
※Windows で実行する場合は、 MTKClient のコマンドに --noreconnect
のオプションを付けてください。
- 「
mtk r factory factory.img
」で factory領域を抽出する - 「
sudo mkdir mount
」でマウント先を作成 (名前は何でも良い) - 「
sudo mount factory.img mount/
」と実行し マウントする - 「
sudo rm mount/count_dcha_completed
」と実行し 該当ファイルを削除する - 「
sudo umount mount/
」と実行し マウントを解除する - 「
mtk w factory factory.img
」で チャレパに書き込む
こんな感じです
ignore_dcha_completed を作成する手段
先程の手順の4番(⒋)が変わるだけです。
- 「
sudo touch mount/ignore_dcha_completed
」と実行し 該当ファイルを作成する
※必ず Root で実行してください。
UIDが 0 でないと動作しません。
後は同じです
この方法で回避すると、万が一 dcha_state が 3 になってしまっても、無視され続けるので1番確実です。
dcha_hash を置き換える/作成する手段
先程と同様の方法で書きます。
- 「
sudo sh -c "echo -n ''|sha256sum|cut -c-64>mount/dcha_hash"
」で SHA-256のハッシュを書き込む - 「
sudo chmod o+r mount/dcha_hash
」と実行し OtherにRead権限を持たせる
後は同じ
これでパスワードを入力しなくても、OKボタンを押すだけで開発者向けオプションに入れます。
自分の好きなパスワードにしたい場合は、echoする中身を変えてください。
あとがき
ADBが使える場合、 mtk-su を使って端末起動時に行う方が確実で簡単です。
- 「
adb push .\mtk-su /data/local/tmp
」 - 「
adb shell
」 - 「
cd /data/local/tmp
」 - 「
chmod +x ./mtk-su
」 - 「
./mtk-su
」 - 「
cd /factory
」 - 「
rm -f count_dcha_completed
」 - 「
touch ignore_dcha_completed
」 - 「
echo -n | sha256sum | cut -c-64 > dcha_hash
」 - 「
reboot
」
ダウングレードの手順
必要なもの
- アップデートファイル
- microSDカード
アップデートファイルを、「update.zip」と言う名前でSDカードの一番上(ルートディレクトリ)に置きます。
microSDカードをチャレパ3に挿入し、設定 → タブレット情報 → システムアップデート に入り、
ACアダプタに接続した状態で「システムアップデートを開始します」を押す。
暫くするとアップデートが開始されます。
※アップデートファイルの配布は行っていません!
コメント
最新を表示する
ダウングレードのファイルはどこから入手できるでしょうか…
>> 返信元
調査中なんでしょうか?
回避方法を書いてくださってる
MediaTek_Preloader_USB_VCOM_Drivers_Setup
などやってみましたが、やっぱり
"Reconnecting to preloader"で止まってしまいます。
>> 返信元
チャレンジパッド2ではこの工程を行わずに開発者向けオプションが開けますよ
チャレンジパッド2では出来ないんですか?
これって全部実行すれば、dcha_completedらへんのを全部無効にできるってことですか?
>> 返信元
同じです
初心者でmtkclientの使い方がよくわからない.....大体どんなことをしたらいいのかはわかったのに....
>> 返信元
"Reconnecting to preloader"で止まってしまう現象については調査中です。
質問です。MTKClient で、mtk r factory factory.imgを実行してもDAXFlash - Reconnecting to preloaderで固まってしまいます、どうしたらいいですか?
microSDさえあればiPadでも可能ですか?
>> 返信元
linuxのエミュレート環境を作ればおそらく行ける
>> 返信元
環境を構築しないとできません
zenn.dev/s1204it/articles/16fce85441821f
上記のサイトを参考にしましたが、リトルバイナリの書き換えが分かりません。
orange stateの状態です。
Reset command was sent. Disconnect usb cable to power off.
まで出来ましたが、起動して開発者オプションを開くとパスワードが要求されて、 USBデバッグが有効に出来ません。
>> 返信元
zenn.dev/s1204it/articles/16fce85441821f
このサイトで分かりやすく解説されていますので見てみてください!mktclientはちょっとむずいかも
mtkclientのインストールで、universal adbを入れたんだけど、ちゃれぱ3が認識されない。誰か教えてぇぇぇ
これってwindowsでできますか
めっちゃためになるけど、こんな事の為にガチるのなんかおもろいて
>> 返信元
もちろん
adbコマンドがどうしてもできません
パソコンなしでは不可能ですか?
NG表示方式
NGID一覧