バンドリのファイル鯖のURLが変わったからFiddlerで調べた話

最近のバンドリは仕様変更が大変多いですねえ...AssetBundleInfoの記述方法をここ最近で2回変えたり,標題の様にURLも変えたりと.(何でURLが変わっただけかってことに気付いたのかというと,他の解析チームが普通にアセットを更新していたため,そこまで難しい仕様変更じゃないなと思ったため)

で,今回は変更されたURLを自力で探したのでその方法についての話と,Bandori_Downloaderの修正の話についても触れます.今回の手法はバンドリ以外のゲームにおいても有効だし,AssetBundleInfoみたいなファイルリストを作る際には必ず通る道なので覚えておいて損はないです.

FiddlerとNOXPlayerの導入

下記からインストールしてください.

Fiddler 

NOXPlayer

今回は一つのPC上でNOXPlayer上でゲームアプリを起動して,同一PC上で起動したFiddlerでパケットキャプチャする,という方法で鯖のURLを特定します.まず,NOXPlayerで起動したandroidをFiddler上にパケットを流すように設定してやる必要があります.

最初にFiddlerでandroidの通信を待ち受ける設定をします.Fiddlerを起動して左上のバーにある「tool」から「option」を開きます.下記の画像の通りにHTTPSカラムでは「Decrypt HTTPS traffic」をチェック,Connectionsカラムでは「Allow remote computers connet」にチェックを入れます.

 

これでFiddler側の設定は終わりです.次にNOXPlayer側の設定をします.ホームの設定アプリからネットワークの項目を開いて,「WiredSSID」を長押し→詳細設定項目を開いてください.

プロキシを手動に設定,ホスト名をNOXPlayerとFiddlerを起動しているPCのIPアドレス,ポートを8888にします.

その後,ホームのブラウザで「http://ipv4.fiddler:8888」にアクセスし,証明書をダウンロードします.ダウンロード後はステータスバーにあるダウンロードマークからインストールを実行できます.

その後,証明書の設定を求められるので証明書の名前を「Fiddler」,認証情報の使用を「Wi-Fi」にしてください.

ここまで出来たらNOXでガルパをインストールして起動してみてください.ファイルのダウンロードについて聞かれる画面までたどり着くとFiddler上でかなりのパケットログが流れてくるはずです.

これはちょっと僕が独自に通信してしまった分もがあるので恐らく民様の画面通りにはなっていないことと,サーバーのホストがわかっているのでスムーズに見つけることが出来ているのですが,バンドリのサーバーのホストである「https://d2ktlshvcuasnf.cloudfront.net/」で検索してみるとすぐにサーバーへのAssetBundleInfoダウンロードのためのアクセスURLがわかります.※ちなみにURL列のAssetBundleInfoの後ろ側の文字列は時間情報ですが,あってもなくてもアクセスできます.

URLに注目してみると,「4.1.0.100_p3HzsCWjkY」みたいな箇所が見えますね.今回のアップデートで「_p3HzsCWjkY」が今までのURLに余分に引っ付いたみたいです.これでURL変更を突き止めることが出来ました.例えば今回追加されたBGM264も問題なくダウンロードできます.

※バンドリ以外のゲームだったら,AssetBundleとか,Assetファイルっぽいものを検索で見つけ出して,それのURL列を確認していけばいいと思います.

Bandori_Downloaderの更新

これくらいの修正なら簡単にできるのですけど,多分ですが今後はアップデートごとに今回の「p3HzsCWjkY」に該当する文字列が変化するのでは?という気がしています.次のバンドリのアップデートでも「p3HzsCWjkY」のままなら修正しますけど,これを毎回変えてくるようなら修正に関してどうしようかな,と悩むことになりそう.

そういうわけで今回の対応版は今すぐには修正しませんが,AssetBundleInfo自体はここ(これはiOS版)からダウンロードできるし,これを既存のBandori_Downloaderの整形するところに挟み込んでやれば整形できるはずです(Bandori_Downloaderでダウンロードした後の,ABI Shapingの選択肢の箇所で上記URLで手に入れたAssetBundleInfoを「AssetBundleInfo(raw) ver 4.1.0.100 .txt」って名前で保存しておけばOK).

その後サクラエディタかなんかのエディタで置換機能でバージョンの後ろに_p3HzsCWjkYを差し込むように置換してやればOKです.

バンドリのファイル鯖のURLが変わったからFiddlerで調べた話” に対して6件のコメントがあります。

  1. たけ より:

    お久しぶりです。たけです。

    今回のアップデートでまたURLが変わってしまったようで、ダウンロードができなくなりました。毎回ここで聞くわけにもいかないので自分でやってみようとしたのですが「NOXPlayer」で「http://ipv4.fiddler:8888」にアクセスするという部分がうまくいかず「接続エラー
    net::ERR_PROXY_CONNECTION_FAILED」と表示されてしまいます。

    解決策わかったりしますか?

    1. Maya Yamato より:

      う~~~ん,恐らく記事中の

      「次にNOXPlayer側の設定をします.ホームの設定アプリからネットワークの項目を開いて,「WiredSSID」を長押し→詳細設定項目を開いてください.

      プロキシを手動に設定,ホスト名をNOXPlayerとFiddlerを起動しているPCのIPアドレス,ポートを8888にします.」

      の箇所の設定ミスな気がしますが,多分あなたはそういうミスをしそうな人間には見えないしなんでしょう,ちょっと思いつかないです.

      ちょっと僕は忙しくてURLの修正や解決策の模索などに時間が取れず,すぐには対応できないです.申し訳ない

      1. たけ より:

        「ホスト名をNOXPlayerとFiddlerを起動しているPCのIPアドレスにする」というところでは、
        1.「Windows」キー+「R」
        2.「cmd」と入力して実行
        3.コマンドプロンプト上で「ipconfig」と入力
        4.「IPv4 アドレス」に書かれているIPアドレス
        という順序で調べてこれを入力したのですけど、あってますか?

        IPアドレスとかあまり詳しくないんで間違ってるとしたらそこかな~と思いました。

        1. Maya Yamato より:

          それで合ってるな~ ipv4アドレスがIPアドレスですからねえ
          差し支えなければimgur辺りで画像UPしてURLをコメントに貼ってもらえれば確認位はできるかもしれません.

          1. たけ より:

            一度アンインストールして、もう一度初めからやったらできました。
            どこかで間違ってたのかもしれません。いろいろ教えていただきありがとうございます。

            あと、最新記事読ませていただきました。「Bandori_Downloader」はすごく便利だったので、今まで使わせていただいてました。更新が止まってしまうのは少し残念ですが、ほんとに感謝してます。ありがとうございました。

          2. Maya Yamato より:

            解決したようで良かったです,
            拙作につきましてもそのようにコメントしていただけて嬉しいです.
            ゲームの解析自体は辞める気はないので今後もよろしくお願いします.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください