Proxyman と Magisk で Android API 36 Google Play エミュレータの HTTPS 通信をキャプチャするには?

Proxyman と Magisk で Android API 36 Google Play エミュレータの HTTPS 通信をキャプチャするには? のカバー画像

このチュートリアルでは、Proxyman と Magisk を使って、Android 16 API 36 Google Play Emulator の HTTPS 通信をキャプチャして復号する方法を説明します。

問題点

Android Studio には、よく使われるエミュレータイメージが 2 種類あります。

  • Google APIs イメージ:通常の adb root コマンドに対応していますが、Google Play ストアは含まれていません。
  • Google Play イメージ:Play ストアが含まれていますが、通常の adb root コマンドは使用できません。

Proxyman がすべてのアプリの HTTPS 通信を復号するには、Android のシステム証明書ストアに Proxyman の証明書をインストールする必要があります。Google Play Emulator では、通常のセットアップでは root 権限を取得できず、証明書をシステムストアにコピーすることもできません。

その結果、次のような問題が起きます。

  • Proxyman は HTTP 通信をキャプチャできても、HTTPS 通信は暗号化されたままになることがあります。
  • アプリによっては、SSL または証明書のエラーが表示されることがあります。
  • Google Play からインストールしたアプリが、Proxyman の証明書を信頼しないことがあります。

Magisk を使ってエミュレータを手動で root 化することもできますが、手順が複雑です。Magisk をダウンロードし、エミュレータの ramdisk にパッチを当て、パッチを適用したイメージでエミュレータを起動し、root 権限を設定して、証明書をインストールします。作業が終わったら、すべてを元に戻す必要もあります。手作業のステップが多く、間違えやすい作業です。

Proxyman 6.14.0 では、Google Play Emulator 向けの新しい Magisk オプションが追加されました。Android Emulator Guide から、数回のクリックでセットアップを完了できます。

このチュートリアルで実現できることは次のとおりです。

  • ✅ 1 クリックで Google Play Store Emulator を上書き
  • ✅ 対応している最新の Magisk を自動的に使用して、エミュレータを root 化
  • ✅ Google Play からインストールしたアプリの HTTP と HTTPS 通信をキャプチャ
  • ✅ Android 16 API 36 Google Play Emulator を使用
  • ✅ Proxyman が HTTP プロキシを設定し、システムストアに証明書をインストール
  • ✅ Android アプリのコードを変更する必要はありません

前提条件

  • Proxyman macOS 6.14.0 以降
  • Android Studio
  • Android Debug Bridge (adb)
  • Google Play システムイメージを使用する Android 16 API 36 エミュレータ

1. Proxyman をセットアップ

  1. 最新の Proxyman macOS アプリを Proxyman の Web サイト からダウンロードします。
  2. Proxyman を開きます。
  3. Certificate → Install Certificate on this Mac に移動します。
  4. ガイドに従って、Proxyman の証明書をインストールして信頼します。
  5. 緑色の Installed & Trusted ステータスが表示されていることを確認します。
macOS で Proxyman の証明書をインストールして信頼する
macOS で Proxyman の証明書をインストールして信頼する

2. Android API 36 Google Play Emulator を作成

  1. Android Studio を開きます。
  2. Device Manager を開き、新しい仮想デバイスを作成します。
  3. Pixel デバイスを選択します。
  4. Google Play システムイメージの Android 16, API 36 を選択します。
  5. セットアップを完了し、エミュレータを起動します。

今回は Google Play イメージを選択してください。エミュレータ内で Play ストアアプリが使えるようになります。

Android Studio の Device Manager で Google Play Store システムイメージを選択する
Android Studio の Device Manager で Google Play Store システムイメージを選択する

3. Proxyman で Magisk オプションを有効にする

  1. Android Emulator を開いたままにします。
  2. Proxyman で Certificate → Install Certificate on Android → Emulators に移動します。
  3. Proxyman がエミュレータを検出できていることを確認します。
  4. Root Google Play Emulators with Magisk にチェックを入れます。
  5. Override All Emulators をクリックします。
Proxyman の Android Emulator Setup Guide で Root Google Play Emulators with Magisk を有効にする
Proxyman の Android Emulator Setup Guide で Root Google Play Emulators with Magisk を有効にする

Root Google Play Emulators with Magisk オプションは、重要な新しいステップです。このオプションがないと、Google Play Emulator では Proxyman がシステムストアに証明書をインストールできません。

ターミナルのウィンドウが開きます。Proxyman が変更内容を説明し、許可を求めます。y と入力して Return キーを押すと続行します。

ターミナルで一時的な Magisk root の設定を確認する
ターミナルで一時的な Magisk root の設定を確認する

このスクリプトは次の処理を行います。

  • Magisk を使って Google Play Emulator を一時的に root 化する
  • エミュレータを再起動する
  • HTTP プロキシを Proxyman に設定する
  • Proxyman の証明書を Android のシステムストアにインストールする

ターミナルのスクリプトが完了し、エミュレータの再起動が終わるまで待ちます。

Proxyman と Magisk で Google Play Emulator の上書きに成功
Proxyman と Magisk で Google Play Emulator の上書きに成功

Magisk による root 化は一時的なものですが、Play Integrity、Google アプリ、root の有無をチェックするアプリに影響する可能性があります。テスト用のエミュレータを使用し、個人のアカウントや機密データは追加しないでください。

4. HTTPS 通信をキャプチャする

  1. エミュレータで Play ストアを開きます。
  2. テストしたいアプリをインストールするか、開きます。
  3. アプリを操作して、Proxyman に戻ります。
  4. そのアプリの HTTP と HTTPS のリクエストとレスポンスが表示されるようになります。

リクエストがまだ暗号化されている場合は、Proxyman でそのリクエストを選択し、SSL Proxying を有効にしてください。その後、Android アプリを閉じてから再度開きます。

自分で開発した Android アプリ、Google Chrome、YouTube、その他 Google Play からインストールした多くのアプリの通信をキャプチャできます。

一部のアプリは SSL ピンニングを使用しています。Proxyman の証明書をインストールしても、SSL ピンニングは回避できません。テストが許可されているアプリと通信だけを調べてください。

5. エミュレータを元に戻す

テストが終わったら、次の手順を行います。

  1. Proxyman で Android Emulator Guide をもう一度開きます。
  2. Revert All Changes をクリックします。
  3. ターミナルで操作を確認します。
  4. エミュレータが通常のシステムイメージで再起動するまで待ちます。

これにより、一時的な Magisk による root 化が解除され、プロキシの設定もクリアされます。Proxyman を閉じる前に、必ず変更を元に戻してください。元に戻さないと、エミュレータがインターネットに接続できなくなる場合があります。

トラブルシューティング

Proxyman がエミュレータを検出できない

ターミナルで adb devices を実行します。エミュレータが emulator-#### というデバイスとして表示されているか確認してください。表示されない場合は、Android Studio とエミュレータを再起動してください。

Magisk のスクリプトが完了しない

Android Studio の Device Manager を開き、Cold Boot Now を使用して、Android が起動するまで待ってから、もう一度試してください。Android Studio 公式の Google Play イメージを使用していることを確認してください。

Magisk を有効にした後、アプリが動作しなくなる

アプリが root の有無や Play Integrity をチェックしている可能性があります。Revert All Changes をクリックし、root 化したエミュレータに対応しているアプリでテストしてください。

次のステップ


Proxyman は高性能な macOS アプリで、開発者が Android デバイス、Android エミュレータ、iOS デバイス、iOS シミュレータ、Web ブラウザからの HTTP、HTTPS、WebSocket 通信をキャプチャして確認できます。

https://proxyman.com からダウンロードできます。

Noah Tran
Noah Tran

Google Play Emulator の HTTPS 通信をキャプチャ

Proxyman がプロキシを設定し、Magisk でエミュレータを一時的に root 化して、証明書のインストールまで行います。

Proxyman をダウンロード