ようへい

2013年12月10日火曜日

Nexus 7(2012) を KRT16S(4.4) から KOT49H(4.4.2) にアップデートした時のroot再取得メモ

Nexus 7(2012) を KRT16S(4.4) から KOT49H(4.4.2) にアップデートした時のroot再取得メモ
Nexus 7 (2012)をKRT16S から KOT49H にした際に rooted から unroot な環境になってしまったので、後々同じことでアタフタしないようにメモ。

再びrootを取る準備

まずは、OEM Unlockが済んでいること。まぁ、もともとrootが取れていた環境なら問題ないはず。
あとは、以下のファイルを準備。
SuperSU
http://forum.xda-developers.com/showthread.php?t=1538053f
TWRP
TWRP 2 - Nexus 7 page
いずれも最新版をダウンロードする。 SuperSUはダウンロード後、Nexusの内部ストレージにコピーしておく。
TWRPは、C:\TEMPなどに置く。
以下の手順では、C:\TEMPに置いたことを想定して進める。

root取得作業

  1. 電源が切れた状態で、電源ボタンとボリュームダウンボタンを押しながら起動し、bootloaderモードにする。
  2. bootloaderモードの状態でPCと接続
  3. カスタムリカバリ導入
    > fastboot flash recovery C:\TEMP\openrecovery-twrp-2.6.3.1-grouper.img
    sending 'recovery' (7766 KB)...
    OKAY [  0.941s]
    writing 'recovery'...
    OKAY [  0.577s]
    finished. total time: 1.518s
  4. リブートし、bootloaderモードへ
    > fastboot reboot-bootloader
    rebooting into bootloader...
    OKAY [  0.020s]
    finished. total time: 0.020s
  5. Recovery modeを選択しTWRPを起動
  6. TWRPでinstallを選択し、SuperSUのインストール
  7. Reboot SystemでNexus 7をリブート
  8. Titanium Backupなどが起動することを確認
以上

まぁ、コレまでと一緒の手順ですね。
関連記事

2013年11月25日月曜日

Nexus 7(2012) を JWR66Y(4.3) から KRT16S(4.4) にアップデートした時のroot再取得メモ

Nexus 7(2012) を JWR66Y(4.3) から KRT16S(4.4) にアップデートした時のroot再取得メモ
KitKatリリース!!
Nexus 7 (2012)をJWR66Y から KRT16S にした際に rooted から unroot な環境になってしまったので、後々同じことでアタフタしないようにメモ。

再びrootを取る準備

まずは、OEM Unlockが済んでいること。まぁ、もともとrootが取れていた環境なら問題ないはず。
あとは、以下のファイルを準備。
SuperSU
http://forum.xda-developers.com/showthread.php?t=1538053f
TWRP
TWRP 2 - Nexus 7 page
いずれも最新版をダウンロードする。 SuperSUはダウンロード後、Nexusの内部ストレージにコピーしておく。
TWRPは、C:\TEMPなどに置く。
以下の手順では、C:\TEMPに置いたことを想定して進める。

root取得作業

  1. 電源が切れた状態で、電源ボタンとボリュームダウンボタンを押しながら起動し、bootloaderモードにする。
  2. bootloaderモードの状態でPCと接続
  3. カスタムリカバリ導入
    > fastboot flash recovery C:\TEMP\openrecovery-twrp-2.6.3.1-grouper.img
    sending 'recovery' (7766 KB)...
    OKAY [  0.937s]
    writing 'recovery'...
    OKAY [  0.487s]
    finished. total time: 1.424s
  4. リブートし、bootloaderモードへ
    > fastboot reboot-bootloader
    rebooting into bootloader...
    OKAY [  0.020s]
    finished. total time: 0.020s
  5. Recoveryを選択しTWRPを起動
  6. TWRPでinstallを選択し、SuperSUのインストール
  7. Reboot SystemでNexus 7をリブート
  8. Titanium Backupなどが起動することを確認
以上

まぁ、コレまでと一緒の手順ですね。
関連記事

2013年10月26日土曜日

Android でパケットキャプチャしてみる

Android でパケットキャプチャをしてみたので、忘れないようにメモ。
Unix OS 等でtcpdumpに触れたことがある方向けに書くので、わからない方はスルーしてください。

準備

  1. Android端末のroot取得
  2. Android Virtual Devices ManagerにてAndroid端末と同じバージョンの仮想端末を作成する
※以下から落とした tcpdump でも使えます。
Android tcpdump Downloads
https://www.androidtcpdump.com/android-tcpdump/downloads

キャプチャしてみよう

  1. Android Virtual Devices Manager (以下AVD)にて、Android端末と同バージョンの仮想端末を起動。
  2. 仮想端末からtcpdumpを取得。
    > adb -e pull /system/xbin/tcpdump C:\temp
    737 KB/s (652964 bytes in 0.865s)
  3. Android端末とPCをつなぎます。
  4. 認識しているか確認。
    > adb devices
    List of devices attached
    xxxxxxxxxxxxxxxxx    device
  5. エミュレータから取得したtcpdumpを端末に入れます。
    > adb push C:\temp\tcpdump /sdcard/tcpdump
    3021 KB/s (652964 bytes in 0.211s)
  6. /system にtcpdumpをおけるよう、rwモードでリマウント。
    > adb shell
    shell@android:/ $ su
    su
    root@android:/ # mount -o remount,rw /dev/block/mtdblock0 /system
    mount -o remount,rw /dev/block/mtdblock0 /system
  7. tcpdumpが無いことを確認。
    root@android:/ # ls /system/xbin/tcpdump
    ls /system/xbin/tcpdump
    /system/xbin/tcpdump: No such file or directory
  8. tcpdumpのコピーと実行権付与。
    root@android:/ # cp /sdcard/tcpdump /system/xbin/tcpdump
    cp /sdcard/tcpdump /system/xbin/tcpdump
    root@android:/ # ls -l /system/xbin/tcpdump
    ls -l /system/xbin/tcpdump
    -rw-rw-r-- root     root       652964 2013-10-26 11:46 tcpdump
    root@android:/ # chmod 755 /system/xbin/tcpdump
    chmod 755 /system/xbin/tcpdump
    root@android:/ # ls -l /system/xbin/tcpdump
    ls -l /system/xbin/tcpdump
    -rwxr-xr-x root     root       652964 2013-10-26 11:46 tcpdump
  9. tcpdumpコマンド発行。
    root@android:/ # tcpdump -s 0 -vv -w /sdcard/tcpdump_20131026.pcap
    tcpdump -s 0 -vv -w /sdcard/tcpdump_20131026.pcap
    tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
  10. Android端末でキャプチャしたいアプリなど起動する。
  11. Ctrl+Cでキャプチャを終了
  12. Wiresharkなどでキャプチャしたファイルを開く
tcpdump導入済みであればこんな感じ。
> adb shell
shell@android:/ $ su
su
root@android:/ # tcpdump -s 0 -vv -w /sdcard/tcpdump_20131026.pcap
tcpdump -s 0 -vv -w /sdcard/tcpdump_20131026.pcap
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
インタフェースを調べてキャプチャする場合は以下
shell@android:/ # tcpdump -D
1.dummy0 [Up, Running]
2.wlan0 [Up, Running]
3.rmnet_usb0 [Up, Running]
4.lo [Up, Running, Loopback]
5.any (Pseudo-device that captures on all interfaces) [Up, Running]
6.nflog (Linux netfilter log (NFLOG) interface) [none]
7.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]
8.sit0 [none]
9.usb0 [none]
10.rmnet_data0 [none]
11.r_rmnet_data0 [none]
12.rmnet_data1 [none]
13.r_rmnet_data1 [none]
14.rmnet_data2 [none]
15.r_rmnet_data2 [none]
16.rmnet_data3 [none]
17.r_rmnet_data3 [none]
18.rmnet_data4 [none]
19.r_rmnet_data4 [none]
20.rmnet_data5 [none]
21.r_rmnet_data5 [none]
22.rmnet_data6 [none]
23.r_rmnet_data6 [none]
24.rmnet_data7 [none]
25.r_rmnet_data7 [none]
26.r_rmnet_data8 [none]
shell@android:/ # tcpdump -i 2 -vv -w /sdcard/tcpdump_20131026.pcap
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
ちなみに私が使用した仮想端末に入っていたtcpdumpのバージョンは以下。
root@android:/ # tcpdump --help
tcpdump --help
tcpdump version 3.9.8
libpcap version 0.9.8
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
                [ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
                [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
                [ -W filecount ] [ -y datalinktype ] [ -Z user ]
                [ expression ]
関連記事

2013年10月18日金曜日

S-OFF済みのHTL22を Android 4.2.2 (2.15.970.1) にアップデートしてみた

S-OFF済みのHTL22を Android 4.2.2 (2.15.970.1) にアップデートしてみた
私が所有するスマフォで初のHTC機となるHTL22
S-OFFとか、独特の仕様があってナカナカとっつきにくい。
初のHTC機という事でビビッていたというのと、HTC速報Devさんで提供していただいている初期の自作RUUに不具合があったというので、アップデートをためらっていたのだが、アップデート通知がうるさくなってきたのでアップデートしてみた。

前提条件

  • ビルド 1.07.970.4 の時点でS-OFFを行ってあること
  • ClockworkModなどのカスタムリカバリが導入済みであること

準備するもの

HTC速報さん提供の4.2.2対応ClockworkMod (recoverycwm2.img)
au HTL22 HTC J One 2.15.970.1のアップデートの現在状況と、更新ファイル(CWM/RUU)等を公開した件について (HTC速報Dev) | HTC速報
http://htcsoku.info/htcsokudev-news/au-m7wlj-2159701/
HTC速報さん提供の 4.2.2 のRUU (RUU_M7_WLJ_JB422_SENSE50_MR_KDDI_JP_2.15.970.1_Radio_1.23.11.0829_NV_3.39_01C_unsigned_htcsoku_PN07IMG.zip)
au HTL22 HTC J One 2.15.970.1のアップデートの現在状況と、更新ファイル(CWM/RUU)等を公開した件について (HTC速報Dev) | HTC速報
http://htcsoku.info/htcsokudev-news/au-m7wlj-2159701/
SuperSU (現時点ではUPDATE-SuperSU-v1.65.zip)
SuperSU - xda-developers
http://forum.xda-developers.com/showthread.php?t=1538053

アップデート

基本的にはHTC速報Devさんに書かれている手順通り
  1. RUUのzipからsystem.imgを抽出し、SDカードに入れる
  2. RUUのzipをPN07IMG.zipにリネームし、SDカードに入れる
  3. SuperSUをSDカードに入れる
  4. HTL22の電源OFF
  5. 電源+ボリュームダウンを押してFASTBOOT起動
  6. recoveryでCWM起動
  7. mounts and storage -> mount /exrernal_sd
  8. PCと接続し、コマンドプロンプトにてHTC速報Devさんに書かれているコマンドを発行
    >adb shell
    ~ # dd if=/external_sd/system.img of=/dev/block/mmcblk0p38
    dd if=/external_sd/system.img of=/dev/block/mmcblk0p38
    4587518+0 records in
    4587518+0 records out
    2348809216 bytes (2.2GB) copied, 1046.241385 seconds, 2.1MB/s
    ~ # reboot bootloader
    reboot bootloader
    system.imgの書き込みに約20分かかった
  9. FASTBOOTから、HBOOT起動
  10. すると、自動でRUUが始まる
  11. しばらく待つ
  12. Do you want to start update? <VOL UP> Yes <VOL DOWN> Noと表示されることを確認。
  13. ボリュームアップを押してアップデート
  14. system.imgのみFail-scになることを確認
  15. ここまででアップデート完了
  16. 再度FASTBOOT起動
  17. PCと接続し、コマンドプロンプトにてCWMをフラッシュ
    > fastboot flash recovery recoverycwm2.img
    > fastboot reboot-recovery
  18. CWMにてinstall zip from sdcard -> choose zip from external sdcard -> SuperSUのzipを選択しインストール
だいたいこんな感じです。
あとはBusyBox入れたり。
設定 -> バージョン情報 -> ソフトウェア情報 -> その他 -> ビルド番号を7回タップして、開発者向けオプションを出すのを忘れずに。
関連記事

2013年9月30日月曜日

Nexus 7(2012) を JWR66V から JWR66Y にアップデートした時のroot再取得メモ

Nexus 7 (2012)をJWR66V から JWR66Y にした際に rooted から unroot な環境になってしまったので、後々同じことでアタフタしないようにメモ。

再びrootを取る準備

まずは、OEM Unlockが済んでいること。まぁ、もともとrootが取れていた環境なら問題ないはず。
あとは、以下のファイルを準備。
SuperSU
http://forum.xda-developers.com/showthread.php?t=1538053f
TWRP
TWRP 2 - Nexus 7 page
いずれも最新版をダウンロードする。 SuperSUはダウンロード後、Nexusの内部ストレージにコピーしておく。
TWRPは、C:\TEMPなどに置く。
以下の手順では、C:\TEMPに置いたことを想定して進める。

root取得作業

  1. 電源が切れた状態で、電源ボタンとボリュームダウンボタンを押しながら起動し、bootloaderモードにする。
  2. bootloaderモードの状態でPCと接続
  3. 認識できているか確認
    > adb devices
    List of devices attached
    xxxxxxxxxxxxxxxxx    device
  4. カスタムリカバリ導入
    > fastboot flash recovery C:\TEMP\openrecovery-twrp-2.6.2.0-grouper.img
    sending 'recovery' (7992 KB)...
    OKAY [  0.965s]
    writing 'recovery'...
    OKAY [  0.612s]
    finished. total time: 1.577s
  5. リブートし、bootloaderモードへ
    > fastboot reboot-bootloader
    rebooting into bootloader...
    OKAY [  0.019s]
    finished. total time: 0.020s
  6. Recoveryを選択しTWRPを起動
  7. TWRPでinstallを選択し、SuperSUのインストール
  8. Reboot SystemでNexus 7をリブート
  9. Titanium Backupなどが起動することを確認
以上

ほかの端末も、このくらい簡単にroot取れたらいいんだけどなぁ。
関連記事