Linuxの知識は趣味でサーバーを8年程稼働させてる程度。
まぁWEBを手本にしなければ作れない自信はある。
使っているスマホがauのArrows11Fでつい最近ICSにアップデート出来るように成った。
ICSへのアップデートよりも・・・root取得失敗時に完全にリカバリーが可能になったのが動機。
まずICSにするにはスマホとパソコンをADB接続しなくてはならないらしい。
ADB接続用のドライバーは発売メーカーが公開している。
早速ダウンロードだ!
ドライバーのインストール方法は手動。
Windowsのバージョンによってやり方が違うんだが、デバイスマネージャから手動とだけ書いておく。
無事ADBドライバーがインストールされるとデバイスマネージャに
Android Phoneが出現する
その中に私のPCでは
Android Composite ADB Interfaceと成っている、まぁADBが付いてればオケ?
次にパソコン側にADB接続用ソフトをインストール。
ここから最新のをダウンロードし任意の場所に解凍。
解凍後色々あるフォルダから
platform-toolsってフォルダを捜す。
捜したらその場所にPATHを通す。
PATHの通し方はシステムの詳細設定の環境変数とだけ書いておく。
これでパソコンとISW11FがADB接続出来る状態になった。
続いて先人が解析し作成してくれた偉大なツールに感謝しつつ入手。
必要なファイルは
の3つ、勝手にリンク貼ってるので苦情が来たらリンクは消す。
全てのファイルを解凍する。
f05d_unlock_v3フォルダ内のf05d_unlockをf05d_root_kit_v012フォルダに上書きコピー。
isw11f_helperフォルダのisw11f_helperをf05d_root_kit_v012フォルダにコピー。
If05d_root_kit_v012フォルダのSW11F_root_v012.batを編集する。
90行目 adb shell "mkdir /data/local"までは一切変更なし。
91行目以降は全て削除。
91行目以降に以下を貼り付け。
adb shell "mkdir /data/local/tmp"
adb push mkdevsh /data/local/tmp/
adb shell "chmod 777 /data/local/tmp/mkdevsh"
pause
echo isw11f_helperをrootkit配下に転送し777に。
adb push isw11f_helper /data/rootkit/
adb shell "chmod 777 /data/rootkit/isw11f_helper"
pause
以上で保存し終了。
スマホとパソコンをUSBケーブルで繋ぐ。
スマホの設定でスリープを10分、開発者向けオプションのUSBデバックモードにするにチェック。
スマホのWIFIはOFFにしておこう。
パスワードを設定しているならソレも解除しておこう。
以上で準備完了。
パソコンのコマンドプロンプトを起動し
adb shellと入力し
と成れば繋がって居ます、成らなければ再度ADB関連のチェック。
コマンドプロンプトは×で閉じてしまってOK。
f05d_root_v012.batをダブルクリック。
以下画面指示に従い進めていく、エラー等が出ていないかもしっかりと見ながらネ。
全て正常に終了すればカレントフォルダがf05d_root_v012に成っているコマンドプロンプトが残っている。
そのコマンドプロンプトに
adb shell "/data/rootkit/isw11f_helper"
と入力。
pathcing...
done!
Killed
が出るまで行う。
成功すれば終了。
WifiのON OFFにて/dev/shが実行可能に成る。
/dev/shが使える用になったら
f05d_root_kit_v012フォルダの
root取得.txtを読みながら実行すべし。
2012年12月9日追記
root取得.txtも編集してるの忘れてました。
2カ所有る
/data/rootkit/f05d_unlock 0
を
/data/rootkit/f05d_unlock 2
に変更する必要が有ります。
SupersuやBusybox等は再起動する前に入れるべし。
再起動すると/systemは書き込みできなくなる。
また書き込み可能には出来るがめんどくさいしね。
偉大な先人の許可が頂けるならroot取得までを1つのbatファイルに編集しUPするんだが、
現状は無許可の転載なので各自で編集すべし。
質問などは2chですべし。
このブログは滅多に見ないしね。
今回のISW11F rootedまでにファクトリーリセットは4回位やったなぁ。
ICSのリカバリーも2回行いました。
今ならリセットしなくても出来るカモ知れないが、リセットするつもりでバックアップは取るべし。
特に/data/local/tmp関連で非常に試行錯誤繰り返した、そのたびにリセットでしたよ。
Titanium Backup Proが使いたくて今回苦労したが、もうリセット後の苦労も無くなったと思えば良しかな。
2012年12月9日追記
auのsu回避に関しては私は何も対策していません。
再起動のたびに不正な・・・って表示が出るがホームボタン押して普通に進めて起動してます。
特にsuに成れないとかはなさそうなのでこのまま行く予定。
2012年12月12日追記
※手法はsuをsmにリネームし起動チェックを通過。
※恒久的にsuはsmになり/system/xbinに居座る。
※起動チェック通過後にアプリベースでスプリクトを実行しsuを復活
※SuperSUの設定は/system/xbin/suが存在する時点に済ませておく。
※adb shellにてsuまで進める。
/data/rootkit/f05d_unlock 2
mount -o rw,remount /system /system
※/system/xbin/suをsmにリネームする。
mv /system/xbin/su /system/xbin/sm
※ここからはスプリクトアプリにて行う
※私はGScript Lite
を使用。
※/sbinを書き込み可能にする。
sm
/data/rootkit/f05d_unlock 2
mount -o rw,remount / /
cp /system/xbin/sm /sbin/su
chown root.root /sbin/su
chmod 6755 /sbin/su
chmod 755 /sbin
sync;sync;sync;
mount -o r,remount / /
exit
※GScript Liteで実行するとハングアップっぽい挙動をします。
※ですが正常に実行出来ているのでOKとしています。
※SuperSUのアイコンが消えちゃうが・・・どうしたものか。
※アイコンは見えないが裏で動いてるしOKとするか。
※上記状態からSuperSUの設定は/system/xbin/suが存在する
※時に済ませておく必要があるかも。