Xperia NX SO-02D rootedの考え方

2012年6月25日 by · コメントを残す
カテゴリ: Android, 電話 

このたびめでたく Xperia NX SO-02D が rooted になりました。

とはいえ、Xperia NX ではなくて Xperia S だしバージョンが ICSになってしまいますがw

ネタ元はこちら。

【ROM焼き】Xperia NX-S root1

やり方の解説とかはやりつくされている感があるのでなぜ root が取得される事態になったのか。

あ、一応記念撮影。

6.1.A.0.452す

さて本題。

Read more

local.propを使用したrootedと、ついでに*.propなどについて考えるよ

2012年6月25日 by · コメント(2)
カテゴリ: Android, 電話 

image

色々な端末の rooted で出てくることが多かった「 /data/local.prop に ro.kernel.qemu=1 」って書けば良いよ!ってやつ。

 

まず local.prop とはどこで定義されているのか

platform_bionic/libc/include/sys/_system_properties.h at master · android/platform_bionic · GitHub

ここで

#define PROP_PATH_RAMDISK_DEFAULT "/default.prop"
#define PROP_PATH_SYSTEM_BUILD "/system/build.prop"
#define PROP_PATH_SYSTEM_DEFAULT "/system/default.prop"
#define PROP_PATH_LOCAL_OVERRIDE "/data/local.prop"

こんな感じに定義されてて

platform_system_core-init-property_service.c at master · android-platform_system_core · GitHub

ここで

    load_properties_from_file(PROP_PATH_SYSTEM_BUILD);
    load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT);
    load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
    /* Read persistent properties after all default values have been loaded. */
    load_persistent_properties();

こんな感じに読み込まれてるわけです。

/system/build.prop → /system/default.prop → /data/local.prop の順番で読み込まれていますね。

わざわざオーバーライドって定義の名前に使うぐらいなので最後に上書きする感じになってます。

まあその後 load_persistent_properties() で /data/property/persist.* を使って上書きされちゃうんですが。ソレは今回の話とは微妙に違うので気にしないで下さい。

Read more