13 March 2012

Xperia ray ST18iのルート権限取得

香港から輸入した海外版Xperia ray ST18iのルート権限取得を行う。

■ Xperia ray ST18iのバージョン

20120313-ray-version.jpg

・モデル番号 ST18i
・Androidバージョン 2.3.4
・ビルド番号 4.0.2.A.0.42 ← これ以上新しいバージョンでは現状のroot化ツール利用不可

であることを確認。Sonyは次のアップデートは Android 4 系になるとアナウンスしていたが、この機種のハードウエアでは遅くて使い物にならない可能性も高い…


■ 作業環境

・ Windows 7

■ Android SDKのインストール

Android Developers : Download the Android SDKホームページより 最新版のSDKファイル(installer_r16-windows.exe)をダウンロードする。

SDKのインストールにはJava SE JDKも必要となるので、Oracle Java SE Downloadsより 最新版のJava SE JDKファイルJava SE 7u3(jdk-7u3-windows-i586.exe)をダウンロードする。

Java SE JDKをインストール後、Android SDKをインストールする。

20120313-android-sdk-install.jpg

Android SDK managerが自動的に起動されるので、SDK ToolsとSDK Platform-toolsをインストールする。ほかの項目(Android 4.0.3など)はプログラム作成時に利用するエミュレータなので、今回のルート権限取得やAndroid実機操作には全く必要がない。

■ 実機Xperia rayをUSBケーブルでPCに接続

実機Xperia rayの設定メニュー → アプリケーション → 開発 → USBデバッグ をONにして、さらに、設定メニュー → アプリケーション → 提供元不明のアプリ もONにする。

20120313-config-usbdebug.jpg 20120313-config-unknownapk.jpg


この状態で、USBケーブルを使ってPCに接続。

初回接続時にドライバが自動的にロードされるが、「ADB Interface Driver」だけドライバが見つからない場合がある。(Windows XPではドライバインストールダイアログで、ネットから検索するを選択するとインストールが完了するが、Windows 7の場合はWindows Updateでドライバをインストールする必要がある)

先ほどインストールしたAndroid SDKのPlatform-toolsディレクトリでコマンドプロンプトを開き

C:\...\android-sdk\platform-tools> adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 11112222333344446666 device

実機が認識されていれば、問題なし

■ ルート取得ツールを使う

[ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkitから、最新版の「DooMLoRD_v4_ROOT-zergRush-busybox-su.zip」をダウンロードして、適当なディレクトリに解凍。


このツールは、linuxカーネルの脆弱性(zergRush exploit, 21 Nov 2011)を突いてルート権限取得後、Busybox (1.18.4)とSU files (binary: 3.0.3 and apk: 3.0.6)をインストールしてくれる。

実機Xperia rayをPCにUSB接続し、先ほど解凍したルート取得ツールのディレクトリにあるrunme.batを実行する。

C:\temp\DooMLoRD_v4_ROOT-zergRush-busybox-su>runme.bat --------------------------------------------------------------- Easy rooting toolkit (v4.0) created by DooMLoRD using exploit zergRush (Revolutionary Team) Credits go to all those involved in making this possible! --------------------------------------------------------------- [*] This script will: (1) root ur device using latest zergRush exploit (21 Nov) (2) install Busybox (1.18.4) (3) install SU files (binary: 3.0.3 and apk: 3.0.6) (4) some checks for free space, tmp directory (will remove Google Maps if required) [*] Before u begin: (1) make sure u have installed adb drivers for ur device (2) enable "USB DEBUGGING" from (Menu\Settings\Applications\Development) (3) enable "UNKNOWN SOURCES" from (Menu\Settings\Applications) (4) [OPTIONAL] increase screen timeout to 10 minutes (5) connect USB cable to PHONE and then connect to PC (6) skip "PC Companion Software" prompt on device --------------------------------------------------------------- CONFIRM ALL THE ABOVE THEN 続行するには何かキーを押してください . . . ENTER --- STARTING ---- --- WAITING FOR DEVICE adb server is out of date. killing... * daemon started successfully * --- creating temporary directory mkdir failed for tmp, File exists --- cleaning rm failed for *, No such file or directory --- pushing zergRush 1443 KB/s (23060 bytes in 0.015s) --- correcting permissions --- executing zergRush [**] Zerg rush - Android 2.2/2.3 local root [**] (C) 2011 Revolutionary. All rights reserved. [**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew. [+] Found a GingerBread ! 0x00000118 [*] Scooting ... [*] Sending 149 zerglings ... [+] Zerglings found a way to enter ! 0x10 [+] Overseer found a path ! 0x000151e0 [*] Sending 149 zerglings ... [+] Zerglings caused crash (good news): 0x2abcccc4 0x0054 [*] Researching Metabolic Boost ... [+] Speedlings on the go ! 0x6fd19483 0x6fd39847 [*] Popping 24 more zerglings [*] Sending 173 zerglings ... [+] Rush did it ! It's a GG, man ! [+] Killing ADB and restarting as root... enjoy! --- WAITING FOR DEVICE TO RECONNECT if it gets stuck over here for a long time then try: disconnect usb cable and reconnect it toggle "USB DEBUGGING" (first disable it then enable it) --- DEVICE FOUND --- pushing busybox 2171 KB/s (1075144 bytes in 0.483s) --- correcting permissions --- remounting /system --- checking free space on /system 0 KB/s (439 bytes in 1.000s) --- Free space on /system : 174956 bytes --- no cleanup required --- copying busybox to /system/xbin/ 2099+1 records in 2099+1 records out 1075144 bytes transferred in 0.191 secs (5629026 bytes/sec) --- correcting ownership --- correcting permissions --- installing busybox --- pushing SU binary 695 KB/s (22228 bytes in 0.031s) --- correcting ownership --- correcting permissions --- correcting symlinks --- pushing Superuser app 2459 KB/s (785801 bytes in 0.312s) --- cleaning --- rebooting ALL DONE!!! 続行するには何かキーを押してください . . .


■ ルート取得確認

メニューにsuperuserツールのアイコンが登録される

20120313-superuser.jpg

adbで実機に接続して、suでrootに昇格できることを確認する

C:\...\android-sdk\platform-tools> adb shell $ su # ← root権限のプロンプトに変わる