106SHのroot化
最初に
root化は自己責任で行なってください。
万が一、故障や不具合が起きた場合でも当ブログは責任を負えません。
少し長くなりますが一気に全部まとめます。
※以下の手順はビルド番号S0020用のものになります。
ソフトウェアアップデートでビルド番号が変わっているものは
対応したファイルが別にありますので、ファイルを差し替えてください。
用意するもの
①PCでのダウンロード(zipファイル)
・goroh_kun氏の作成した 「isw16sh_hijack_jni」
・同じくgoroh_kun氏の作成した「mkdevshkit」
・2ちゃんねる、ISW16SH・root化スレの71氏が作成した「isw16shroot」
以上3つのファイルをPCでダウンロード後、解凍し任意の場所に置いてください。
ここでは説明を簡単にするために、Cドライブ直下に「106sh」というファイルを作成し
その中に解凍したフォルダをそのまま置いたということにします。
②106SHでのダウンロード(アプリ)
・BusyBox(https://play.google.com/store/apps/details?id=stericson.busybox&feature=search_result#?t=W251bGwsMSwxLDEsInN0ZXJpY3Nvbi5idXN5Ym94Il0.)
なお、これらのアプリはまだ使えません。。
が、とりあえずインストールのみしておいてください。
root化
・106SHの設定→その他の設定→開発者向けオプション→USBデバッグを有効にする
ついでに、スリープモードにしないにもチェックを入れておきましょう。
・106SHとPCをUSBで接続してください。
ここからはPCでの操作です。
・「winキー+r」でコマンドプロンプトを起動してください。
ではここからいよいよroot化です。以下のコマンドを順に打ち込んでいきましょう。
(改行=エンターキーです。スペースなども半角でそのまま入力してください)
(最初にダウンロードしたファイル類をC:\106sh\に置いていない場合は適切なパスに打ち替えてください)
cd C:\106sh\isw16sh_hijack_jni
adb restore isw16sh.ab
(106SHの画面に認証がでるのでOKを押す)
adb shell
cd /data/data/com.android.settings/
rm a/file*
while : ; do ln -s /data/data/com.android.settings/lib/libsdservice_jni.so a/file99; done
↑無限に処理が続く状態になります。※失敗ではありません
(この段階でもう一つコマンドプロンプトを起動します)
(cd C:\106sh\isw16sh_hijack_jni)
(adb shell)
(adb restore isw16sh.ab)
(同じく106SHの画面に認証がでるのでOKを押してください)
(exit→エンターを複数回打ち込み、コマンドプロンプトを閉じてください)
最初のコマンドプロンプト上でエンターを押してください→処理が止まります
同じくexit→エンターを複数回打ち込み、コマンドプロンプトを閉じてください
もう一度コマンドプロンプトを開きます。
cd C:\106sh\isw16sh_hijack_jni
adb shell
adb push onload.sh /data/local/tmp/onload.sh
106SHの設定→microSDと端末容量→microSDのマウント解除を選択→OKとキャンセルが出ますがどちらも選択せずにそのまま待ちます
→エラーがでてアプリが強制終了されればOKです
再びコマンドプロンプトです。
exit
cd C:\106sh\mkdevshkit
adb shell
adb push mkdevsh /data/local/tmp/mkdevsh
adb push onload.sh /data/local/tmp/onload.sh
106SHの設定→microSDと端末容量→microSDのマウント解除を選択→OKとキャンセルが出ますがどちらも選択せずにそのまま待ちます
→エラーがでてアプリが強制終了されればOKです
exit
adb shell
/dev/sh
この段階で「#」が表示されればひとまず一時root取得です。
常時root取得までもう少しです。
exit
exit
cd C:\106sh\isw16shroot
adb shell
adb push mkdevsh /data/local/tmp/mkdevsh
adb shell chmod 777 /data/local/tmp/mkdevsh
adb push su /data/local/tmp/su
adb shell chmod 777 /data/local/tmp/su
106SHの設定→microSDと端末容量→microSDのマウント解除を選択→OKとキャンセルが出ますがどちらも選択せずにそのまま待ちます
→エラーがでてアプリが強制終了されればOKです
adb push isw16sh_unlock /data/local/tmp/isw16sh_unlock
adb shell chmod 755 /data/local/tmp/isw16sh_unlock
/dev/su
/data/local/tmp/isw16sh_unlock
ここで長い英文が表示されます。
/dev/su
sync;sync;sync
mount -o remount,rw -t ext4 /dev/block/mmcblk0p12 /system
dd if=/data/local/tmp/su of=/system/bin/su
chown root.shell /system/bin/su
chmod 06755 /system/bin/su
sync;sync;sync
mount -o remount,ro -t ext4 /dev/block/mmcblk0p12 /system
reboot
再起動がかかり、root化完了です。
Superuser起動→許可してください。
adb shell
su
/data/local/tmp/isw16sh_unlock
mount -o remount,rw -t ext4 /dev/block/mmcblk0p12 /system
ln -s /system/bin/su
mount -o remount,ro -t ext4 /dev/block/mmcblk0p12 /system
この状態でBusyBoxの起動・インストールも行いましょう。
/dev/su
sync;sync;sync
mount -o remount,rw -t ext4 /dev/block/mmcblk0p12 /system
dd if=/data/local/tmp/su of=/system/bin/su
chown root.shell /system/bin/su
chmod 06755 /system/bin/su
sync;sync;sync
mount -o remount,ro -t ext4 /dev/block/mmcblk0p12 /system
reboot
これにて本当にroot化完了です。
つまづきそうなのは「106SHの設定→microSDと端末容量→microSDのマウント解除を選択→OKとキャンセルが出ますがどちらも選択せずにそのまま待ちます」の部分でしょうか。
端末によってはかなり時間がかかることがあるので気長に待ちましょう。
(最初の方で「スリープモードにしない」に設定したのもこの対策です。)
お疲れ様でした。