[actionscript-3] كيف يمكنني تحديد إصدار مشغل الفلاش الذي تم نشر swf له؟


Answers

يحتوي Flex SDK على أداة تسمى swfdump تعرض كل البيانات الأولية داخل ملف SWF. هنا بداية الإخراج عند تشغيل "swfdump foo.swf":

<swf xmlns='http://macromedia/2003/swfx' version='9' framerate='24' size='10000x7500' compressed='true'>
Question

لدي ملف SWF مجهول المصدر ، ولست بحاجة إلى معرفة إصدار مشغل الفلاش الذي تم استهدافه عند نشره. كيف أحصل على هذه المعلومات؟




خذ انتباهك على مواصفات SWF من http://www.adobe.com/devnet/swf.html

ثم قم بعمل تفريغ سداسي عشرية أو افتح SWF في محرر يمكنه عرض ست عشري. إصدار SWF هو أحد وحدات البايت القليلة الأولى وهو قبل بدء تشغيل البيانات المضغوطة. أريد أن أقول إنه البايت 4 ، لكنني لا أذكر تماما. القيمة هي رقم الإصدار. IIRC ، لا يتم ترميز النسخة نقطة في SWF.

قد يخبرك ملف جنو أيضًا. ربما أكون قد قمت بتحرير القواعد الخاصة بي للقيام بذلك ، على الرغم من.




المعظم؟ - من الإجابات حتى الآن غير صحيحة ، وهو أمر مؤسف كما كنت آمل في العثور على إجابة على هذا السؤال :).

تشير البايتة 4 من SWF إلى إصدار تنسيق ملف SWF من SWF. هذا ليس هو نفسه نسخة لاعب الهدف.

يتم تحديد الحد الأدنى من إصدار المشغل في وقت التحويل البرمجي من خلال خيار لاعب برنامج التحويل البرمجي ، بينما يتم تعيين إصدار تنسيق ملف SWF من خلال خيار swf-version.

يمكن العثور على القيم الافتراضية لهذه الخيارات داخل FLEX_SDK / إطارات / 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>

هذا يعني أن swfversion.com يعرض 11 لـ SWF الخاص بي ، على الرغم من أنني أطلب من المستخدمين فقط الحصول على 10.2. وفقًا لـ http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html ، تعمل Flex 4.6 على تعيين target-player على 11.1 وإصدار swf إلى 14. لذلك لا أعلم كيف swfversion.com على الاطلاق مفيد.




Links