既にICSにアップデートしてしまったSony Tabletでroot権限を取得する方法
今まではHC(3.2.1)の状態でroot化している状態からでないとICSにおいてroot化することは出来ませんでしたが、@fi01_IS01氏と@goroh_kun氏のお陰で既にICSにアップデートした状態でもroot化が可能になりました。感謝です。
実は以前の方法でroot化していたんですが、一度修理に出したのでそれ以来root化出来ていませんでした。
以下は殆どreadmeに書いてあることですが、詰まったところなども書いています。ただもしかしたら別のところで何か間違えていただけということも有り得るので参考程度に。因みにSony Tablet Pにて行いました。
VpnFaker.apkを入れ替える必要があるかも。
http://forum.xda-developers.com/showpost.php?p=31658619&postcount=143
SuperuserのSuperuser-3.1.3-arm-signed.zip(バージョンは多分どれでも良い)
手順2までやってVpnFaker.apkが仕込めなかった場合、再度同手順を行うには手順1後、手順4の後始末を参考に以下のようにする必要があります。
1-1. リストア実行
1-3. リストア終了後、ディレクトリの権限を確認
手順1-4の続き
手順1-5のプロンプトでCtrl-C
1-8. ディレクトリの権限を確認
2-1. ファイルの展開
手順2-1の続き
手順2-2の続き
手順2-3の続き
手順2-4の続き
手順2-5の続き
手順2-6の続き
2-8. 再起動する
別のコマンドプロンプトから
3. root権限取得
3-1. 端末エミュレータを起動
端末上からアプリVpnDialogs(ドロイド君アイコン)を起動
もしくは
手順3-1の続き
3-3. /devにrootシェル作成
手順3-2の続き
手順3-3の続き
3-6. rootシェル作成
手順3-5の続き
3-8. /systemの変更前にバックアップを作成
手順3-7の続き
手順3-8の続き
3-10. /systemのrootシェルの動作確認
手順3-9の続き
4. 後始末
4.1. /data/appの後始末
手順4-2の続き
別のコマンドプロンプトから
実は以前の方法でroot化していたんですが、一度修理に出したのでそれ以来root化出来ていませんでした。
以下は殆どreadmeに書いてあることですが、詰まったところなども書いています。ただもしかしたら別のところで何か間違えていただけということも有り得るので参考程度に。因みにSony Tablet Pにて行いました。
ツール(2012/09/20 18:56更新)
xdaにroot化を自動でやってくれるバッチファイルがありましたので、載せておきます。試していません。underfish さんのコメント... @ 2012年9月19日 23:48underfishさんによればツール通りに行えば良いとのこと。
xdaのバッチ問題なくroot化できました。
書いてあるままで、それ以外の作業は必要ないようです
http://forum.xda-developers.com/showpost.php?p=31658619&postcount=143
必要なファイル
SonyTabletICS-2.zipSuperuserのSuperuser-3.1.3-arm-signed.zip(バージョンは多分どれでも良い)
備考(2012/09/18 21:33更新)
別の#SonyTablet の3.2でroot取ってからAIOやろうと思ったら上手くいかない。結局#ICS に上げてからroot取った。やはり手順通りでは上手く行かない。今日やった感じだと2-3と2-4を飛ばして2-8で再起動、手順1、2-3、2-4やって再起動が正解っぽい。
— fi01さん (@fi01_IS01) 9月 10, 2012
手順2までやってVpnFaker.apkが仕込めなかった場合、再度同手順を行うには手順1後、手順4の後始末を参考に以下のようにする必要があります。
mv system system2 mv system- system rm system2 mv app app2 mv app- app
手順
1. ディレクトリのパーミッション変更1-1. リストア実行
> adb restore settings.ab1-2. 画面に認証が出るのでOK押す
1-3. リストア終了後、ディレクトリの権限を確認
> adb shell ls -ld /data/data/com.android.settings/a drwxrwxrwx system system a1-4. テンポラリファイル削除
> adb shell $ cd /data/data/com.android.settings $ rm -r a1-5. ディレクトリ/dataの権限変更
手順1-4の続き
$ while : ; do ln -s /data a/file99; done1-6. 別のコマンドプロンプトを開き、リストア実行
> adb restore settings.ab1-7. リストアが完了したらadb shellを停止させる
手順1-5のプロンプトでCtrl-C
1-8. ディレクトリの権限を確認
> adb shell ls -ld /data drwxrwxrwx system system data //3-1でVpnDialogsが表示されなくて、数回繰り返していたらディレクトリの権限が変更されていないことが度々あったが、コマンドプロント閉じて解凍したファイルを消し再度解凍して行ったら出来た。2. 端末エミュレータを仕込む
2-1. ファイルの展開
> adb push busybox /data/local/tmp > adb push rootkit.tar.gz /data/local/tmp //Superuser.apkとsuも同じディレクトリにpushしておく > adb shell $ cd /data/local/tmp $ chmod 755 busybox $ ./busybox tar zxf rootkit.tar.gz2-2. /data/systemをshellユーザで作成
手順2-1の続き
$ cd /data $ /data/local/tmp/busybox cp -r system system2 $ /data/local/tmp/busybox find system2 -type f -exec chmod 666 {} \; $ /data/local/tmp/busybox find system2 -type d -exec chmod 777 {} \; $ mv system system- $ mv system2 system2-3. /data/appもshellユーザで作成
手順2-2の続き
$ mv app app- $ mkdir app2-4. VpnFaker.apkを/data/appに配置
手順2-3の続き
$ mv /data/local/tmp/VpnFaker.apk /data/app //2-8後VpnDialogsのアイコンが表示されなかったのでadb pushで/data/appに突っ込み、パーミッションを644に変更したら表示された。2-5. タイムスタンプの確認(重要)
手順2-4の続き
$ TZ=0 ls -l /data/app -rw-r--r-- shell shell 198580 2012-08-27 00:00 VpnFaker.apk2-6. packages.xmlを生成
手順2-5の続き
$ /data/local/tmp/busybox sed -f /data/local/tmp/packages.xml.sed system-/packages.xml > system/packages.xml2-7. packages.xmlの確認
手順2-6の続き
$ /data/local/tmp/busybox grep vpndialogs system/packages.xml(手順2-5のタイムスタンプが異なっていた場合、"1396560b400"の値を調整する)
2-8. 再起動する
別のコマンドプロンプトから
> adb reboot端末エミュレータの仕込が成功すると「Androidをアップグレードしています」の様なダイアログが表示される。
3. root権限取得
3-1. 端末エミュレータを起動
端末上からアプリVpnDialogs(ドロイド君アイコン)を起動
もしくは
> adb shell am start -n com.android.vpndialogs/.Term3-2. 実行権限の確認
手順3-1の続き
$ iduidが1000(system)になっている
3-3. /devにrootシェル作成
手順3-2の続き
$ /data/local/tmp/onload.sh このエラーは無視して良いとのこと。3-4. /dataの再マウント//chmodのエラーが出たので、1をやり直して手動でパーミッションを変更した。3-4も同様。
手順3-3の続き
$ /data/local/tmp/onload2.sh3-5. adbでroot権限を取得
> adb shell $ /dev/sh # iduidは2000(shell)になっている
3-6. rootシェル作成
手順3-5の続き
# chown 0.0 /data/local/tmp/_su # chmod 6755 /data/local/tmp/_su # exit $ exit3-7. rootシェル実行
> adb shell $ /data/local/tmp/_su //ここでsu: permission deniedと表示されたので、3-6のchmodの直後に実行したら出来た。 # iduidが0(root)になっている
3-8. /systemの変更前にバックアップを作成
手順3-7の続き
# dd if=/dev/block/mmcblk0p3 of=/mnt/sdcard/system.ext4 bs=128K3-9. rootシェルのインストール
手順3-8の続き
# /data/local/tmp/busybox mount -o rw,remount /system # /data/local/tmp/busybox cp /data/local/tmp/_su /system/xbin # chown 0.0 /system/xbin/_su # chmod 6755 /system/xbin/_su # /data/local/tmp/busybox mount -o ro,remount /system # sync # exit //_suはadb shell専用のrootシェルでSuperuserを必要としないとのこと。_suではなくてsuをインストールして、Superuser.apkを/system/appに突っ込んでもいいと思う。
3-10. /systemのrootシェルの動作確認
手順3-9の続き
$ _su # iduidが0(root)になっている事を確認
4. 後始末
4.1. /data/appの後始末
> adb shell $ _su # cd /data # /data/local/tmp/busybox cp -p app/VpnFaker.apk app-/VpnFaker.apk # mv app app2 # mv app- app4.2. /data/systemの後始末
手順4-2の続き
# /data/local/tmp/busybox sed -f /data/local/tmp/packages.xml.sed system-/packages.xml > system-/packages.xml.2 # mv system-/packages.xml system-/packages.xml- # chown 1000.1000 system-/packages.xml.2 # chmod 644 system-/packages.xml.2 # mv system-/packages.xml.2 system-/packages.xml # mv system system2 # mv system- system4.3. 再起動する
別のコマンドプロンプトから
> adb reboot
これでいつでもadb shellから_suでroot権限が取得出来ます。
また、アプデでsuidビットを落とされ、unrootされた時もVpnDialogsの端末エミュレータが残っていれば
手順3の実行で再度root権限が取得出来る可能性があります。
このコメントは投稿者によって削除されました。
返信削除xdaのバッチ問題なくroot化できました。
返信削除書いてあるままで、それ以外の作業は必要ないようです
underfish さん
返信削除おお、そうですか!
情報有り難うございます。
みなさま、初めまして。
返信削除ソニタブ関連記事を探していいたら、ここへたどり着きました。
xdaのファイルについて質問があります。
device type はそれを選べばよいでしょうか?
Tablet S で良いでしょうか?
教えて頂けると、幸いです。
よろしくお願いします。
けんあり さん
返信削除Tablet Sで良いはずです。
procyonさん
返信削除すみません、ご回答ありがとうございます。
TabletSで試してみます!
ありがとうございました。