Android/iOS端末、アプリを扱うのに便利なコマンド、aliasたち
Android/iOS端末、アプリについて取得したい情報があるとき、ついついAndroidやiPhoneの端末のUIからがんばってしまいがちだが、 コマンドでやると楽に取得できる。 そんなときに使える、Android/iOSアプリを開発するときや、解析するときに便利なコマンド、aliasたちのまとめ。 普段つかっているのがmacOSなので、macOSでしか動作確認してないです。
Android端末向け
端末のipアドレスを取得する
.bashrc
に以下のようにaliasを貼っている。
alias androidip='adb -d shell ip addr show wlan0 | egrep -o "10\.[^\. ]*.[^\. ]*\.[^\. ]*| 172\.[^\. ]*.[^\. ]*\.[^\. ]*| 192\.168\.[^\. ]*\.[^\. ]*" | head -n 1'
以下のように使える。
$ androidip
10.4.56.8/21
スクリーンショットを取る
.bashrc
に以下のように関数を定義している。
function androidscreenshot () { timestamp=$(date +"%Y-%m-%d-%H-%M-%S") adb shell screencap -p /data/local/tmp/screenshot-${timestamp}.png adb pull /data/local/tmp/screenshot-${timestamp}.png adb shell rm /data/local/tmp/screenshot-${timestamp}.png }
以下のように使える。
$ androidscreenshot /data/local/tmp/screenshot-2018-09-24-18-34-52.png: 1 file pulled. 15.0 MB/s (1999962 bytes in 0.127s)
.apkのパッケージ名を取得する
.bashrc
に以下のように関数を定義している。aapt
コマンドの結果をgrepしてるだけ。aapt
コマンドの使い方を覚えられないので関数にしている。
function packagename () { aapt l -a $1 | grep "A: package" }
以下のように使える。
$ packagename hoge.apk A: package="com.xxx.hoge" (Raw: "com.xxx.hoge")
.apkのパーミッションを取得する
.bashrc
に以下のように関数を定義している。これもaapt
コマンドの結果をgrepしてるだけ。
function apkpermission () { aapt l -a $1 | grep -i permission }
以下のように使える。
$ apkpermission hoge.apk E: uses-permission (line=14) A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
iOS端末向け
スクリーンショットを取る
libimobiledevice に付属するコマンドを使う。
macOSではhomebrewからインストールできる。
$ brew install libimobiledevice
以下のように使える。
$ idevice_id -l # 接続できてるか確認 7a54172f5b3c2ab46372fb71127fa7b4de8d9d9e $ idevicescreenshot Screenshot saved to screenshot-2018-09-24-09-23-58.png
.ipaのインストールパスを取得する
IDAに付属しているios_deploy
コマンドを使う。IDAを持っている人はIDA Support: Download Centerからダウンロードできる。持っていない人は他のツールからがんばりましょう。
ios_deploy
コマンド、微妙に便利だが、公式マニュアルとは違う挙動をするので注意。
$ ios_deploy install -b Payload/hoge.app # 少し時間かかります $ ios_deploy path -b com.xxxx.xxxxx.hoge /private/var/containers/Bundle/Application/625D8A60-C8N3-272A-XXXX-XXXXXXXX/hoge.app/hoge