このツールは、APKからピン留め証明書を削除します。
frida-apkを使用して、アプリをデバッグ可能としてマークします。これは他のアプローチよりもはるかに侵襲的ではなく、 AndroidManifest.xmlのみがAPK内で触れられます。adb 、 apksigner 、 zipalign 、 aapt2 )のすべてのネイティブ依存関係が含まれています。目標は、さらに別の未解決のツールを構築することではなく、根を張っていないデバイスの新しい道を探索することでした。好きなアイデアを他のツールに恥知らずにコピーしてください。 :-)
$ git clone https://github.com/mitmproxy/android-unpinner.git
$ cd android-unpinner
$ pip install -e . USB経由でデバイスを接続し、次のコマンドを実行します。
$ android-unpinner all httptoolkit-pinning-demo.apk android-unpinner --help使用法の詳細については、HELPを参照してください。
android-unpinner list-packagesとandroid-unpinner get-apksを使用して、デバイスからAPKを引き出すことができます。または、たとえばapkpure.comから手動で、またはAPKeepを使用して自動的にインターネットからAPKをダウンロードすることもできます。
ルート化されたデバイスの使用と比較して、Android-Unpinner ...
? APKパッチングが必要です。
?ルート検出から隠す必要はありません。
apk-mitmと比較して、Android-Unpinner ...
?アプリを起動するときは、デスクトップマシンからアクティブな計装が必要です。
?実行時に、よりダイナミックなパッチングが可能になります(Fridaのおかげ)。
?侵略的なAPKパッチングは少なくなります。たとえば、 classes.dexそのままです。
objectionと比較して、Android-Unpinner ...
? 1つの機能(ピン留めを無効にする)のみをサポートし、インタラクティブな分析シェルはありません。
?始めが簡単で、追加の依存関係を必要としません。
?侵略的なAPKパッチングは少なくなります。たとえば、 classes.dexそのままです。
frida + LIEF 、Android-Unpinnerと比較して...
? AndroidManifest.xmlを変更します
?始めが簡単で、追加の依存関係を必要としません。
?アプリケーションにネイティブライブラリが含まれることは必要ありません。
このツールは、巨人の肩に立っています。
httptoolkit-pinning-demo.apk https://github.com/httptoolkit/android-ssl-pinning-demo(apache-2.0ライセンス)で入手可能なHTTP Toolkitのきちんとしたデモアプリのコピーです。scripts/httptoolkit-unpinner.jsは、https://github.com/httptoolkit/frida-android-unpinning/(AGPLライセンス、バージョン3.0以降)で入手可能なHTTP Toolkitの優れた未解決のスクリプトのコピーです。android_unpinner/vendor/frida/には、https://frida.re/で入手可能な素晴らしいFridaガジェットが含まれています(wxwindows Libraryライセンス、バージョン3.1)。android_unpinner/vendor/frida-tools/ https://github.com/frida/frida-tools(wxwindows briborisライセンス、バージョン3.1)から適合しています。android_unpinner/vendor/build_tools/は、Androidのビルドツールの一部のコピーです(ライセンスについてはNOTICE.txtを参照)。android_unpinner/vendor/platform_tools/は、Androidのプラットフォームツールの一部のコピーです(ライセンスについてはNOTICE.txtを参照)。