不明なOriginのSWFがあり、それが公開されたときに対象としたFlash Playerのバージョンを知る必要があります。この情報を取得するにはどうすればよいですか?
SWFファイルの4番目のバイトにはバージョン番号が含まれています。たとえば、0AはFlash Player 10の場合です。
編集:高い関心のために、この質問は私にもっとフィードバックを与えることにしました
SWFファイルの最初の8バイトは圧縮されません。ファイルの残りの部分は、zlib圧縮によって圧縮される(または圧縮されない)可能性があります。
Flex SDKには、SWFファイル内のすべてのメタデータを表示するswfdumpと呼ばれるツールが含まれています。 「swfdump foo.swf」を実行したときの出力の先頭は次のとおりです。
<swf xmlns='http://macromedia/2003/swfx' version='9' framerate='24' size='10000x7500' compressed='true'>
これはブライアンシャロンの発言に追加されます。
はい、SWFバージョンとFlash Playerバージョンの1対1のマッピングはありません。
4番目のバイトが示すのは-swf-versionであり、これの良い点は、ポイントリリースとの1対1の関係があることです。
これらの参照を見てください:
http://blogs.Adobe.com/airodynamics/2011/08/16/versioning-in-flash-runtime-swf-version/
http://sleepydesign.blogspot.in/2012/04/flash-swf-version-meaning.html
2番目のリンクから:
Compiler Option Flash Player Version
-swf-version=9 9
-swf-version=10 10, 10.1
-swf-version=11 10.2
-swf-version=12 10.3
-swf-version=13 11.0
-swf-version=14 11.1
-swf-version=15 11.2
-swf-version=16 11.3
フラッシュゲームファイルのこの情報を使用して、フラッシュプレーヤーが私のフラッシュゲームポータルで古くなっている可能性があることをユーザーに警告しています。そして、これはうまくいきます。
DoubleClickのFlash Validatorツールを使用できます。
https://flashval-temp.appspot.com/validator/
SWF名、バージョン、ファイルサイズ、寸法、1秒あたりのフレーム数、圧縮、合計フレーム数などの情報を提供します。
ほとんど-すべて? -これまでの回答のうち、不正解です。この質問への回答を見つけたいと思っていたので残念です:)。
SWFのバイト4は、SWFが使用するSWFファイル形式のバージョンを示します。これは、ターゲットプレーヤーのバージョンと同じではありません。
プレーヤーの最小バージョンは、コンパイラオプションのtarget-playerを使用してコンパイル時に設定され、SWFファイル形式のバージョンは、swf-versionオプションを使用して設定されます。
これらのオプションのデフォルト値は、FLEX_SDK/frameworks/flex-config.xml内にあります。私が使用しているSDKバージョン(4.5.1)の場合、デフォルトは次のとおりです。
<!-- Specifies the minimum player version that will run the compiled SWF. -->
<target-player>10.2.0</target-player>
<!-- Specifies the version of the compiled SWF -->
<swf-version>11</swf-version>
つまり、ユーザーに10.2のみを要求する場合でも、SWFに対してswfversion.comは11を表示します。そして http://help.Adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html によれば、Flex 4.6はtarget-playerを11.1に設定し、swf-versionを14に設定します。 m swfversion.comがどのように役立つかは明確ではありません。
http://www.Adobe.com/devnet/swf.html からSWF仕様を少し見てください。
次に、16進ダンプを実行するか、16進を表示できるエディターでSWFを開きます。 SWFバージョンは最初の数バイトの1つであり、圧縮データが開始する前です。それはバイト4と言いたいのですが、完全に思い出すことはできません。値はバージョン番号です。 IIRC、ポイントバージョンはSWFでエンコードされません。
GNUファイルもあなたに言うかもしれません。ただし、これを行うためにルールを編集した可能性があります。