2011-08-09 9 views
3

フラッシュウェブサイトをクロールするように頼まれました。このウェブサイトは、AMFプロトコルを通じて何らかの種類のサーバーサイドコールを利用しているようです。私はこのプロトコルに全く慣れていませんが、このライブラリ(http://www.pyamf.org/index.html)が見つかりました。リバースエンジニアリングAMF

サーバーに送信されるペイロードと応答を表示できます。私は特定の重要な要素を作ることができますが、全体的に要求や応答を理解できません。

私はライブラリが何らかの形で助けになると思いますが、どこから始めたらよいかわかりません。誰かがAMFコールをリバースエンジニアリングするためのリソースやテクニックを知っているのですか、誰かがなぜそうでないのか説明できますか?

+0

AMF自体はバイナリのフラッシュファイルです。呼び出し自体はAMFファイルを返しますが、そうではありませんか? – bzlm

+0

AMFはActionscript Message Formatで、Flashにデータを送信するためのプロトコルです。それはフラッシュファイルそのものではありません。 –

答えて

7

あなた自身で書く。

  • のPython:PyAMF
  • ルビー:以下は、言語別AMF構文解析のためのいくつかのライブラリのリストは、離れて、より多くの単純な検索で、あるRocketAMF
  • のJava:BlazeDS
  • PHP:Zend::AMF

AMFの一般的な動作を理解する上で、リモートプロシージャコール(RPC)層を使用したオブジェクトのシリアル化形式です。すべてのRPC呼び出しは、サービス名とそのサービスを呼び出すメソッド、およびパラメータのリストで構成されています。彼らがFlexを使用している場合、AdobeのオープンソースAMF実装であるBlazeDS以外にはどこにも記載されていないが、上記のすべてのライブラリでサポートされているRPCプロセスのいくつかの追加層があります。

Charlesも参照してください。Charlesは、プロキシされているAMFリクエストをデシリアライズできるため、リバースエンジニアリングが簡単になります。

4

AMFプロトコルのドキュメントが公開されています。

あなたがでAMF 3仕様のコピーを見つけることができます:それはかなりあるhttp://opensource.adobe.com/wiki/download/attachments/1114283/amf0_spec_121207.pdf

:プロトコルの古いバージョンであるAMF 0プロトコルは、それがで仕様可能なのしているhttp://opensource.adobe.com/wiki/download/attachments/1114283/amf3_spec_05_05_08.pdf

あなたがそれを実装する多くのライブラリのコードを参照するなら、それを得ることができるはずです。

のプロトコルのための参照の素敵なリストもあります:AMF(RocketAMF)を解析することができライブラリーを構築した人、私はあなたが既存のライブラリの1ではなく、使用することを助言するようhttp://osflash.org/documentation/amf

関連する問題