F-12Cのroot化手順についての説明

投稿者:

F-12Cをroot化してずいぶんと時間が経ちますが手順の意味について書きたいと思います。(今さらですが)

実施した手順は下記のリンク先です。参考にさせていただきました。ありがとうございます。
V20なソフトウェアアップデート済みF-12Cのroot権限取得手順
v20となっていますがv21でも問題なくできました。

最初、見たときは「はあ??」でした。コマンドの意味はわかりますが、なぜこのコマンドなんだ?

ポイントとなるのは以下の行です。
(左端の数字は行番号です。実際には不要です)
—-
1. cd data/local
2. mv motion_activemass02.db motion_activemass02.db-
3. ln -s /data/local.prop motion_activemass02.db

4. mv motion_activemass02.db- motion_activemass02.db
5. echo ro.kernel.qemu=1 > /data/local.prop
—-

■直訳
1行目
data/localディレクトリに移動します。

2行目
motion_activemass02.dbのファイル名をmotion_activemass02.db-にリネーム(名前変更)します。

3行目
シンボリックリンク(Windowsのショートカットみたいなものです)を作成します。
※motion_activemass02.dbにアクセスがあった場合は、/data/local.propにアクセスされます。

ここで歩数計アプリを停止して起動します。

4行目
motion_activemass02.db-のファイル名をmotion_activemass02.dbにリネームします。

5行目
ro.kernel.qemu=1を/data/local.propにリダイレクト(ここでは書き込み)します。

■意味
androidでrootにするには/data/local.propファイルにro.kernel.qemu=1を記入する方法があります。
ただし、F-12C起動時にはこのファイル(/data/local.prop)がありません。
ファイルを作成して、ro.kernel.qemu=1を書き込む必要があります。
この時にシステム権限が必要です(一般ユーザでは無理です)

しかし、我々がPC経由でandoidにアクセスする権限は一般ユーザ権限です。
なので/data/local.propファイルに作成や追記といったコマンドは不可能です。

ここで歩数計アプリが活躍します。
歩数計アプリは通常、data/local/motion_activemass02.dbに歩数計データを記録します(中身見ていないのでたぶんですが)。
ファイルが無い場合は作ってくれます(たぶんですが)。この時どういうわけかシステム権限でファイルを作成します。
つまり歩数計データファイルの作成を/data/local.propにしてしまえばいいのです。

このための手順としてまず本来の歩数計データファイルをリネームします。(コマンドの2行目です)
これによってまず、歩数計データファイルが無くなります。

次に3行目でシンボリックリンクを作成します。
これによってdata/localmotion_activemass02.dbにアクセスがあると/data/local.propにアクセスされます。
data/localmotion_activemass02.dbを作成しようとすれば/data/local.propが作成されます。

次に歩数計を止めます。次に起動します。
起動するときにdata/localmotion_activemass02.dbがないので/data/local.propが作成されます。

このままでは歩数計データが/data/local.propに書かれてしまうため
4行目の手順で本来の歩数計データを戻します。

どういうわけか上記の手順で作成された/data/local.propは一般ユーザでも書き込めます。
そこで5行目のコマンドによってro.kernel.qemu=1を/data/local.propに書き込みます。
正確には上書きです。(追記ではないため、まっさらにしてから書き込みます)

■できるだけシンプルに説明すると
権限が無くて/data/local.propにro.kernel.qemu=1を書けないので
歩数計アプリの出力先をシンボリックリンク張って/data/local.propにしてro.kernel.qemu=1を書いてる。
歩数計アプリはファイル作成時はシステム権限なんだけど作成されたファイルには一般ユーザでも書き込み権限が付与されている。

こんなかんじでしょうか。

追伸)コマンド自体はUnix系OS(Linux含む)では基本的なコマンドです。
参考にさせていただいた手順を実施すれば文鎮化は、ほぼ無いと思いますが実際にはチラホラいらっしゃるようです。
嫌味な言い方になってしまいますが、どうやって文鎮化したのか興味があります。

コメントを残す

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