2011年12月のソフトウェアアップデートでroot権限取得の道を閉ざされたと思われていたGlobe Trotter携帯なF-12C。
しかし、チラチラと某掲示板を見ていたところ、V20(ビルド番号)にソフトウェアアップデート済みのF-12Cでのroot権限取得手順が確立されていた。
そうならばってことで、これはやらない選択はないと思ってroot権限を取得してみたわけなんだ。
さぁビルド番号V20のF-12Cでroot権限取得手順を書き綴っていくよ・・
自分なりに多少まとめ、アレンジした手順を紹介したい。
自由をこの手に・・
ついにというかいつの間にやらV20版F-12Cでのroot権限取得が確立されていたので早速、半ば食い気味でroot権限取得を行いプリインストールアプリの無効化、アンインストールなどやってみたんだ。
この記事を元にroot権限取得すると、F-12Cの内部を全て触ることができてしまう。
何かのファイルを上書きしたり、削除してしまったりして、もしもなにか不具合や被害が発生してもこちらは何もできない。
完全に「自己責任」の領域です。ソフトウェアの改造になりそうなのでドコモのサポートも受けられないと考えた方が良い。
何が起きても自分で解決しなければならないというリスクがあります。
F-12Cを捨ててもいい、動かなくなってもいいと思えた人だけがやってみたらいい。
必要なもの
・zergRush
「zergRush」はおなじみxda-developers(下記URL)でダウンロードすることができる。
今回は「DooMLoRD_v4_ROOT-zergRush-busybox-su.zip」を使用した。
・xda-developers「[04/Jan][ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkit [v4.0](zergRush Exploit)」
http://forum.xda-developers.com/showthread.php?t=1320350
事前準備
今回のF-12Cのroot権限取得手順ではPCを使用する。
なのでPCへAndroid SDKのインストールとF-12CのADB USBドライバをインストールしておく必要があるんだ。
Android SDKとF-12CのUSBドライバインストール手順は以前の記事たちを参考にしてみてくれれば良いさ。
root権限取得手順
では・・
ビルド番号V20のF-12Cでroot権限取得するための手順を説明しよう。
まず、本体の設定をしよう。
「設定」→「無線とネットワーク」でF-12CのWiFiをオフにする。
そして機内モードをオンにする。
本体の準備ができたらPCでコマンドプロンプトを起動し、コマンドを送り込む。
cd data/local
mv motion_activemass02.db motion_activemass02.db-
ln -s /data/local.prop motion_activemass02.db
ここまできたら本体側で「設定」→「歩数計」→「歩数計利用」のチェックを外し、「登録」をタッチ。
そして再度「歩数計利用」にチェックを入れて「登録」をタッチ。
引き続きコマンドを送り込む。
echo ro.kernel.qemu=1 > /data/local.prop
さらにUSBケーブルで接続したまま下記コマンドなどで再起動する。
adb reboot
本体が再起動して操作できるようになったらまたもadb shellし確認!
これで「#」が表示されればshellでのroot権限を取得したことを意味している。
確認したら今度はzergRushを使う。
ダウンロードしたファイルを解凍し「runme.bat」をダブルクリックして実行!
zergRushが動くと最後に再起動される。
本体が起動して操作できるようになったらまたもやコマンドを送り込み再起動する。
echo > /data/local.prop
reboot
これにて一旦、root権限取得完了!!
ちょっと追加処理をしてみた
実はこのままでは音が出ない。
また、WiFiのオン/オフなどを行うと強制的に再起動が発動してしまう!
この現象は「data」ディレクトリに「local.prop」が存在することが原因で発生しているようだ。
詳しくはよくわからないけど。
(SH-03Cの時も同じ現象があったような気がする)
なので良いのか悪いのかわからんけど、私はlocal.propを削除しちゃった。
ついでと言うのはアレだけど「tmp」も削除した。
cd data
rm local.prop
rm -r tmp
いつもの一言
F-12Cの場合はroot権限が取得できればsystem領域なども簡単に弄り倒すことができてしまう。
もしrootでsystemを弄るなら、起動に必要なアプリを削除してしまったりしないよう十分に注意しよう。
やり直しが効かないからね・・
ところで、掲示板では文鎮化したという書き込みもチラっと見たけど文鎮化(起動しなくなるなどの致命的な状態)してしまった人もいるようだ・・
気を付けるんだ・・ッ!
コメント
マッキィさん
どこかのタイミングでadb shellしてlocal.propを削除できれば解決するかも知れません。
再起動している間にもsuログインできた気がしますけど、どうでしょう?
F-12C ROOT化できたのですが、WiFiのオンにしたら電源オン・オフが繰り返されて止まりません。
助けてください
ハンバーガーさん
日本語を変えたいならDroidSansJapanese.ttfを変更するだけでも変更できますが、F-12Cは過去にフォント変更で文鎮化したという書き込みも見たことがあるので、いじらない方がいいかもしれませんね。
フォント変更の件で少しわからないのですが
DroidSansJapanese.ttfだけを変更すればいいのでしょうか?
うこんさん
解決してよかったです。
後処理のtmp,local.propを削除したのですが、
インストールエラー Unknown reason -110が
起こります
なにか、考えられるところはありますか
バッチファイルの「runme.bat」を実行したのですが、
daemon started successfully
で停止し、それ以上コマンドプロンプトも進みません。
adb shellをコマンドすると#は出るので、root権限は取得しているはずなのですが…
先ほど投稿しました件、解決しました。
$ su
#
ですね。
adb shell
echo > /data/local.prop
reboot
のあと追加処理をしようとしましたらスーパユーザーにならず
$になってしまいました。
今まで#になってましたのに。
当然local.propが削除できません。
ご助言よろしくお願いします。
刹那さん
「No such file or directory」という表示のとおり、motion_activemass02.dbが存在しないのでは?
それと、ソフトウェアバージョンによってはこの記事の方法は使えないかも知れません。
よろずやさん
原因はわかりませんが、とりあえずUSBデバッグをオンにしてみてはどうでしょう?
このサイトを見ながらroot化に挑戦してるのですが、うまく#になりません。
どこが悪いのか教えて頂けないでしょうか?
よろしくお願いします。
shell@android:/ $ cd data/local
cd data/local
shell@android:/data/local $ mv motion_activemass02.db motion_activemass02.db-
mv motion_activemass02.db motion_activemass02.db-
failed on ‘motion_activemass02.db’ – No such file or directory
255|shell@android:/data/local $ ln -s /data/local.prop motion_activemass02.db
ln -s /data/local.prop motion_activemass02.db
link failed Permission denied
255|shell@android:/data/local $ mv motion_activemass02.db- motion_activemass02.d
b
db- motion_activemass02.db /data/local.prop
echo ro.kernel.qemu=1 > /data/local.prop
/system/bin/sh: cannot create /data/local.prop: Permission denied
1|shell@android:/data/local $
こんにちは。早速なのですが、コマンドでadb shellと入力したら、アクセス拒否されました。どうしたらいいですか?
バッタさん
wifiで再起動してしまうのは、この記事の手順だとlocal.prop以外に原因が考えにくいですよね・・
起動してすぐに、なんとか通知バーから急いでwifiをオフにできないですかね?
こちらを参考にさせていただいてroot化しました。
ですが、data配下でrm local.propを実行したにも関わらず
wifiをonにすると強制的に再起動するように
なってしまいました。
(rm -r tmpコマンドはno such file or directlyと出ました)
wifiの状態を端末が記憶しているようで、次回起動時も
起動後10秒ほどで再起動し、半文鎮化している状態です。
local.prop以外にもwifiが原因による
再起動の要因となるものがあるのでしょうか。