Flash Tutorials - Herong's Tutorial Examples - v3.03, by Dr. Herong Yang
Dumping SWF Files Generated from MXML Applications
This section provides a tutorial example on how to dump and disassemble SWF files generated from Flash applications written in MXML format. '-D' and '-asm' options should be used.
In this example, let's dump and disassemble a SWF file generated from a Flash application written as an MXML file, sqft_converter.swf. See previous chapter on how sqft_converter.swf was created.
First dump it with the SWFTools SWF dumper using "-D" option:
C:\herong>\local\swftools\swfdump -D sqft_converter.swf [HEADER] File version: 10 [HEADER] File is zlib compressed. Ratio: 49% [HEADER] File size: 80395 [HEADER] Frame rate: 24.000000 [HEADER] Frame count: 2 [HEADER] Movie width: 500.00 [HEADER] Movie height: 375.00 [045] 4 FILEATTRIBUTES usenetwork as3 symbolclass [04d] 459 METADATA [041] 4 SCRIPTLIMITS [009] 3 SETBACKGROUNDCOLOR (ff/ff/ff) [029] 26 SERIALNUMBER [02b] 42 FRAMELABEL "_sqft_converter_mx_managers_SystemManager" [052] 56432 DOABC "frame1", lazy load # #name: frame1 # #Metadata "Bindable": # =change # sealed interface class <q>[public]mx.core::IFlexModuleFactory{ staticconstructor * =()(0 params, 0 optional) [stack:0 locals:1 scope:3-3 flags:] { 00000) + 0:0 returnvoid } constructor * <q>[public]mx.core::IFlexModuleFactory=() (0 params, 0 optional) getter <q>[public]flash.utils::Dictionary <q>[namespace]mx.core:IFlexModuleFactory::preloadedRSLs=() (0 params, 0 optional) ... [04c] 86 SYMBOLCLASS exports 0002 as "_sqft_converter_Styles__embed_css... [001] 0 SHOWFRAME 2 (00:00:00,042) (label "sqft_converter") [000] 0 END
Then disassemble it with the Flex SWF disassembler using "-asm" option:
C:\herong>\local\flex\bin\swfdump -asm sqft_converter.swf <!-- Parsing swf file:/C:/herong/sqft_converter.swf --> <!-- ?xml version="1.0" encoding="UTF-8"? --> <swf xmlns='http://macromedia/2003/swfx' version='10' framerate='24' size='10000x7500' compressed='true' > <!-- framecount=2 length=80395 --> <FileAttributes hasMetadata='true' actionScript3='true' suppressCrossDomainCaching='false' swfRelativeUrls='false' useNetwork='true'/> <Metadata> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about='' xmlns:dc='http://purl.org/dc/ele... </Metadata> <ScriptLimits scriptRecursionLimit='1000' scriptTimeLimit='60'/> <SetBackgroundColor color='#FFFFFF'/> <ProductInfo product='Adobe Flex' edition='' version='4.1' build='16076' compileDate='11/13/10 10:42 PM'/> <FrameLabel label='_sqft_converter_mx_managers_SystemManager'/> <DoABC2 name='frame1'> <ProgramNode> <pkgdefs> </pkgdefs> <statements> <StatementListNode> <items> <BinaryProgramNode> <StatementListNode> <items> <NamespaceDefinitionNode> <attrs> <AttributeListNode public='true'> </AttributeListNode> </attrs> ...
Conclusion:
Table of Contents
Adobe Flash Player Plugin for Firefox
Adobe Flash Player Plugin for Chrome
Adobe Flash Player Plugin for Safari
Adobe Flash Player ActiveX for IE
Using "object" Elements for Flash Files
Using "embed" Elements for Flash Files
"mp3player" - MP3 Music Player
SWFObject - Hidding "object" behind JavaScript
SWFTools - SWF File Manipulation Tools
SWFC Script to Generate Flash SWF Files
ActionScript Embedded in SWFC Script
AS3Compile - ActionScript 3 Compiler
Downloading and Installing Flex SDK 4.1
MXML Example Using Spark Components
Compiling ActionScript 3 Scripts with 'mxmlc'
Dumping SWF Files Containing ActionScript 3 Statements
Dumping SWF Files Generated from ActionScript 3 Classes
►Dumping SWF Files Generated from MXML Applications