Rstream A1のroot取得 失敗編1 GoRoot.bat


root取得なんですが・・・
まず、adb接続してみてびっくりですよ。

$ mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/block/mtdblock7 /system yaffs2 rw 0 0
/dev/block/mtdblock10 /data yaffs2 rw,nosuid,nodev 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock9 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock5 /hidden yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock1 /misc yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock8 /misc2 yaffs2 rw,nosuid,nodev 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,user_id=0,group_id=0,allow_other 0 0
$ 

/systemパーテーションがrwでマウントされてるし。

調べてみるとGoRoot.batというのがあって、それでrootがとれるらしい。
内容的にはすごく簡単なので、手動でやってみる。

c:\android>\android\platform-tools\adb shell
$ mkdir /data/work
$ exit
c:\android>\android\platform-tools\adb push su /data/work
1877 KB/s (34612 bytes in 0.018s)

c:\android>\android\platform-tools\adb push Superuser.apk /sdcard/
1506 KB/s (16967 bytes in 0.011s)

c:\android>

まず、必要なsuとSuperuser.apkを転送。
あと、cpが使えなかったり/sdcard/だとsuに権限が与えられないので、/data/workに作業用ディレクトリを作成した。

で、次の手順。

c:\android>\android\platform-tools\adb shell
$ cd /data/work
$ ls -l
-rw-rw-rw- shell    shell       34612 2011-12-15 22:50 su
$ chmod 4755 su
$ ls -l
-rwsr-xr-x shell    shell       34612 2011-12-15 22:50 su
$

/data/workにコピーしたsuに対して、権限を与えてあげます。

$ ./su -
./su -
Permission denied
here1here2here3$

$

あれ?駄目?
あ、/dataはnosuid,nodevでマウントしてるからか、と/sqlite_stmt_journalsにコピーしなおしても、同じ結果に・・・

Rstream A1でこの手法はうまくいかないようです。

— 2011/12/19 追記 —
なぜCommtiva z71派生モデルで一般的なGoRoot.batがうまくいかなかったかを調べたところ、Rstream A1以外の大半のCommtiva z71派生モデルでは、adb接続時はrootユーザで入れてしまうらしい。
Rstream A1では、一般ユーザで入るように設定されてしまっているので、同じ手法が使えない、ということだったようだ。

なお、MUCHTEL A1のAndroid 2.2を書き込むと、rootユーザが簡単に取得できるようになるが、日本語設定がないので設定画面とかが英語になる、というのと、R-stream A1のIP電話アプリが消える、という問題がある。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください