SWF
(Add 4 AS3 libraries that allow reading/editing SWF files) |
(Category->Animation) |
||
(18 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{FormatInfo | {{FormatInfo | ||
|formattype=electronic | |formattype=electronic | ||
− | |subcat= | + | |subcat=Animation |
|extensions={{ext|swf}}, {{ext|spl}} | |extensions={{ext|swf}}, {{ext|spl}} | ||
− | |mimetypes={{mimetype|application/vnd.adobe.flash | + | |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 | + | 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)]]. | ||
− | |||
− | |||
== 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 == | ||
+ | ==== Authoring Software ==== | ||
+ | * [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.as3sorcerer.com/ AS3Sorcerer] - Decompiles AS3 code inside SWF files | ||
+ | * [https://github.com/magicalhobo/SWFWire SWFWire] - Inspects SWF files | ||
+ | * [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 ==== | ||
* [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) | ||
− | * [ | + | * [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 76: | 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
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
- SWF File Format Specification, Version 19
- SWF File Format Specification, Version 10
- SWF File Format Specification, Version 9 (from archive.org)
[edit] Software
[edit] Authoring Software
- Adobe Animate - Creates SWF files from FLA files
- Adobe Flash Builder - IDE for Flash application development
- secureSWF - SWF code obfuscator (code security)
[edit] Inspection and Decompilation Software
- JPEXS Free Flash Decompiler (FFDEC)
- Sothink SWF Decompiler - Decompiles code and assets of SWF files
- AS3Sorcerer - Decompiles AS3 code inside SWF files
- SWFWire - Inspects SWF files
- swftools
- Flasm - ActionScript assembler and disassembler
- 7-Zip can convert compressed SWF to uncompressed SWF.
[edit] Viewer Software
- Adobe Flash Player
- GNU Gnash (apparently inactive)
- Lightspark (alpha state)
- Shumway (inactive)
- Ruffle
- AwayFL
[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