J'ai un fichier SWF d'origine inconnue et j'ai besoin de savoir à quelle version de Flash Player il était destiné au moment de sa publication. Comment puis-je obtenir cette information?
Réponses
Trop de publicités?Le 4e octet dans le fichier SWF porte le numéro de version, par exemple 0A est pour Flash Player 10.
EDIT: en Raison du grand intérêt porté à cette question a obtenu, j'ai décidé de donner plus de commentaires
Les 8 premiers octets d'un fichier SWF ne sont pas compressés, le reste du fichier peut être compressé (ou pas) par compression zlib.
- 1er octet: 'F' (non compressé) OU " C " (compressé).
- 2ème octet: 'W' toujours.
- 3ème octet: 'S' est toujours.
- 4ème octet: numéro de version (09 signifie que ce fichier est destiné à Flash Player 9 et ainsi de suite...)
- 5e-8e: Longueur de l'ensemble du fichier en octets.
Cela ajoute à ce que brian sharon l'a dit.
Oui la 1-to-1 cartographie de swf version et la version de Flash Player n'est plus là.
Ce que le 4ème octet représente est l'-swf-version, et ce qui est bon à ce sujet est qu'il ya maintenant un à un rapport avec le point de rejet.
Regardez ces références:
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
À partir de la deuxième lien:
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
Je suis à l'aide de cette information à partir de flash fichiers de jeu pour avertir les utilisateurs que leur flash player peut être dépassée sur mes jeux flash portail. Et cela fonctionne bien.
Plus - tout? - les réponses sont incorrectes, ce qui est malheureux, car j'espérais trouver une réponse à cette question :).
4 octets du fichier SWF indique quelle est la version de SWF format de fichier est utilisé par le fichier SWF. C'est pas le même que le joueur cible version.
Le nombre minimum de joueurs version est définie au moment de la compilation par le biais de l'option de compilateur cible-joueur, tandis que le format de fichier SWF version est définie par l'option swf version.
Les valeurs par défaut de ces options peut être trouvé à l'intérieur FLEX_SDK/frameworks/flex-config.xml. Pour le SDK de la version que j'utilise (4.5.1), les valeurs par défaut sont comme suit:
<!-- 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>
Cela signifie swfversion.com montre 11 pour mon SWF, même si je n'ai besoin que les utilisateurs ont 10.2. Et selon http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.htmlFlex 4.6 ensembles cible-joueur de 11.1 et swf-version 14. Donc, je ne suis pas clair comment swfversion.com est utile.
Vous pouvez utiliser l'outil de validation Flash de DoubleClick:
https://flashval-temp.appspot.com/validator/
Il fournira des informations telles que le nom du SWF, la version, la taille du fichier, les dimensions, le nombre d'images par seconde, la compression et le nombre total d'images.