■必要なもの
(1)shdisphook
http://goo.gl/Bs6Iq
(2)breaksuidshdisp
http://goo.gl/r87zt
(3)adb接続環境
(4)ターミナルエミュレータ。
私はandroidマーケットからjackpalのターミナルエミュレータをインストールしています。
(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関数の破壊。
system権限取得後、以下のことを行ってください。
主に3段階のことをやります。
(1)shdisphookによるsystem権限の取得、/cache/recoveryのリンク作成
(2)/dev/shdispのパーミッションを666にする
(3)breaksuidshdispによるsuid関数の破壊。
■手順
あらかじめ、breaksuidshdispを/data/local/に入れておいてください。
あらかじめ、breaksuidshdispを/data/local/に入れておいてください。
adb push breaksuidshdisp /data/local/
adb shell chmod 755 /data/local/breaksuidshdisp
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
$ echo 'chmod 666 /cache/recovery' >> /data/local/oncmd.sh
$ chmod 755 /data/local/oncmd.sh
ここで、microSDのマウント解除ダイアログを表示させると
/cacheディレクトリのパーミッションが777になっているはず
/cacheディレクトリのパーミッションが777になっているはず
つづいて
$ rm -r /cache/recovery
$ ln -s /dev/shdisp /cache/recovery
$ rm -r /cache/recovery
$ ln -s /dev/shdisp /cache/recovery
ここで、再起動。もう一度shdisphookを実行する。
microSDのマウント解除ダイアログを表示させる
microSDのマウント解除ダイアログを表示させる
すると、/dev/shdispが以下の権限になるはず。
$ adb shell ls -l /dev/shdisp
crw-rw-rw- system cache 232, 0 1980-01-08 10:07 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
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関数が破壊されますので、ターミナルエミュレータを起動させると
#が表示されていると思います。
#が表示されていると思います。
はじめまして。
返信削除お聞きします、このroot取得は、android2.3 or 4.0のどちらですか?。