Extracting Flash Games: Difference between revisions
(fixed dead link to JPEXS decompiler) |
No edit summary |
||
Line 1: | Line 1: | ||
This page is intended as reference for anyone who wants to extract Flash games on their own. Things to know: | This page is intended as reference for anyone who wants to extract Flash games on their own. Things to know: | ||
* SWF: The compiled Flash | * SWF: The compiled Flash movie. Can run in the Flash plugin or projector. At the end of 2020, Adobe will no longer support Flash Player. | ||
* EXE: Projector executables | * EXE: Projector executables packaged with an SWF. A convenient way to run Flash games on Windows, but only works for simple games. | ||
* FLA: The project file of the Flash application. The source file the author used to generate the SWF, can be freely edited with Flash. | * 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 | * ActionScript: Programming language for Flash applications. | ||
Line 10: | Line 10: | ||
* Use a dedicated browser extension. Some recommendations: | * Use a dedicated browser extension. Some recommendations: | ||
** Flash Video Downloader - Firefox/Chrome [https://addons.mozilla.org/en-US/firefox/addon/flash-video-downloader/] [https://chrome.google.com/webstore/detail/flash-video-downloader/aiimdkdngfcipjohbjenkahhlhccpdbc] | ** Flash Video Downloader - Firefox/Chrome [https://addons.mozilla.org/en-US/firefox/addon/flash-video-downloader/] [https://chrome.google.com/webstore/detail/flash-video-downloader/aiimdkdngfcipjohbjenkahhlhccpdbc] | ||
* Use the Developer Tools in either Firefox or Chrome to find the | * Use the Developer Tools in either Firefox or Chrome to find the SWFs. | ||
* [https://github.com/jindrapetrik/jpexs-decompiler] can | ** Right-click the page and click "View Page Source." Press Ctrl-F and search for ".swf" | ||
** Right-click the page and click "Inspect Element." Click the element picker on the top-left of the developer tools and select the Flash game. This may bring up an embed code which includes a .swf link. | |||
** Right-click the page and click "Inspect Element." Click the Network tab and reload the page. Use the search bar to find the SWF files that are loaded. If the game loads additional resources, the should be visible here too. | |||
* [https://github.com/jindrapetrik/jpexs-decompiler] can extract SWF files already loaded into browser memory. | |||
* A solid method to access the main .swf file for a game, is to save the entire webpage where the game resides using your browser. | * A solid method to access the main .swf file for a game, is to save the entire webpage where the game resides using your browser. | ||
Select "File > Save Page As..." then, under the "save as type" section, choose "Web Page, complete". | Select "File > Save Page As..." then, under the "save as type" section, choose "Web Page, complete". | ||
Search the newly saved website directory (and sub directories if required), and you should find the game's main .swf loader. | Search the newly saved website directory (and sub directories if required), and you should find the game's main .swf loader. | ||
For some websites, a custom solution can be easier: | |||
* [http://pastebin.com/GX4dMN0G ArmorGamesSwfFinder.py] - Python script for ArmorGames | * [http://pastebin.com/GX4dMN0G ArmorGamesSwfFinder.py] - Python script for ArmorGames | ||
==SWF | ==SWF Decompiling== | ||
Many SWF files will run | Many SWF files will run immediately in a projector, but some have sitelocks, require an internet connection, and/or need external files. The latter types of Flash games need Flashpoint's technology. It is also possible to decompile SWFs to modify them or understand how they work. | ||
[http://www.free-decompiler.com/flash/ JPEXS-Decompiler] can: | [http://www.free-decompiler.com/flash/ JPEXS-Decompiler] can: | ||
Line 28: | Line 30: | ||
* Extract sound/image/misc assets from the SWF | * Extract sound/image/misc assets from the SWF | ||
This isn't always straightforward because of some | This isn't always straightforward because of some obfuscation methods used. | ||
Some games rely on compression to extract a fuller SWF, which you can grab from your RAM using SWF Memory Dumper: https://drive.google.com/open?id=1uVZDTznTB6m-NiEo5sYhveyXa217UsPb | Some games rely on compression to extract a fuller SWF, which you can grab from your RAM using JPEXS's "search using SWF Memory Dumper: https://drive.google.com/open?id=1uVZDTznTB6m-NiEo5sYhveyXa217UsPb | ||
==SWF Playback== | ==SWF Playback== | ||
Use the official Adobe Flash Player Projector, available here: https://www.adobe.com/support/flashplayer/debug_downloads.html | Use the official Adobe Flash Player Projector, available here: https://www.adobe.com/support/flashplayer/debug_downloads.html. This is the method that Flashpoint uses, along with the rest of our technology stack. | ||
Some fixes for browsers (TBA): | Some fixes for browsers (TBA): | ||
Line 40: | Line 42: | ||
==Convert SWF to EXE== | ==Convert SWF to EXE== | ||
Flash | Flash SWF files can be converted to standalone executables. However, this will only work for simpler Flash games that are not sitelocked. We recommend that you add games to Flashpoint instead. | ||
* | * JPEXS Flash Decompiler can create EXEs from SWFs. Click File -> Save as EXE. | ||
* | * Older Macromedia Flash projectors provide the menu option File/Create Projector. | ||
* The SWF to EXE tool works, but the included projector should be replaced with the newest version: http://swftools.sourceforge.net/swf-to-exe.html | |||
* This SWF can be used to create EXEs: https://cdn.discordapp.com/attachments/432708847304704013/597185878443556866/Create_Projector_Windows.swf |
Revision as of 11:13, 7 July 2019
This page is intended as reference for anyone who wants to extract Flash games on their own. Things to know:
- SWF: The compiled Flash movie. Can run in the Flash plugin or projector. At the end of 2020, Adobe will no longer support Flash Player.
- EXE: Projector executables packaged with an SWF. A convenient way to run Flash games on Windows, but only works for simple games.
- 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 language for Flash applications.
Extracting
- Use a dedicated browser extension. Some recommendations:
- Use the Developer Tools in either Firefox or Chrome to find the SWFs.
- Right-click the page and click "View Page Source." Press Ctrl-F and search for ".swf"
- Right-click the page and click "Inspect Element." Click the element picker on the top-left of the developer tools and select the Flash game. This may bring up an embed code which includes a .swf link.
- Right-click the page and click "Inspect Element." Click the Network tab and reload the page. Use the search bar to find the SWF files that are loaded. If the game loads additional resources, the should be visible here too.
- [3] can extract SWF files already loaded into browser memory.
- A solid method to access the main .swf file for a game, is to save the entire webpage where the game resides using your browser.
Select "File > Save Page As..." then, under the "save as type" section, choose "Web Page, complete". Search the newly saved website directory (and sub directories if required), and you should find the game's main .swf loader.
For some websites, a custom solution can be easier:
- ArmorGamesSwfFinder.py - Python script for ArmorGames
SWF Decompiling
Many SWF files will run immediately in a projector, but some have sitelocks, require an internet connection, and/or need external files. The latter types of Flash games need Flashpoint's technology. It is also possible to decompile SWFs to modify them or understand how they work.
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 obfuscation methods used.
Some games rely on compression to extract a fuller SWF, which you can grab from your RAM using JPEXS's "search using SWF Memory Dumper: https://drive.google.com/open?id=1uVZDTznTB6m-NiEo5sYhveyXa217UsPb
SWF Playback
Use the official Adobe Flash Player Projector, available here: https://www.adobe.com/support/flashplayer/debug_downloads.html. This is the method that Flashpoint uses, along with the rest of our technology stack.
Some fixes for browsers (TBA):
- Firefox: Type
about:config
and changeplugins.http_https_only
tofalse
Convert SWF to EXE
Flash SWF files can be converted to standalone executables. However, this will only work for simpler Flash games that are not sitelocked. We recommend that you add games to Flashpoint instead.
- JPEXS Flash Decompiler can create EXEs from SWFs. Click File -> Save as EXE.
- Older Macromedia Flash projectors provide the menu option File/Create Projector.
- The SWF to EXE tool works, but the included projector should be replaced with the newest version: http://swftools.sourceforge.net/swf-to-exe.html
- This SWF can be used to create EXEs: https://cdn.discordapp.com/attachments/432708847304704013/597185878443556866/Create_Projector_Windows.swf