SWF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Software: Add some more apps and sections)
(Category->Animation)
 
(17 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Graphics
+
|subcat=Animation
 
|extensions={{ext|swf}}, {{ext|spl}}
 
|extensions={{ext|swf}}, {{ext|spl}}
|mimetypes={{mimetype|application/vnd.adobe.flash-movie}}, {{mimetype|application/x-shockwave-flash}}, {{mimetype|application/futuresplash}}
+
|mimetypes={{mimetype|application/vnd.adobe.flash.movie}}, {{mimetype|application/x-shockwave-flash}}, {{mimetype|application/futuresplash}}
 
|locfdd={{LoCFDD|fdd000248}}, others
 
|locfdd={{LoCFDD|fdd000248}}, others
 
|pronom={{PRONOM|fmt/507}}, others
 
|pronom={{PRONOM|fmt/507}}, others
 
|kaitai struct=swf
 
|kaitai struct=swf
 +
|wikidata={{wikidata|Q594447}}, or lots of others for specific versions
 
|released=1996
 
|released=1996
 
}}
 
}}
Line 15: Line 16:
 
Flash was at the height of popularity for interactive browser applications in the 2000's, but notoriously suffered from security vulnerabilities (and continues to do so as of this writing). It was also dealt a serious blow when Apple decided not to support it in iOS devices, and Web developers have generally turned to [[HTML]] 5 as a replacement. In July 2017, in perhaps the first Flash update anyone has cared for, Adobe [https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html announced] that Flash will reach its end-of-life in 2020.
 
Flash was at the height of popularity for interactive browser applications in the 2000's, but notoriously suffered from security vulnerabilities (and continues to do so as of this writing). It was also dealt a serious blow when Apple decided not to support it in iOS devices, and Web developers have generally turned to [[HTML]] 5 as a replacement. In July 2017, in perhaps the first Flash update anyone has cared for, Adobe [https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html announced] that Flash will reach its end-of-life in 2020.
  
The SWF format is only currently useful for building [https://www.adobe.com/products/air.html Adobe AI]R applications and games. Adobe AIR is a somewhat popular (although lesser known) framework for developing cross-platform apps/games. It is used to build Angry Birds and a couple of other games.
+
The SWF format is only currently useful for building [https://www.adobe.com/products/air.html Adobe AIR] applications and games. [[Adobe Air|Adobe AIR]] is a somewhat popular (although lesser known) framework for developing cross-platform apps/games. It is used to build Angry Birds and a couple of other games.
 +
 
 +
The Adobe Animate program is one of the programs from Adobe which works with this format, but it is also one of the programs which Adobe has pushed people into using via their Creative Cloud subscription service, where you only have access to it as long as you keep paying your fees, and don't have access to it at all if they [https://twitter.com/KupoGames/status/1126905276693667841 decide to withdraw access to the version you need].
  
 
== Disambiguation ==
 
== Disambiguation ==
 
'''SWF''' is not the same format as the one known as '''Shockwave''', '''Adobe Shockwave''', '''Macromedia Shockwave''', or '''Shockwave for Director'''. For that format, see [[Shockwave (Director)]].
 
'''SWF''' is not the same format as the one known as '''Shockwave''', '''Adobe Shockwave''', '''Macromedia Shockwave''', or '''Shockwave for Director'''. For that format, see [[Shockwave (Director)]].
 
In personal ads, SWF means "Single White Female", while the airport code SWF refers to the Stewart airport in Newburgh, New York. Neither of these has any particular relevance to file formats, however.
 
  
 
== Identifiers ==
 
== Identifiers ==
Line 27: Line 28:
 
! PRONOM
 
! PRONOM
 
! LoCFDD
 
! LoCFDD
 +
! Wikidata
 
|-
 
|-
|SWF 1–6 (Macromedia) || {{PRONOM|fmt/104}}, {{PRONOM|fmt/105}}, {{PRONOM|fmt/106}}, {{PRONOM|fmt/107}}, {{PRONOM|fmt/108}}, {{PRONOM|fmt/109}}
+
|SWF 1–6 (Macromedia) || {{PRONOM|fmt/104}}, {{PRONOM|fmt/105}}, {{PRONOM|fmt/106}}, {{PRONOM|fmt/107}}, {{PRONOM|fmt/108}}, {{PRONOM|fmt/109}} || - || {{wikidata|Q29011079}}, {{wikidata|Q29011223}}, {{wikidata|Q29011271}}, {{wikidata|Q29011315}}, {{wikidata|Q29011347}}, {{wikidata|Q29011357}}
 
|-
 
|-
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}}
+
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}} || {{wikidata|Q29011358}}
 
|-
 
|-
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}}
+
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}} || {{wikidata|Q29011361}}
 
|-
 
|-
|SWF 9–10 || {{PRONOM|fmt/506}}, {{PRONOM|fmt/507}}
+
|SWF 9–10 || {{PRONOM|fmt/506}}, {{PRONOM|fmt/507}} || - || {{wikidata|Q29011363}}, {{wikidata|Q29011365}}
 
|-
 
|-
|SWF 11–30 || {{PRONOM|fmt/757}}, {{PRONOM|fmt/758}}, {{PRONOM|fmt/759}}, {{PRONOM|fmt/760}}, {{PRONOM|fmt/761}}, {{PRONOM|fmt/762}}, {{PRONOM|fmt/763}}, {{PRONOM|fmt/764}}, {{PRONOM|fmt/765}}, {{PRONOM|fmt/766}}, {{PRONOM|fmt/767}}, {{PRONOM|fmt/768}}, {{PRONOM|fmt/769}}, {{PRONOM|fmt/770}}, {{PRONOM|fmt/701}}, {{PRONOM|fmt/772}}, {{PRONOM|fmt/773}}, {{PRONOM|fmt/774}}, {{PRONOM|fmt/775}}, {{PRONOM|fmt/776}}
+
|SWF 11–30 || {{PRONOM|fmt/757}}, {{PRONOM|fmt/758}}, {{PRONOM|fmt/759}}, {{PRONOM|fmt/760}}, {{PRONOM|fmt/761}}, {{PRONOM|fmt/762}}, {{PRONOM|fmt/763}}, {{PRONOM|fmt/764}}, {{PRONOM|fmt/765}}, {{PRONOM|fmt/766}}, {{PRONOM|fmt/767}}, {{PRONOM|fmt/768}}, {{PRONOM|fmt/769}}, {{PRONOM|fmt/770}}, {{PRONOM|fmt/701}}, {{PRONOM|fmt/772}}, {{PRONOM|fmt/773}}, {{PRONOM|fmt/774}}, {{PRONOM|fmt/775}}, {{PRONOM|fmt/776}} || - || {{wikidata|Q29011484}}, {{wikidata|Q29011514}}, {{wikidata|Q29011538}}, {{wikidata|Q29011549}}, {{wikidata|Q29011566}}, {{wikidata|Q29011569}}, {{wikidata|Q29011579}}, {{wikidata|Q29011646}}, {{wikidata|Q29011710}} ,{{wikidata|Q29011774}}, {{wikidata|Q29011824}}, {{wikidata|Q29011892}}, {{wikidata|Q29011977}}, {{wikidata|Q29012054}}, {{wikidata|Q29012120}}, {{wikidata|Q29012190}}, {{wikidata|Q29012206)}}, {{wikidata|Q29012224}} ,{{wikidata|Q29012285}}, {{wikidata|Q29012350}}
 +
|-
 +
|SWF 31-36 || - || - || {{wikidata|Q29017304}}, {{wikidata|Q29017306}}, {{wikidata|Q29017309}}, {{wikidata|Q29017311}}, {{wikidata|Q29017312}}, {{wikidata|Q29017314}}
 
|}
 
|}
  
Line 50: Line 54:
 
* [[FLA]]
 
* [[FLA]]
 
* [[FLV]]
 
* [[FLV]]
 +
* [[FXG]]
  
 
== Specifications ==
 
== Specifications ==
Line 57: Line 62:
  
 
== Software ==
 
== Software ==
==== Editing Software ====
+
==== Authoring Software ====
 
* [https://www.adobe.com/products/animate.html Adobe Animate] - Creates SWF files from FLA files
 
* [https://www.adobe.com/products/animate.html Adobe Animate] - Creates SWF files from FLA files
 +
* [https://www.adobe.com/products/flash-builder-family.html Adobe Flash Builder] - IDE for Flash application development
 +
* [http://www.kindi.com/ secureSWF] - SWF code obfuscator (code security)
 +
 +
==== Inspection and Decompilation Software ====
 +
* [https://github.com/jindrapetrik/jpexs-decompiler JPEXS Free Flash Decompiler (FFDEC)]
 
* [http://www.sothink.com/product/flashdecompiler/ Sothink SWF Decompiler] - Decompiles code and assets of SWF files
 
* [http://www.sothink.com/product/flashdecompiler/ Sothink SWF Decompiler] - Decompiles code and assets of SWF files
 
* [http://www.as3sorcerer.com/ AS3Sorcerer] - Decompiles AS3 code inside SWF files
 
* [http://www.as3sorcerer.com/ AS3Sorcerer] - Decompiles AS3 code inside SWF files
 
* [https://github.com/magicalhobo/SWFWire SWFWire] - Inspects SWF files
 
* [https://github.com/magicalhobo/SWFWire SWFWire] - Inspects SWF files
* [http://www.kindi.com/ secureSWF] - SWF code obfuscator (code security)
+
* [http://www.swftools.org/ swftools]
 +
* [http://www.nowrap.de/flasm.html Flasm] - ActionScript assembler and disassembler
 +
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.
  
 
==== Viewer Software ====
 
==== Viewer Software ====
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
 +
** [https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html Old versions]
 
* [https://www.gnu.org/software/gnash/ GNU Gnash] (apparently inactive)
 
* [https://www.gnu.org/software/gnash/ GNU Gnash] (apparently inactive)
 
* [http://lightspark.github.io/ Lightspark] (alpha state)
 
* [http://lightspark.github.io/ Lightspark] (alpha state)
 
* [https://github.com/mozilla/shumway Shumway] (inactive)
 
* [https://github.com/mozilla/shumway Shumway] (inactive)
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.
+
* [https://ruffle.rs/ Ruffle]
 +
* [https://awayfl.org/ AwayFL]
  
 
== Libraries ==
 
== Libraries ==
* [https://github.com/claus/as3swf AS3swf] - Low level library to parse, create, modify and publish SWF files.
+
* AS3: [https://github.com/claus/as3swf AS3swf] - Low level library to parse, create, modify and publish SWF files.
* [https://github.com/imcj/as3abc AS3abc] - Low level library to parse, create, modify and publish ABC (Actionscript Block Code) files.
+
* AS3: [https://github.com/imcj/as3abc AS3abc] - Low level library to parse, create, modify and publish ABC (Actionscript Block Code) files.
* [https://github.com/magicalhobo/SWFWire SWFWire] - SWF Decompiler and Inspector Tools.
+
* AS3: [https://github.com/magicalhobo/SWFWire SWFWire] - SWF Decompiler and Inspector Tools.
* [https://github.com/krilnon/abc-abstraction Abc-abstraction] - Allows ABC to be analyzed, manipulated, packaged back into an SWF, and run.
+
* AS3: [https://github.com/krilnon/abc-abstraction Abc-abstraction] - Allows ABC to be analyzed, manipulated, packaged back into an SWF, and run.
 +
* C#: [https://sourceforge.net/projects/swfdotnet/ SwfDotNet] - Low level library to parse, create, modify and publish SWF files.
 +
* C/C++: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
* C++: [http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt gameswf] - Library for parsing and rendering SWF movies
 +
* C++ [http://sswf.sourceforge.net/libsswf/ libsswf] - A complete library to generate Flash animations
 +
* PHP: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
* Python: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
 
 +
== Sample files ==
 +
* {{DexvertSamples|archive/swf}}
  
 
== Links ==
 
== Links ==
Line 84: Line 107:
 
* [http://imgur.com/ZXESihi SWF format mini-poster]
 
* [http://imgur.com/ZXESihi SWF format mini-poster]
 
* [http://motherboard.vice.com/read/gone-in-a-flash-the-race-to-save-the-internets-least-favorite-tool Gone in a Flash: The Race to Save the Internet's Least Favorite Tool]
 
* [http://motherboard.vice.com/read/gone-in-a-flash-the-race-to-save-the-internets-least-favorite-tool Gone in a Flash: The Race to Save the Internet's Least Favorite Tool]
 +
* [https://www.vice.com/en/article/wx8y5y/tracing-the-sprawling-roots-of-flash-preservation Tracing the Sprawling Roots of Flash Preservation]
  
 
[[Category:Video]]
 
[[Category:Video]]
 
[[Category:Web]]
 
[[Category:Web]]
 
[[Category:Adobe]]
 
[[Category:Adobe]]
 +
[[Category:Macromedia]]

Latest revision as of 15:42, 28 April 2024

File Format
Name SWF
Ontology
Extension(s) .swf, .spl
MIME Type(s) application/vnd.adobe.flash.movie, application/x-shockwave-flash, application/futuresplash
LoCFDD fdd000248, others
PRONOM fmt/507, others
Wikidata ID Q594447, or lots of others for specific versions
Kaitai Struct Spec swf.ksy
Released 1996

Adobe Flash (or Macromedia Flash, Shockwave Flash, FutureSplash) is a platform for multimedia applications. SWF (Small Web Format, or Shockwave Flash) is its format for Flash applications that can be run in the browser. Fundamentally it is an animated vector graphics format, but it has many other features, and can contain complete computer programs written in ActionScript. Among its common uses are advertisements, web site user interfaces, video games and other applets, and video playback.

SWF is not designed to be editable. Instead, SWF files are usually compiled from a source (project) format called FLA. The ActionScript programming language is also used.

Flash was at the height of popularity for interactive browser applications in the 2000's, but notoriously suffered from security vulnerabilities (and continues to do so as of this writing). It was also dealt a serious blow when Apple decided not to support it in iOS devices, and Web developers have generally turned to HTML 5 as a replacement. In July 2017, in perhaps the first Flash update anyone has cared for, Adobe announced that Flash will reach its end-of-life in 2020.

The SWF format is only currently useful for building Adobe AIR applications and games. Adobe AIR is a somewhat popular (although lesser known) framework for developing cross-platform apps/games. It is used to build Angry Birds and a couple of other games.

The Adobe Animate program is one of the programs from Adobe which works with this format, but it is also one of the programs which Adobe has pushed people into using via their Creative Cloud subscription service, where you only have access to it as long as you keep paying your fees, and don't have access to it at all if they decide to withdraw access to the version you need.

Contents

[edit] Disambiguation

SWF is not the same format as the one known as Shockwave, Adobe Shockwave, Macromedia Shockwave, or Shockwave for Director. For that format, see Shockwave (Director).

[edit] Identifiers

Format PRONOM LoCFDD Wikidata
SWF 1–6 (Macromedia) fmt/104, fmt/105, fmt/106, fmt/107, fmt/108, fmt/109 - Q29011079, Q29011223, Q29011271, Q29011315, Q29011347, Q29011357
SWF 7 fmt/110 fdd000130 Q29011358
SWF 8 (Adobe) fmt/505 fdd000248 Q29011361
SWF 9–10 fmt/506, fmt/507 - Q29011363, Q29011365
SWF 11–30 fmt/757, fmt/758, fmt/759, fmt/760, fmt/761, fmt/762, fmt/763, fmt/764, fmt/765, fmt/766, fmt/767, fmt/768, fmt/769, fmt/770, fmt/701, fmt/772, fmt/773, fmt/774, fmt/775, fmt/776 - Q29011484, Q29011514, Q29011538, Q29011549, Q29011566, Q29011569, Q29011579, Q29011646, Q29011710 ,Q29011774, Q29011824, Q29011892, Q29011977, Q29012054, Q29012120, Q29012190, Q29012206), Q29012224 ,Q29012285, Q29012350
SWF 31-36 - - Q29017304, Q29017306, Q29017309, Q29017311, Q29017312, Q29017314

[edit] Identification

SWF files begin with a 3-byte ASCII signature:

  • "FWS" is for uncompressed files.
  • "CWS" is for files that use zlib compression.
  • "ZWS" is for files that use LZMA compression.

[edit] See also

[edit] Specifications

[edit] Software

[edit] Authoring Software

[edit] Inspection and Decompilation Software

[edit] Viewer Software

[edit] Libraries

  • AS3: AS3swf - Low level library to parse, create, modify and publish SWF files.
  • AS3: AS3abc - Low level library to parse, create, modify and publish ABC (Actionscript Block Code) files.
  • AS3: SWFWire - SWF Decompiler and Inspector Tools.
  • AS3: Abc-abstraction - Allows ABC to be analyzed, manipulated, packaged back into an SWF, and run.
  • C#: SwfDotNet - Low level library to parse, create, modify and publish SWF files.
  • C/C++: Ming - SWF generation library
  • C++: gameswf - Library for parsing and rendering SWF movies
  • C++ libsswf - A complete library to generate Flash animations
  • PHP: Ming - SWF generation library
  • Python: Ming - SWF generation library

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox