Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sh-01dのroot取得までの手順
- メモ版
- 2012/2/5
- goroh.kun@gmail.com
- ■必要なもの
- (1)shdisphook
- http://goo.gl/Bs6Iq
- (2)breaksuidshdisp
- http://goo.gl/r87zt
- (3)adb接続環境
- (4)ターミナルエミュレータ。
- 私はandroidマーケットからjackpalのターミナルエミュレータをインストールしています。
- ■概要
- system権限取得後、以下のことを行ってください。
- 主に3段階のことをやります。
- (1)shdisphookによるsystem権限の取得、/cache/recoveryのリンク作成
- (2)/dev/shdispのパーミッションを666にする
- (3)breaksuidshdispによるsuid関数の破壊。
- ■手順
- あらかじめ、breaksuidshdispを/data/local/に入れておいてください。
- adb push breaksuidshdisp /data/local/
- adb shell chmod 755 /data/local/breaksuidshdisp
- ここから、adb shellで実行。shdisphookでsystem権限取得状態に
- なってください。
- $ echo 'chmod 777 /cache' > /data/local/oncmd.sh
- $ echo 'chmod 666 /cache/recovery' >> /data/local/oncmd.sh
- $ chmod 755 /data/local/oncmd.sh
- ここで、microSDのマウント解除ダイアログを表示させると
- /cacheディレクトリのパーミッションが777になっているはず
- つづいて
- $ rm -r /cache/recovery
- $ ln -s /dev/shdisp /cache/recovery
- ここで、再起動。もう一度shdisphookを実行する。
- microSDのマウント解除ダイアログを表示させる
- すると、/dev/shdispが以下の権限になるはず。
- $ adb shell ls -l /dev/shdisp
- crw-rw-rw- system cache 232, 0 1980-01-08 10:07 shdisp
- ここで、breaksuidshdispを実行
- $/data/local/breaksuidshdisp
- afd0a680 : 90 00 2d e9 d5 70 a0 e3 00 00 00 ef 90 00 bd e8
- afd0a690 : 00 00 b0 e1 1e ff 2f 51 ec b2 00 ea 00 f0 20 e3
- p2 = AFD50000 - B0010000
- event_type = 268435456
- p3 = 007E15E0
- p4 = 0091D8BC
- p3 = AFD0A680
- p4 = AFE4695C
- afd0a680 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- afd0a690 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- これで、suid関数が破壊されますので、ターミナルエミュレータを起動させると
- #が表示されていると思います。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement