ジャンル不定の日記です。

N-07Dのメジャーアップデート

入手済みのN-07DがAndroid 4.0.4だった。
この機種の最終バージョンは4.1.2なのでアップデートしようとした。

昨日、京セラ WX04Kでソフトウェアアップデート済みじゃないとメジャーアップデートができないぽいということ書いたが、N-07Dも同じだった。
4.1.2へのアップデートは「Androidバージョン4.0.4、ビルド番号A1011401」に限定される。
そして、docomoのソフトウェアアップデートは「更新期間 2017年2月28日まで。」・・・
N-07Dは前にアップデートしたことある気もするんだが、今年の年初で切れてんじゃん・・・

アップする方法考えたが、ソフトウェアアップデートをするのは無理ぽいから普通には無理。

で、ビルド番号A1011401に限定してるのは、恐らくほかバージョンでも問題ないと思うが確認するの面倒だから環境を統一させてる。
ってことだと判断して、ビルド番号の偽装を試みることにした。

/system/build.prop 見たら、
ro.build.id=A1010711
ro.build.display.id=A1010711
ro.build.description=4.0.4-user 4.0.4 A1010711 eng.20121226.100709 release-keys
ro.build.fingerprint=DOCOMO/N-07D/N-07D:4.0.4/A1010711/eng.20121226.100709:user/release-keys
現在のビルド番号がそのまま書かれてた。
ro.build.idを書き換えれば偽装できそうな気配・・・
root化できればできそうな・・・

というわけで、4.0.4だから以前ISW12HTでroot化したときの方法が使えると思った。
  1. fakebackup.abというファイルを拾ってくる。
  2. コンソールを2個開く。
  3. 片方で
    $ adb shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done"
    すると無限ループになる。
  4. もう片方で
    $ adb restore fakebackup.ab
    すると端末で復元用の画面が表示される。
  5. 端末で「データを復元する」を押して完了を待つ。
  6. これで /data/local.prop が生成される。
という手順だったのだが、 /dataでlsができなくて/data/local.propの確認ができない。
rebootしてみたがrootできてなかった。

そういうわけなので別の方法探したが、N-06Dと同じ方法でできるとか。
  • N-06Dの方法ってのは、/data/DxDrm/NVSが起動時に自動的に作られて書き換え可能だからそれをいじってrootできる。→N-07Dにそんなファイル無い!
  • n04c-rootkitなるものも書かれてたんで確認したが、これはzergrushというバイナリをpushして実行してるだけぽい。→zergrushは4.0.4非対応ぽい。
ビルド番号によってはできるのかもしれんが、N-07Dは初期バージョンが4.0.4でN-06Dの情報は2.3だったんで上記は嘘のような・・・

他のN-07Dに近い機種も調べて、N-02Eは初期バージョンが同じ4.0.4で、run_root_shellなるツールでできるとか・・・
オープンソースのバイナリコマンドだったが、内容確認せずにビルド済みの拾ってきて同じように実行してみた。
  1. $ adb push run_root_shell /data/local/tmp
  2. $ adb shell
  3. $ cd /data/local/tmp
  4. $ chmod 755 run_root_shell
  5. $ ./run_root_shell
こんな手順。
/data/local/tmp は誰でも書き込み可能で実行ファイル置けるからpushして実行ということね。
やってみたが、コマンド実行した直後にプロンプトが「#」になった。
N-07Dのroot化はこれでできるらしい。


root権限は取れたのだが、build.prop書き換え方法考えて、まずmv。
# mv build.prop /system/build.prop
failed on 'build.prop' - Cross-device link
デバイス間mvは怒られる。

viは無い。
mvはあるけどcpは無いw

# cat build.prop >> /system/build.prop
/system/bin/sh: cannot create /system/build.prop: Read-only file system
catはあったんでbuild.propに出力させてみたら /system はRead-onlyだった。

mount -o rw,remount /system
リマウントを試みたが、Invalid argument。remountは許可されてないぽい。デバイス指定でもダメ。
kernelでデバイスにロックかかってるぽい。


NANDロックの解除方法を調べてみたが、N系はどれも厳しいみたいでN-07Dも無理っぽい。
root権限取れても /system の書き換えはできないね。
root権限が取れる以上、メモリ書き換えてビルド番号偽装とかは可能なのかも知れないが、そんな高等スキルは持ち合わせてない。

N-07Dのアップデートは断念した。
ROM焼きできない機種は罠が多いな・・・
ソフトウェアアップデートくらい無期限で提供してほしいわ。