While testing my AS3 SWF library as3swf yesterday, i found that MXMLC (the compiler that comes with the Flex SDKs) Â writes undocumented SWF tags to the SWFs it produces.
I was able to identify two so far:
ProductInfo (Tag ID 41)
The ProductInfo tag contains infos about the tool used to generate the SWF, as well as the date and time the SWF was compiled. It also contains info about the “Edition” of the software used (see below), and although this seems to be always set to “None” in Flex Builder 3 and Flash Builder 4, it potentially could become a privacy issue, especially being an undocumented feature (you better know about this tag just in case you accidentally publish commercial work with your non commercial Flash Builder license).
- ProductID (UI32)
0: Unknown
1: Macromedia Flex for J2EE
2: Macromedia Flex for .NET
3: Adobe Flex - Edition (UI32)
0: Developer Edition
1: Full Commercial Edition
2: Non Commercial Edition
3: Educational Edition
4: Not For Resale (NFR) Edition
5: Trial Edition
6: None - MajorVersion (UI8)
- MinorVersion (UI8)
- BuildLow (UI32)
- BuildHigh (UI32)
- CompilationDate (UI64)
Milliseconds since 1.1.1970
Examples:
Flex 4.0 – [41:ProductInfo] ProductID: 3, Edition: 6, Version: 4.0.0.7791, CompileDate: Fri Aug 21 05:18:21 GMT-0300 2009
Flex 3.2 – [41:ProductInfo]Â ProductID: 3, Edition: 6, Version: 3.2.0.3958, CompileDate: Fri Aug 21 05:23:22 GMT-0300 2009
DebugID (Tag ID 63)
This tag is written to SWFs that are enabled for debugging. It contains a 16 byte UUID.
- UUID (UI8[16])
Example:
[63:DebugID] UUID: b8f36d6a-c735-a340-daa7-44730af92505
Reference
Flex SDK:
Community:
- Igor Costa: Reading the compilation date of SWF with the magic of ByteArray
- Judah Frangipane: Cache busting your Flex SWF and the SWF Compilation Date