tetsu31415.log

androidなどのことを書き綴っていこうと思います。

F-12Dのroot化について

前回の記事ではらくらくスマートフォンF-12Dの特徴について書きましたが今回はF-12Dのroot化についてまとめてみます。

この記事はroot化およびsystem書き換えに関する内容です。
これを行うとメーカー保証がなくなり文鎮化しても自己責任です。
とくにFUJITSU端末は復旧手段が用意されていないので大変危険です。
この記事の内容が理解できない方は実行しないことを強くおすすめします。

root化

はじめに、goroh_kun氏、fi01氏に感謝します。

root化に使用するファイルはこちらにおいておきます。
f12d_rootkit.zip

システム権限を奪取

APK署名に関する脆弱性(9695860)を使ってsystem権限で動くアプリを上書きし、system権限を奪取します
ここではfi01氏作のVpnFaker(システムアプリVpnDialogsにターミナルと起動毎に実行するプログラムを組み込んだもの)を偽装署名したものを上書きします。

するとランチャーにsystem権限で動くターミナルがインストールされます。

> adb install -r F12D_VpnFaker.apk

f:id:tetsu31415:20140325005457p:plain
(system@androidになることを確認)

一時rootを奪取

goroh_kun氏作のmkdevshを利用して一時root権限を取得する。

ファイル転送

> adb push mkdevsh /data/local/tmp/mkdevsh
> adb push onload.sh /data/local/tmp/onload.sh
> adb shell chmod 777 /data/local/tmp/mkdevsh
> adb shell chmod 777 /data/local/tmp/onload.sh

VpnFakerのターミナルにて

system@android / $ /data/local/tmp/onload.sh

system@android / $ /dev/sh
# ← になることを確認

f:id:tetsu31415:20140325005603p:plain

suを導入

/system/xbinにsuを導入します。

> adb push su /data/local/tmp/su

> adb shell
$ /dev/sh
# mount -o rw,remount /system
# dd if=/data/local/tmp/su of=/system/xbin/su
# chown root.root /system/xbin/su
# chmod 6755 /system/xbin/su
# mount -o ro,remount /system
# sync;sync;sync;

# reboot

SuperSUを導入

> adb install SuperSU.apk

f:id:tetsu31415:20140325005631p:plain

f:id:tetsu31415:20140325005634p:plain

SuperSUが正常に動作したらVpnFakerをアンインストールする

> adb uninstall com.android.vpndialogs

以上でroot化は完了です。

GooglePlayの導入

インストール

必要なもの (他の端末やネット上から探す)

  • GoogleServicesFramework.apk
  • GoogleLoginService.apk
  • Vending.apk
  • Playストアのapk (ここではPlayStore.apkとする)
  1. /system/app/に上3つのファイルをコピーします。(ファイラーアプリなどでコピーしても結構です)
> adb push GoogleServicesFramework.apk /data/local/tmp/
> adb push GoogleLoginService.apk /data/local/tmp/
> adb push Vending.apk /data/local/tmp/

> adb shell
$ su
# mount -o rw,remount /system

# cat /data/local/tmp/GoogleServicesFramework.apk > /system/app/GoogleServicesFramework.apk
# cat /data/local/tmp/GoogleLoginService.apk > /system/app/GoogleLoginService.apk 
# cat /data/local/tmp/Vending.apk > /system/app/Vending.apk

# chmod 644 /system/app/GoogleServicesFramework.apk
# chmod 644 /system/app/GoogleLoginService.apk 
# chmod 644 /system/app/Vending.apk

# mount -o ro,remount /system
  1. PlayストアのapkをVendingに上書き。(ファイラーアプリなどを使って端末単体でもできます)
> adb install -r PlayStore.apk

これでPlayストアが使えるようになりました。
しかし、この状態ではパーミッションが足りていないため、Googleマップを使用するアプリや、位置情報を利用するアプリのインストールができません。

f:id:tetsu31415:20140325005714p:plain

フルマーケット化

GoogleMapやLocation関連のパーミッションを追加します。

用意するもの(他の端末などから吸い出す)
/system/framework/

/system/etc/permissions/

/system/app/

  • NetworkLocation.apk

これらのファイルを同じ場所にコピーする。
android.hardware.location.gps.xmlは上書きする。
権限はすべて644に設定する。

これでフルマーケット化は完了しました。

しかし、本体設定にネットワーク位置情報の設定が無いためWi-Fiやモバイルネットワークを使った位置情報の取得はできません。(GPSのみとなる)。

最後まで読んでいただきありがとうございました。

誤りなどあれば@tetsu31415までご連絡ください。

参考

[HOWTO][ROOTING]AndroidのAPK署名の脆弱性を使ったroot化
http://android.slateblue.tk/viewtopic.php?f=19&t=100

DoCoMo Arrows Me F-11Dで永久 rootを取る方法
http://www.neko.ne.jp/~freewing/android/docomo_arrows_f11d_root/

らくらくスマホのレビュー

富士通らくらくスマートフォン F-12D (以下、らくらくスマホ)を購入したので紹介します。
購入理由としてF-12Dのroot化に関する情報が全然なかったことなどがあります。主に改造目的ですw

Android4.0.3を搭載しています。

この端末の特徴としては

  • らくらくタッチパネル搭載
  • 見やすいシンプルなUI
  • Playストア非対応

などです。

らくらくタッチパネル搭載ということで、押し込んでタッチしないとボタンは反応しないようになっています。
※設定で解除することもできます。

白ロム相場が13k前後と高かったので購入を諦めかけていたのですが、ある白ロム販売店で6kで売っているのを見て思わず買ってしまいました(笑)。
色はピンクです。
f:id:tetsu31415:20140318233834j:plain

まずは起動画面。本来富士通Android端末はARROWSブランドなのでARROWSのブートロゴですが、この端末はARROWSブランドではないので「FUJITSU」とでます。
f:id:tetsu31415:20140320135505j:plain

サイズは約4インチとコンパクトですね。
f:id:tetsu31415:20140322014225j:plain
前面には物理キーがホームボタンのみ。戻るボタンとメニューボタンは必要なときだけオンスクリーンで出てきます。
左側面には電源キー、音量キーが、右側面にはカメラキーがあります
ホームボタンを押すとホームに戻ります。長押しや2回押しなどには何も割り当てられていません。
また、ステータスバーは待ち受け画面以外では下ろせません!←地味に不便

f:id:tetsu31415:20140321172107j:plain

また、背面にはワンタッチブザーが付いています。
設定でブザーを有効にするとこのスイッチを引いた時にブザーが鳴ります。

ブザーを鳴らすとこんな感じです。

f:id:tetsu31415:20140321172235j:plain

プリインアプリはお年寄り向けということで、健康管理やIPサイマルラジオなどがあります。
この端末にはPlayストアが入っていませんがアプリを入れることができるのでしょうか。

まず、プリインのブラウザからapkをダウンロードしてみます。
apkファイルのリンクを開くとこのようにブロックされます。
f:id:tetsu31415:20140322020646p:plain
というわけで開発者向けオプションからUSBデバッグをONにしてADB経由でアプリをインストールしてみます。
f:id:tetsu31415:20140322020911p:plain
するとアプリのインストールが出来ました!
f:id:tetsu31415:20140318235305j:plain
問題なく動作します。

IMEをインストールすればIMEの変更もできます。
また、USBホスト機能に対応しているのでOTGケーブルを使用してキーボードを接続すれば使えます。
f:id:tetsu31415:20140322022022j:plain

アプリのインストールができればできることが増えますね。
最終的にはroot化してPlayストア導入をしたいところです。

おまけ
リカバリーモードは起動できるのか試してみました。
2通りの方法があります。

  • 音量UPとDOWNを同時押ししながら電源ボタンを押し続けて電源を入れる。

少しコツあります。電源が入った時のバイブが鳴ってから2秒程度で指を離すとうまく出来ると思います。
短すぎると通常起動してしまい、長すぎると再度起動してしまいます。

  • adb reboot recovery

この方法では確実に入れます。

するとこのようなリカバリーモードが出てきます。
できることは初期化とシステムアップデートです。

f:id:tetsu31415:20140322022715j:plain

初期化を選択すると警告に「あなたのGooogleアカウントが消去されます」と書かれてありました(笑)
f:id:tetsu31415:20140322025139j:plain

また、音量DOWNを押しながら起動するとセーフモードには入れました。
セーフモードではサードパーティ製アプリが無効になり、らくらくタッチパネル機能が無効化されました。
f:id:tetsu31415:20140322025711j:plain

最後まで見ていただきありがとうございました。
なかなか面白い端末です。
root化については次の記事に書きました。
F-12Dのroot化について