Download presentation
Presentation is loading. Please wait.
Published byOswald Baldwin Modified over 9 years ago
2
“Investigating the SWF file format” -or- “What I did in my summer holidays” Deconstructing Flash
3
Introduction Simon Wistow –Computing BEng Ian Harries –Supervisor Iain Phillips –Second Marker
4
Flash? A little bit of History –FutureSplash was originally created by FutureWave –FutureWave bought by MacroMedia, FutureSplash renamed “Flash” –Current version is 4. –Flash file format (SWF) was open-sourced in 1998
5
Flash? Vector animation format –Shapes and Lines –Bitmaps (JPEGs, PNGs) –Sounds (ADPCMs, MP3s) These are known as objects –analogous to actors, scenery and soundtrack
6
Flash Keeping with the film analogy –SWF format is a script to describe and control the ‘actors’. –Divided into frames –frames divided into tags these define and control objects –34 different tags, using 17 data-types
7
Flash? Web Oriented –Highly compressed –Plug-in –Pseudo-Streaming
8
Flash? Scriptable –Control Events, within movie –Reactive not truly dynamic
9
The idea I needed –A tool for manipulating Flash files –A way of creating Flash files from scratch –Some way of converting between formats Abstract Representation
10
Why? Can’t create totally dynamic content –prevents uses on database applications Because it’s complicated –it can’t be used within other applications, the facilities don’t exist –You can't do some things with the existing interface Storing SWF binary is not always appropriate
11
The Competition Macromedia Generator –Limited Modification not creation –Expensive(very) And you still need Flash Authoring tool –Slow –Resource Intensive
12
The Competition Ming –Enemy of flash –PHP based –Unfinished, only generates
13
The Competition XML-FLASH –Java Based –Limited to conversion into and out of XML –Unfinished
14
The Competition Middlesoft SDK –Finished near project end –Limited to C++ on Windows –Complicated –Restrictive Licensing –Creation Only
15
How File::Binary –Perl module for binary manipulation of files de-compilation/ reverse engineering –Finding errors in the released specification
16
How creation of abstract Flash library –Object Structure creation of SWF generation library –XS wrapping of libswf
17
Achievements SWF Parser Flash Object SWF Writer File::Binary
18
Problems Specification was wrong –Required experimentation Very few knowledgeable people –NDAs –Lack of community Text representation libswf very unstable –Author unavailable
19
Future Work Text replacement Interface Object with SWF generation library More Input/Output filters –XML –SVG
20
Design Evaluation Structure is sound Perl was appropriate –good support from user base –hundreds of pre-built libraries –performance issues
21
Applications Broadband access: richer interfaces Database driven flash websites batch generation library for flash authoring application
22
Conclusions A lot has been achieved –but things still to do Interest from industry and community Many real-world applications Development will continue
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.