goroh_kun

SH-01Dのroot取得までの道

Feb 5th, 2012
4,187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. sh-01dのroot取得までの手順
  2. メモ版
  3. 2012/2/5
  4.  
  5. ■必要なもの
  6. (1)shdisphook
  7. http://goo.gl/Bs6Iq
  8. (2)breaksuidshdisp
  9. http://goo.gl/r87zt
  10. (3)adb接続環境
  11. (4)ターミナルエミュレータ。
  12. 私はandroidマーケットからjackpalのターミナルエミュレータをインストールしています。
  13.  
  14. ■概要
  15. system権限取得後、以下のことを行ってください。
  16. 主に3段階のことをやります。
  17. (1)shdisphookによるsystem権限の取得、/cache/recoveryのリンク作成
  18. (2)/dev/shdispのパーミッションを666にする
  19. (3)breaksuidshdispによるsuid関数の破壊。
  20.  
  21. ■手順
  22. あらかじめ、breaksuidshdispを/data/local/に入れておいてください。
  23.  
  24. adb push breaksuidshdisp /data/local/
  25. adb shell chmod 755 /data/local/breaksuidshdisp
  26.  
  27. ここから、adb shellで実行。shdisphookでsystem権限取得状態に
  28. なってください。
  29.  
  30. $ echo 'chmod 777 /cache' > /data/local/oncmd.sh
  31. $ echo 'chmod 666 /cache/recovery' >> /data/local/oncmd.sh
  32.  
  33. ここで、microSDのマウント解除ダイアログを表示させると
  34. /cacheディレクトリのパーミッションが777になっているはず
  35.  
  36. つづいて
  37. $ rm -r /cache/recovery
  38. $ ln -s /dev/shdisp /cache/recovery
  39.  
  40. ここで、再起動。もう一度shdisphookを実行する。
  41. microSDのマウント解除ダイアログを表示させる
  42.  
  43. すると、/dev/shdispが以下の権限になるはず。
  44. $ adb shell ls -l /dev/shdisp
  45. crw-rw-rw- system cache 232, 0 1980-01-08 10:07 shdisp
  46.  
  47. ここで、breaksuidshdispを実行
  48.  
  49. $/data/local/breaksuidshdisp
  50. afd0a680 : 90 00 2d e9 d5 70 a0 e3 00 00 00 ef 90 00 bd e8
  51. afd0a690 : 00 00 b0 e1 1e ff 2f 51 ec b2 00 ea 00 f0 20 e3
  52. p2 = AFD50000 - B0010000
  53. event_type = 268435456
  54. p3 = 007E15E0
  55. p4 = 0091D8BC
  56. p3 = AFD0A680
  57. p4 = AFE4695C
  58. afd0a680 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  59. afd0a690 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  60.  
  61. これで、suid関数が破壊されますので、ターミナルエミュレータを起動させると
  62. #が表示されていると思います。
Advertisement
Add Comment
Please, Sign In to add comment