某お宝アプリのパケットキャプチャのxped実装
チャールズを使う
アプリを操作してみたところ、最初にアプリを開いたときは散在するデータパケットをキャプチャできましたが、その後の操作では正常にキャプチャできなくなりました。
クライアントコードを分析する
Jeb で APK を開いて分析すると、コア通信パッケージがmtopsdk.mtop
以下にあることがわかり、そのコードを分析した結果、通常のパケット キャプチャ ツール Charles と Findler が対応するパケットをキャプチャできない根本的な理由は、 spdy プロトコルを使用するため、その使用を防止する必要があります。
特定のコード
spdy オプションをオフにするだけです。
public boolean isGlobalSpdySwitchOpen() {
IpChange ipChange = $ipChange;
if (ipChange == null || !(ipChange instanceof IpChange)) {
return localConfig.enableSpdy && remoteConfig.enableSpdy;
} else {
return ((Boolean) ipChange.ipc$dispatch("isGlobalSpdySwitchOpen.()Z", new Object[]{
this})).booleanValue();
}
}
xposed プラグインの書き方: