Advertisement
goroh_kun

IS01 BB13 root取得について

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