Extracting Flash Games
This page is intended as reference for anyone who wants to extract Flash games on their own. Things to know:
- SWF: The compiled Flash application. Can only run on browsers or Macromedia's Flash Player. Browser support is set to end soon.
- EXE: Projector executables that have the Flash application working without needing a browser.
- FLA: The project file of the Flash application. The source file the author used to generate the SWF, can be freely edited with Flash.
- ActionScript: Programming scripting language for Flash applications.
Extracting
- Use a dedicated browser extension. Some recommendations: (TODO)
- Use the Developer Tools in either Firefox or Chrome to find the swfs. Sometimes it's as simple as copy pasting a direct link to a file with the swf extension from the page's source. But sometimes the search will be more involved and require combing through the browser cache for files with content type
/x.shockwave
. - JPEXS-Decompiler can download swf files already loaded into browser memory.
Some websites require specific methods:
- ArmorGamesSwfFinder.py - Python script for ArmorGames
SWF Modding
Many SWF files will run once extracted, however some have DRM to run always online, from specific sites, and/or making use of external files. Those won't work directly or will only extract partially. Those will need modding to extract in full and to be made to work offline.
JPEXS-Decompiler can:
- Convert SWF to FLA
- Decompile ActionScript
- Extract sound/image/misc assets from the SWF
This isn't always straightforward because of some obfusciation methods used.
SWF Playback
Macromedia's Flash Player 8 is of course a way to load the swf files. Web browsers still allow opening Flash swf file for now, but that might not be the case anymore by 2020 or even before when support for the format is dropped. Some fixes (TBA):
- Firefox: Type
about:config
and changeplugins.http_https_only
tofalse
Convert SWF to EXE
Flash swf files can be converted to autonomous executables that will always work. Macromedia's Flash Player 8 can do that from File/Create Projector.