Xperia ray(ST18i)のroot奪取

目次

Xperia ray(ST18i)の root を取得して、中国語風の日本語フォント(中華フォント)を見慣れた日本語フォントに置き換えた記録です。

先日購入した Xperia ray(ST18i)は、オリジナルのままでも日本語表示に対応しています。そのためロケーションを日本に設定してアクセスポイントを設定するだけで普通に使えます。

ただちょっと気になるのが日本語のフォントです。文字化けとかは無く日本語を表示するのですが、漢字の「今」や「空」の字形が見慣れた日本語のフォントとは違ってなんとなく中国語風(中華フォント)です。明らかな中国語のように省略されたような漢字では無いので、困るというほどではありませんが、やはり何ともしっくりきません。

そこで日本語フォントを見なれた字形のフォントに置き換えることにしました。フォントはシステムファイルで通常は変更できないので、root を取得してフォントを置換しました。

root 取得にはセキュリティホールが必要

ソフトウエアにはバグが付きもので、バグには危険なセキュリティホールが潜んでいることがあります。そのため発売後に発見されたバグは、ファームウエアの更新によってふさがれていきます。

起動する時の設定で root を取得できる機種もあるようですが、今回はセキュリティホールを突いて root を取得する方法を使います。ただし今回使いたいセキュリティホールはビルド番号 4.0.2.A.42 までにしかなく、それ以降のファームいエアではセキュリティホールが塞がれています。よってビルド番号 4.0.2.A.0.6 が導入されている私の Xperia ray では、一手間かけないと root を取得できません。

ファームウエアのダウングレード

最新のファームウエアでは root を取得できないので、ファームウエアを古いバージョンにダウングレードします。

ファームウエアのダウングレードには、wotanserver.comを使用します。この春までははファームウエアのダウングレードは無料でしたが、最近有料になりました。有料と言っても 1.99 ユーロと安価です。

  1. 端末の種類を選びます。
  2. 「SONY ERICSSON XPERIA RAY FIRMWARE FLASHING」の代金を PayPal で支払います。
  3. USB Flash Driver と WotanClient 3 をダウンロードしてパソコンにインストールします。
  4. WotanClient を起動して、説明に従ってボリュームを下げるボタンを押しながら電源を切った Xperia ray を接続します。
  5. Enable advanced setting をチェックします。
  6. Firmware から 4.0.2.A.42 と、CDA から適当な国を選びます。香港で購入した Xperai ray なので Hong Kong を私は選びました。
  7. 後は Next ボタンをクリックして先に進みます。
  8. ファームウエアのダウングレートが完了すると Xperia ray が再起動されます。この時ロゴが表示されたまま固まったようになりますが、再起動に時間がかかるので慌てずに気長に待ちます。
  9. ビルド番号が 4.0.2.A.42 になっていることを確認します。

Android SDK をインストール

root の取得には、Android SDK に含まれるプログラムが必要です。そこでAndoroid Developersのページから Android SDK(installer_r18-windows.exe)をダウンロードしてインストールします。

電源が入った状態の Xperia ray を接続して、コマンドプロンプトから adb devices コマンドを実行します。これで Xperia ray がリストに表示されれば OK です。

C:\Program Files\Android\android-sdk\platform-tools>adb devices
List of devices attached
434235313156534E5352    device

初めて電源が入った状態の Xperia ray をパソコンにつなぐと Sony PC Companion をインストールするか聞かれます。インストールすると、より最新のファームウエアが利用できると言われますが無視します。

root の取得

root の取得には、XDA developers にある[[04/Jan][rooting/unrooting] Xperia 2011 Easy Rooting Toolkit v4.0](zergRush Exploit)を使います。

  1. Download Links から DooMLoRD_v4_ROOT-zergRush-busybox-su.zip をダウンロードします。
  2. DooMLoRD_v4_ROOT-zergRush-busybox-su.zip を展開して runme.bat を起動します。
  3. Before u begin に書かれていることを確認・実行して先に進みます。

アプリ一覧に superuser というアプリが入っていれば、root の取得成功です。さらに adb shell コマンドから su でプロンプトが「$」から「#」になることを確認できれば root を取得できたことが確実です。

C:\Program Files\Android\android-sdk\platform-tools>adb shell
$ su
su
# exit
exit
$ exit
exit

ファームウエアのアップデート

root を取得後はセキュリティーホールが不要ですので、安全のためにアップデートしておきます。

具体的には、設定の端末情報 → ソフトウエア更新を選ぶと 4.0.2.A.0.62 が利用できると表示されるので、指示に従ってファームウエアをアップデートします。

日本語フォントの置換

日本語フォントにはいくつか種類があるようですが、最も標準的な「モトヤマルベリ」に置換しました。「ゆかりんフォント」というフォントも一部ユーザには人気のようです。

  1. android / platform_frameworks_baseからモトヤマルベリ(MTLmr3m.ttf)をダウンロードします。
  2. ダウンロードした MTLmr3m.ttf を DroidSansJapanese.ttf にリネームします。
  3. adb コマンドでフォントファイルを書き込めるように準備します。
C:\Program Files\Android\android-sdk\platform-tools>adb shell
   $ su

# mount

/dev/block/mtdblock0 /system yaffs2 ro,relatime 0 0

# mount -o remount,rw /dev/block/mtdblock0 /system

# mount

/dev/block/mtdblock0 /system yaffs2 rw,relatime 0 0

# chmod 777 /system/fonts

# exit

$ exit
  1. ファイルを書き込めるようになったら、リネームしておいたフォントを書き込みます。
C:\Program Files\Android\android-sdk\platform-tools>adb push DroidSansJapanese.ttf /system/fonts
   2592 KB/s (2871020 bytes in 1.081s)
  1. (オプション)ディレクトリーのパーミッションを元に戻し、ファイルのパーミッションなどを他のフォントと合わせます。
C:\Program Files\Android\android-sdk\platform-tools>adb shell
$ su

# chmod 755 /system/fonts

# chown root /system/fonts/DroidSansJapanese.ttf

# chgrp 0 /system/fonts/DroidSansJapanese.ttf

# chmod 644 /system/fonts/DroidSansJapanese.ttf

# ls -l /system/fonts

ls -l /system/fonts
-rw-r--r-- root root 2871020 2012-03-31 15:34 DroidSansJapanese.ttf

# exit

$ exit
  1. 最後に Xperia ray を再起動させます。再起動すると、インストールした日本語フォントで表示されるようになります。

置換しても日本語のフォントがおかしい時には、フォントファイルのファイル名が間違っていないかスペルを確認して下さい。