多くの人気のあるWebゲームはFlashで作成されています。彼らはまた、チャットや定期的な更新などのタスクを実行するためにWebSocketを利用していると確信しています。問題のゲームは、本当にすべての人にこれを実行できるようにしたいのですが、ドラゴンズオブアトランティスです。このゲームはアクションに両方のXMLHTTPRequestsを使用しており、ここのフラッシュパラメーターで見つけたWebSocketを信じています。
<object id="castlemania_swf" width="760" height="800" type="application/x-shockwave-flash" data="https://s3-external-1.amazonaws.com/castlemania-production/flash/game/current/preloader.swf?cachebreaker=23423423429">
<param name="allowScriptAccess" value="always">
<param name="allowFullScreen" value="true">
<param name="wmode" value="opaque">
<param name="flashvars" value="session_id=fjdkfjal2j3j2lkj232&locale=en&api_server=http://realm193.c10.castle.wonderhill.com/api&pub_server=c10.castle.wonderhill.com&pub_port=7000&user_id=89234787492&user_hash=242343234242342432342343424232&user_time=1344028407&dragon_heart=234343242432432432432342432&platform=yahoofb&subnetwork=&s3_server=https://s3-external-1.amazonaws.com/castlemania-production&s3_swf_prefix=/flash/game/current&assets_server=https://assets-castle.wonderhill.com&assets_prefix=/flash/gam...ode_is_cdn=false&preloader_cachebreaker=243234432423&primary_ui_cachebreaker=23432432&secondary_ui_cachebreaker=24322432423&i18n_cachebreaker=2432423342432&manifest_cachebreaker=24342423423&building_cachebreaker=23423423342&sound_cachebreaker=2432423342423&client_cachebreaker=2432423342423&lazy_loaded_swf_cachebreaker=2432432423&map_bin_cachebreaker=24342323&assets_cachebreaker=2432432423_2423423423.24323423&statics_translations_cachebreaker=20130305_213355.49364792&statics_manifests_cachebreaker=243223423234_213429.42776785">
だからここで検索する必要はありません私が興味を持っているパラメータです
api_server=http://realm193.c10.castle.wonderhill.com/api&pub_server=c10.castle.wonderhill.com&pub_port=7000
Chromeを使用しようとした後、グリースモンキーとFirefoxを使用していますが、ブラウザー開発者ツールによってWebSocketがスニッフィングされ、WebSocketがオーバーライドされたという証拠はありません。
(function(){
var proxied=window.WebSocket.prototype.send;
window.WebSocket.prototype.send=function(){
alert(arguments[0]);
return proxied.apply(this,[].slice.call(arguments));
};
})();
すべてのhtml5ベースのアプリケーションでうまく機能しますが、それでも運はありません。フラッシュはブラウザをバイパスしています。これが、Chrome / Firefox/JavascriptがWebSocket呼び出しを取得しない理由です。 flashが使用するWebSocketを操作する方法はありますか? 私の目標は、トラフィックをスニッフィングするだけでなく、意味のある方法で使用することです。そのため、トラフィックを確認するだけでは不十分です。助けてくれてありがとう!
(WebSocketに対する一般的な答えはChromeを使用することですが、この場合、デフォルトのChromeのおかげで機能しません!)