NEC MEDIAS (N-04C) 2.3.3/A1022001 root奪取手順
お約束
本記事に記載されている事項はメーカーの保証対象外の操作なります。
本記事に記載されている操作を行った場合、端末が故障する恐れがあります。
本記事を参考にする場合はすべて自己責任でお願いします。著者は一切の責任を負いかねます。
前提条件
- Android SDKがインストールされている
- N-04CのUSBドライバがインストールされている
必要なもの
- N-04C USBドライバ
- adb接続に必要
- N-04C用 ADB用USBドライバー(アンドロイド開発者向け)
- Zerg Rush
- N-04C rootkit
- 恒久root取得に必要(busybox, Superuser.apk)
- http://t.co/RDK0QM4u
- IS03 root switch
- /dev/suを叩かないroot権限を要求するアプリケーションにroot権限を与えるために必要
- http://www.shiduki.com/android/IS03rootsw.html
以下のものは必須ではありませんが、あると幸せになれます。
- N-04C A1022001 update.zip
- 起動しない状態になった際の復旧に利用
- MEDIAS N-04C の OSバージョンアップ
- sysunlock.ko
環境
- N-04C ビルドA1022001
- 母艦: Windows XP Professional SP3
- Android SDK
- N-04C USBドライバ 1.0.5.0 (N-04C_Install_V1_0_5_0.exe)
- zergRush v1 (DooMLoRD_v1_ROOT-zergRush-busybox-su.zip)
- IS03 root switch 1.3.4 (IS03rootsw134.apk)
- N-04C rootkit, sysunlock.koは上記リンクにて配布されているものを利用。
N-04C root化でできること
- root権限を要求するアプリケーションの実行
- カメラ無音化
- NAND領域の書き換え
N-04C root化で現状できなかったこと(課題)
- 無線LAN ad-Hoc接続
利用したwpa_supplicantが悪かったのか、wpa_supplicantを差し替えると正常に起動しなくなり(赤面状態)、システムリカバリを実行する必要があります。
- テザリング時APN強制書き換えの無効化
/data/data/com.android.providers.settings/databases/settings.db
secureテーブルにtether_dun_required=0としてもAPN強制書きかえを無効化することができませんでした。
root奪取手順
1. 事前準備
設定 > アプリケーション > 開発
"USBデバッグ"をオンに
母艦とUSBで接続します。
2. zergRushによるroot奪取
zergRushをN-04Cの/data/local/tmpへ配置 > adb push zergRush /data/local/tmp/ adbシェルへ落ちる > adb shell zergRushの転送確認 $ ls -l /data/local/tmp -rw-rw-rw shell shell 23052 2011-10-21 17:20 zergRush zergRushへ実行権限付与 $ chmod 755 /data/local/tmp/zergRush zergRush実行 $ /data/local/tmp/zergRush [**] Zerg rush - Android 2.2/2.3 local root [**] (C) 2011 Revolutionary. All rights reserved. [**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew. [+] Found a GingerBread ! 0x00015118 [*] Scooting ... [*] Sending 149 zerglings ... [+] Zerglings found a way to enter ! 0x10 [+] Overseer found a path ! 0x000152f8 [*] Sending 149 zerglings ... [+] Zerglings caused crash (good news): 0x40119cd4 0x0054 [*] Researching Metabolic Boost ... [+] Speedlings on the go ! 0xafd25611 0xafd390bf [*] Popping 24 more zerglings [*] Sending 173 zerglings ... [+] Rush did it ! It's a GG, man ! [+] Killing ADB and restarting as root... enjoy!
これで /data/local/tmp/sh を実行することでrootへスイッチすることができるようになりました。
3. N-04C rootkitの導入
N-04C rootkitを予め展開しておきます。
N-04C rootkitに含まれるlocal.propをSDカードのルートに配置 > adb push local.prop /sdcard/local.prop N-04C rootkitに含まれるdata_localディレクトリ配下のファイル全てを/data/localに配置 > adb push n04c_rootkid/data_local /data/local/ adbシェルに落ちる > adb shell rootにスイッチ $ /data/local/tmp/sh local.propを/data/local.propにコピー # cat /sdcard/local.prop > /data/local.prop /data/local/autoexec.shのパーミッション変更 # chmod 555 /data/local/autoexec.sh 確認。以下のようになっていればOKです # ls -l /data/local* -r-xr-xr-x shell shell 196 2011-06-10 19:32 autoexec.sh -rw-rw-rw- shell shell 735308 2010-11-29 22:52 busybox -rw-rw-rw- shell shell 3520 2011-06-10 19:28 libemoji-wrapper.so -rw-rw-rw- shell shell 26264 2011-04-02 04:32 su -rw-rw-rw- shell shell 76232 2011-04-01 21:59 _su drwxrwx--x shell shell 2011-12-04 15:45 tmp -rw-rw-rw- root shell 138 2011-12-04 15:47 local.prop 端末再起動 # reboot
4. Superuser, IS03rootswのインストール
N-04C rootkitに含まれているSuperuser.apkをインストール > adb install Superuser.apk 1858 KB/s (133400 bytes in 0.070s) pkg: /data/local/tmp/Superuser.apk Success IS03rootswをインストール > adb install IS03rootsw134.apk 1353 KB/s (69397 bytes in 0.050s) pkg: /data/local/tmp/IS03rootsw134.apk Success
以上でNAND領域の変更を伴わない範囲でのroot奪取は完了となります。
多くのroot権限を要するアプリケーションは、本環境でそのまま利用できないため実行前にIS03rootswでroot化を行なっておく必要があります。
NAND領域書き換え可能とする手順
前提
- rooted環境
- SDカードのルートディレクトリにsysunlock.koが配置されている
NANDアンロック手順
adbシェルに落ちる >adb shell rootになる $ /dev/su sysunlock.koをロードする # insmod /sdcard/sysunlock.ko ロードされているモジュールの確認 # lsmod sysunlock 921 0 - Live 0xbf218000 sdex 41160 0 - Live 0xbf01b000 (P) felica 22224 2 - Live 0xbf00f000 nim_driver 31202 0 - Live 0xbf000000 /system配下を書き換え可能で再マウント # mount -o rw,remount /system /system
事後処理
重要! この手順を実行しないまま再起動を行うと正常起動しません!!
/systemを読み込み専用で再マウント # mount -o ro,remount /system /system sysunlockモジュールのアンロード # rmmod sysunlock sysunlockがアンロードされていることを確認する # lsmod sdex 41160 0 - Live 0xbf01b000 (P) felica 22224 2 - Live 0xbf00f000 nim_driver 31202 0 - Live 0xbf000000
カメラ無音化
N-04Cのカメラ無音化は/system/media/audio/uiの以下のファイルを無音のOggファイルで書き換えることで可能です。
- camera_quick.ogg
- camera_nom.ogg
- camera_click.ogg
前提
- 無音のOggファイルがSDカードのルートに格納されている。例: nosound.ogg
- NAND領域書き換え可能とする手順が実行できる環境となっている
無音化手順
"NAND領域書き換え可能とする手順"の"NANDアンロック手順"まで実行。
オリジナルファイルのバックアップ先ディレクトリ(/sdcard/sounc.bak作成 # mkdir /sdcard/sounc.bak ファイル確認 # ls -l /system/media/audio/ui -rw-r--r-- root root 5582 2011-10-09 03:00 VideoRecord.ogg -rw-r--r-- root root 4666 2011-10-09 03:00 Unlock.ogg -rw-r--r-- root root 9507 2011-10-09 03:00 movie_stop.ogg -rw-r--r-- root root 9374 2011-10-09 03:00 movie_start.ogg -rw-r--r-- root root 6585 2011-10-09 03:00 LowBattery.ogg -rw-r--r-- root root 4661 2011-10-09 03:00 Lock.ogg -rw-r--r-- root root 5194 2011-10-09 03:00 KeypressStandard.ogg -rw-r--r-- root root 7392 2011-10-09 03:00 KeypressSpacebar.ogg -rw-r--r-- root root 7972 2011-10-09 03:00 KeypressReturn.ogg -rw-r--r-- root root 6193 2011-10-09 03:00 KeypressDelete.ogg -rw-r--r-- root root 3994 2011-10-09 03:00 Effect_Tick.ogg -rw-r--r-- root root 5074 2011-10-09 03:00 camera_quick.ogg -rw-r--r-- root root 8485 2011-10-09 03:00 camera_nom.ogg -rw-r--r-- root root 4851 2011-10-09 03:00 camera_click.ogg オリジナルファイルコピー # /data/local/busybox cp /data/system/media/audio/ui/* /sdcard/sound.bak/ ファイル書き換え # /data/local/busybox cp /sdcard/nosound.ogg /system/media/audio/ui/camera_quick.ogg # /data/local/busybox cp /sdcard/nosound.ogg /system/media/audio/ui/camera_nom.ogg # /data/local/busybox cp /sdcard/nosound.ogg /system/media/audio/ui/camera_click.ogg パーミッション変更 # chmod 644 /system/media/audio/ui/* 書き換え確認 # ls -l /system/media/audio/ui/ -rw-r--r-- root root 3990 2011-12-04 16:03 camera_click.ogg -rw-r--r-- root root 3990 2011-12-04 16:03 camera_nom.ogg -rw-r--r-- root root 3990 2011-12-04 16:03 camera_quick.ogg -rw-r--r-- root root 5582 2011-10-09 03:00 VideoRecord.ogg -rw-r--r-- root root 4666 2011-10-09 03:00 Unlock.ogg -rw-r--r-- root root 9507 2011-10-09 03:00 movie_stop.ogg -rw-r--r-- root root 9374 2011-10-09 03:00 movie_start.ogg -rw-r--r-- root root 6585 2011-10-09 03:00 LowBattery.ogg -rw-r--r-- root root 4661 2011-10-09 03:00 Lock.ogg -rw-r--r-- root root 5194 2011-10-09 03:00 KeypressStandard.ogg -rw-r--r-- root root 7392 2011-10-09 03:00 KeypressSpacebar.ogg -rw-r--r-- root root 7972 2011-10-09 03:00 KeypressReturn.ogg -rw-r--r-- root root 6193 2011-10-09 03:00 KeypressDelete.ogg -rw-r--r-- root root 3994 2011-10-09 03:00 Effect_Tick.ogg
"NAND領域書き換え可能とする手順"の"事後処理"を実行し、再起動を行った後にカメラを使った際に音が出なければ成功です。
NAND領域を操作した結果、正常起動しなくなった場合の復旧手順
後日記載
N-04C root化 Tips
利用できるコマンド
- cd, pwd
- chmod, chown
- cat, dd
- mv
- mkdir
- insmod, rmmod, lsmod
利用出来なかったコマンド
- cp
- chgrp
busyboxを使う
上記手順でroot化を行った場合、/data/local/busybox に配置されるのでこれを利用することが可能です。
suのパス
IS03rootsw経由ではなく、直接suを実行する場合、/dev/suを実行することでrootになれる。/data/local/tmp/shによるrootスイッチはフル権源が与えられていないような挙動をします。