I'm looking for free tools to decompile and extract resources from SWF files for which I don't have a source anymore.
Open source tools would be beneficial.
Software Recommendations Stack Exchange is a question and answer site for people seeking specific software recommendations. It only takes a minute to sign up.
Sign up to join this communitySWFTools - SWF manipulation and generation utilities
You can install SWFTools distribution (which has also a command line program), and use SWFExtract, that can decompile flash files.
On OSX, install via: brew install swftools
.
This will install tools such as: as3compile
, font2swf
, jpeg2swf
, pdf2swf
, png2swf
,
swfbbox
, swfc
, swfcombine
,
swfdump
, swfextract
, swfrender
, swfstrings
, wav2swf
.
swfextracts
allows to extract swf movieclips and objects out of swf files.
FFDec (GitHub) - JPEXS Free Flash Decompiler
Opensource flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts. Various output formats available. Works with Java on Windows, Linux or MacOS.
Examples:
java -jar ffdec.jar myfile.swf
java -jar ffdec.jar -proxy
java -jar ffdec.jar -proxy -P1234
java -jar ffdec.jar -export script "C:\decompiled" myfile.swf
java -jar ffdec.jar -selectclass com.example.MyClass,com.example.SecondClass -export script "C:\decompiled" myfile.swf
java -jar ffdec.jar -format script:pcode -export script "C:\decompiled" myfile.swf
java -jar ffdec.jar -format script:pcode,text:plain -export script,text,image "C:\decompiled" myfile.swf
java -jar ffdec.jar -format fla:cs5.5 -export fla "C:\sources\myfile.fla" myfile.swf
java -jar ffdec.jar -dumpSWF myfile.swf
java -jar ffdec.jar -compress myfile.swf myfiledec.swf
java -jar ffdec.jar -decompress myfiledec.swf myfile.swf
java -jar ffdec.jar -onerror ignore -export script "C:\decompiled" myfile.swf
java -jar ffdec.jar -onerror retry 5 -export script "C:\decompiled" myfile.swf
java -jar ffdec.jar -config autoDeobfuscate=1,parallelSpeedUp=0 -export script "C:\decompiled" myfile.swf
Instead of "java -jar ffdec.jar" you can use ffdec.bat on Windows, ffdec.sh on Linux/MacOs