SHARE
TWEET

IS01 BB13 root取得について

goroh_kun Jul 29th, 2011 13,787 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. bb13のroot取得(NAND書き換え)方法
  2.  
  3. goroh.kun@gmail.com
  4. 2011.7.30版
  5.  
  6. ■大まかな流れ
  7. (1)/data/system/packages.xmlを書き換えることで、system権限で起動する
  8. Terminal Emulatorアプリケーションをインストール。
  9.  
  10. (2)Terminal Emulatorから、/cache/recoveryファイルを作成
  11.  
  12. (3)再起動後、再度Terminal Emulatorから nandunlockを実行
  13.  
  14. (4)NANDを書き換え
  15.  
  16. ■/data/system/packages.xmlの書き換え方法
  17. ・通常はパーミッションの問題で書き換えできない
  18. ・/dataが777なので、/data/systemをmvし、adbから作ってあげる
  19.  
  20. ----------------------------------------------
  21. adb shell
  22. $ cd /data
  23. $ busybox cp -a system system2
  24. $ mv system system-
  25. $ mv system2 system
  26. $ chmod 666 system/packages.xml
  27. ----------------------------------------------
  28.  
  29. ・同様に/data/appもshellユーザーで作成する
  30. ----------------------------------------------
  31. $ cd /data
  32. $ mv app app-
  33. $ mkdir app
  34. ----------------------------------------------
  35.  
  36. VpnFaker.apk(Terminal Emulatorのプログラムをパッケージ名のみ書き換えたもの)をadbでpushする
  37. ※ダウンロードはこちらからどうぞ(goroh_kunのGoogleDocumentへのリンク)
  38. http://goo.gl/OuLnX
  39.  
  40. ----------------------------------------------
  41. adb push VpnFaker.apk /data/app
  42. ----------------------------------------------
  43.  
  44. 続いて、packages.xmlを書き換える
  45. ----------------------------------------------
  46. adb pull /data/system/packages.xml
  47. ----------------------------------------------
  48.  
  49. もともと/system/app/VpnServices.apkが入っているので、その権限を利用しつつ
  50. Terminal Emulatorを起動させてしまう。
  51.  
  52. ----------------------------------------------
  53.  
  54. <updated-package name="com.android.server.vpn" codePath="/system/app/VpnServices.apk" ts="1262271600000" version="4" sharedUserId="1000">
  55. <sigs count="1">
  56. <cert index="0" />
  57. </sigs>
  58. </updated-package>
  59. <package name="com.android.server.vpn" codePath="/data/app/VpnFaker.apk" system="true" ts="315967143000" version="1000" sharedUserId="1000">
  60. <sigs count="1">
  61. <cert index="0" />
  62. </sigs>
  63. </package>
  64. ----------------------------------------------
  65.  
  66. ※VpnFaker.apkのtsについては、/data/app/VpnFaker.apkのタイムスタンプから計算する
  67. ----------------------------------------------
  68. adb shell ls -l /data/app/VpnFaker.apk
  69. ----------------------------------------------
  70.  
  71. dateコマンドを使うか、このサイトで計算してください。
  72. http://www.epochconverter.com/
  73.  
  74. これで再起動すると、Terminal Emulatorがsystem権限で起動できるようになります。
  75.  
  76. Terminal Emulatorから、idコマンドを実行すると
  77. ----------------------------------------------
  78. uid=1000(system) gid=1000(system)
  79. ----------------------------------------------
  80.  
  81. と出るはず。
  82.  
  83.  
  84. ■/cache/recoveryの作成
  85. Terminal Emulatorから、以下のコマンドを実行
  86.  
  87. ----------------------------------------------
  88. $ cd /cache
  89. $ rm -r recovery
  90. $ ln -s /dev/tunctrl recovery
  91. ----------------------------------------------
  92.  
  93. ここで、再起動
  94. この状態で、/init.rcにて、書かれている/cache/recoveryのパーミッション変更が
  95. /dev/tunctrlに及ぶようになる。
  96.  
  97.  
  98. ■NANDロックはずし&NAND書き換え
  99. ----------------------------------------------
  100. adb push nandunlock /data/local/
  101. adb shell chmod 555 /data/local/nandunlock
  102. ----------------------------------------------
  103.  
  104. Terminal Emulatorから、以下のコマンドを実行
  105. ----------------------------------------------
  106. $ cd /data/local
  107. $ ./nandunlock
  108. $ flash_image recovery bb12_boot.img
  109. ----------------------------------------------
  110. ※bb12_boot.imgは書きたい任意のis01のブートイメージです。
  111.  
  112. ほかにもやり方はいろいろあるのですが、とりあえず最短の方法がこれになります。
RAW Paste Data
Challenge yourself this year...
Learn something new in 2017
Top