人間誰しも、なんらかの理由でビルドした後のAndroidアプリで通信を傍受したい時がある。そういう時は大概、自宅だったりして手元にはソースコードがない場合だ。
肝となる作業は下記の記事となんら変わらないが、ビルド済みAPKファイルからこの手順を確認する。
もし実機にインストールしてあるなら、adbコマンドを用いて手元のPCに持ってくる。
PATHを通しておく。インストール手順はこちら。
apktool d your.built.droid.app-0.apk
やることは3つ。
res/xml/nsc.xml
のようなパスに network-security-config
を作るres/raw/myca.der
のようなパスに .der
ファイルを置くAndroidManifest.xml
内の <application/>
に android:networkSecurityConfig="@xml/nsc"
のような設定を加えるapktool b ./your.built.droid.app -o falsified-unsigned.apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore -storepass android -signedjar falsified-signed.apk falsified-unsigned.apk androiddebugkey
~/.android/debug.keystore
がない場合、生成することもできる。
adbコマンドを用いてインストールする。
logcatで NetworkSecurityConfig: Using Network Security Config from resource nsc debugBuild:...
のようなログが表示されればOK。