Note: Since SWF file is an open specification format, the word "editor" or "viewer" here is more suitable (literally legitimate) than the word "decompiler".
ActionScript Decompiler
UPDATE 2014_3_04
JPEXS Free Flash Decompiler (FFDec) is 2.0.0!
(The great, open source, not just an alternative to, but even more powerful than, most commercial decompilers.)
Key Features:
SWF to FLA conversion
Direct editing ActionScript source (AS1/2) and editing via assembler source (AS1/2 and AS3) (This is the unique feature that most GUI flash decompilers don't have)
Replacing images, editing texts and fonts
Automatic deobfuscation
Multiple platforms support: Windows, Linux, Mac OS
...
Full features list: http://www.free-decompiler.com/flash/features.html
UPDATE 2011_8_16
ActionScript ExtractorJPEXS Free Flash Decompiler (FFDec) is 2.0.0!
(The great, open source, not just an alternative to, but even more powerful than, most commercial decompilers.)
Key Features:
SWF to FLA conversion
Direct editing ActionScript source (AS1/2) and editing via assembler source (AS1/2 and AS3) (This is the unique feature that most GUI flash decompilers don't have)
Replacing images, editing texts and fonts
Automatic deobfuscation
Multiple platforms support: Windows, Linux, Mac OS
...
Full features list: http://www.free-decompiler.com/flash/features.html
UPDATE 2011_8_16
http://sites.google.com/site/as3extractor/home
A free actionscript3 decompiler.
================================================
UPDATE 2011_6_19
http://www.swfwire.com/(Highly Recommended!)
https://github.com/magicalhobo/SWFWire
SWFWire Decompiler
An open source library written in ActionScript 3 for reading and writing swfs.
SWFWire Inspector
"Easily view the contents of SWF files with this open source AIR app. You can view images, shapes, and even syntax-highlighted ActionScript 3.
See what parts of your code are taking up the most space. Make sure sensitive data isn't being exposed. Gain a deeper understanding of the file format. You might even be impressed at how efficient Flash is."
================================================
UPDATE 2013_2_19
ASDEC is now JPEXS Free Flash Decompiler!
http://www.free-decompiler.com/flash(Highly Recommended!)
UPDATE 2010_2_09
"JP ActionScript decompiler (ASDec) is program for decompiling ActionScript parts from flash SWF files. Program has also basic ability to edit (assemble) ActionScript."
Features: See the update.
Opening SWF files version 10 or older
Showing source code of ActionScript1/2 and ActionScript3. (See source limitations)
Exporting sources to file (at the moment only AS3)
Editing source code via modifying assembler source (See editing limitations)
Saving modified actionscript back to the file
Built-in proxy server for editing SWF files which come through it
================================================
http://www.showmycode.com/
"Decompile flash ActionScript from the swf flash file. Use this online flash swf decompiler to get the source code of the swf file."
HP SWFScan
http://h30499.www3.hp.com/t5/Following-the-White-Rabbit-A/SWFScan-FREE-Flash-decompiler/ba-p/5440167
"Decompiles applications built on the Adobe Flash platform to extract the ActionScript code and statically analyzes it to identify security issues such as information disclosure."
Resource Extractor/Modifier
http://www.decompileflash.com/
(http://www.swfdecompiler.net)
"Decompile Flash Free Version is an outstanding SWF decompiling tool which allows you to convert flash between SWF and FLA format. Decompile Flash offers the powerful function of editing dynamic texts of flash movie and replacing images as your own easily and watch the edited result immediately. The easy-to-use interface helps you catch on to the system quickly."
http://www.swfdecompiler.net/free_swf_decompiler/index.html
"SWF Decompiler Premium Free Version is a 100% freeware. It allows you to convert between swf and exe format, besides, the powerful function supports edit the dynamic texts and replace images. The player window is innovatively separated from the main panel, which enables users to drag and drop the window wherever they want it to be."
http://www.swftools.org/
SWFDump "Prints out various informations about SWFs, like contained images/fonts/sounds, disassembly of contained code as well as cross-reference and bounding box data."
SWFExtract "Allows to extract Movieclips, Sounds, Images etc. from SWF files."
swfdump
The official tool by Adobe, included in the Flex SDK, to disassemble a SWF.
http://blogs.adobe.com/gosmith/2008/02/disassembling_a_swf_with_swfdu_1.html
http://www.swfmodify.com/
"swfModify software is useful tool for edit , rebuild flash file, and it's free. It’s different from other edit tools. You need no experience of flash design, all you should do is click mouse button. You can replace virtual item in .swf file, and save as another flash file. In the future, we hope every user can upload your flash resources for the others."
http://www.flashprobe.com/
"Flash Probe is a free online tool that can parse flash files and display text and images found within. The tool will create HTML versions of your flash websites. Some use it to see what part of their flash website will get indexed by search engines."
http://www.swixkit.com/
"Easy to use XML-based editor for SWF debugging and updating; Decompiling of SWF into SWiX-format XML; Reassembly of SWiX-format XML into an SWF."
SWF To Image GUI
http://bytescout.com/products/developer/swftoimagesdk/swftoimagegui.html
"SWF To Image GUI is a freeware utility to convert flash movies (SWF) into JPEG, GIF, PNG, BMP images"
Bytecode Disassembler
UPDATE 2012_3_06
Adobe SWF InvestigatorThe official AIR based, open source, SWF analyzer/disassembler/editor by Adobe Labs.
http://labs.adobe.com/technologies/swfinvestigator/
================================================
As3Eval
http://eval.hurlant.com/
"As3Eval is a library that packages the Tamarin ESC compiler to work within a run-of-the-mill flash player. You can also paste the output of hexdump -C on a swf to disassemble it within the UI."
Nemo 440
www.docsultant.com/nemo440/
Advanced ActionScript 3/ABC2/Flex 2/Flex 3/Flex 4/AIR disassembler.
http://segfaultlabs.com/swfutils
http://segfaultlabs.com/swf/abcflex/index.html
Apparat
http://code.google.com/p/apparat/
A framework to optmize ABC, SWC and SWF files.
Yogda
http://yogda.2ka.org
AVM2 Bytecode Assembler, Disassembler, also has the functions of editing(adding/removing) swf tags.
Unprotectors
UPDATE 2012_7_20
SWF iD
"freeware tool that every flash reverser (especially beginner one) should have"
http://swfid.je1.ru/
http://blog.codestage.ru/2013/07/06/swf-id/
http://www.swfdecrypt.com/
"SWF Decrypt will reverse and remove the few junk code these types of software add to your SWF file and charge you money for. The purpose of this software is to help you assess the protection solution that you have chosen. I hope it will also encourage the authors of SWF Encrypt and SWF Protector to either implement actual code obfuscation methods or discontinue their products and stop charging for junk."
SWF Reader
http://www.swf-reader.com
"SWF Reader Professional is first program to unprotect encrypted swf files.
Main features:
Remove/add tags.
Manipulate doABC structure (AS3).
Full unprotect AS2 files which are encrypted by SWF Encrypt 5 (http://www.amayeta.com/).
Unprotect AS3 files which are encrypted by SWF Encrypt 5 (http://www.amayeta.com/). There is not possible to recover names (class, vars, functions) because encrypter remove original names irretrievably."
This one also has a nice memory dump tool/SWF vampire(File->;Load from memory) for unpacking.
SWF-Reader Open Source Lib:
http://sourceforge.net/p/swf-reader/
Manatee SWF Decrypter V3
http://bmanatee.blogspot.com/2013/04/manatee-swf-decrypter-v3.html
Sitelocked SWF Loader
http://bmanatee.blogspot.com/2012/05/sitelocked-swf-loader.html
UPDATE: 2012_8_18
SWF Vampire
(Tools that can scan the RAM and extract (packed) SWF files from system's running processes.)
Flash Dump: Open source tool in Python.
http://sa3.org/file/python/swfdump.py
http://sa3.org/program/flash-dump/
SWF Thief: Open source tool in C#.
http://code.google.com/p/swf-thief/
Miscellaneous Links:
Packed SWF. How to unpack?
http://blog.codestage.ru/2012/03/07/packed/How to decrypting the doswf encryption:
http://blog.codestage.ru/2013/05/06/decrypting-doswf/
Способы ?защиты? flash-приложений
(Ways to ?protect? flash-applications, in Russian.
Try Google Translate!)
http://habrahabr.ru/blogs/Flash_Platform/110686/
Basic SWF Bytecode modification (AVM2/AS3) tutorial:
http://bmanatee.blogspot.com/2013/08/basic-swf-bytecode-modification-avm2as3.html
http://www.nowrap.de/flasm.html
http://www.nowrap.de/flare.html
Dump Flash Decompiler
http://www.dcomsoft.com/download/dfdinstall.exe
Swf Picture Extractor
http://www.dcomsoft.com/download/swf_picture_extractor.exe
http://code.google.com/p/flash-decompiler/
http://www.deitte.com/archives/2008/03/randomcompiler.htm
http://blogs.adobe.com/gosmith/2008/02/disassembling_a_swf_with_swfdu_1.html
http://dougmccune.com/flex/FOTB_Decompiling_Doug_McCune.pdf
http://dougmccune.com/blog/2008/09/21/i-just-decompiled-a-decompiler-so-i-could-use-it-to-decompile-itself/
http://shigeru-nakagaki.com/index.cfm/2008/3/18/20080318-LibraryManager-Beta-is-released
http://flashpanoramas.com/blog/2007/07/02/swf-parser-air-application/
http://www.5etdemi.com/blog/archives/2007/01/as3-decompiler/
https://www.flashsec.org/wiki/Simple_AS3_Decompiler_Using_Tamarin
http://blog.reversing.com.ar/2010/02/debugging-actionscript-jited-code/
SWF Encrypt (Flash 'obfuscator') hacking
http://www.woodmann.com/forum/showthread.php?10300-SWF-Encrypt-%28Flash-obfuscator-%29-hacking
Extract SWF files from Flash Executables(EXE):
http://www.northcode.com/blog.php/2007/08/02/Extract-SWF-files-from-Flash-Executables
Libraries for reading/writing SWF and modifying ActionScript Bytecode:
http://www.flagstonesoftware.com/transform/ (Java)
https://github.com/CyberShadow/RABCDAsm (D)
http://www.libspark.org/wiki/yossy/swfassist (AS3)
http://segfaultlabs.com/swfdb (AS3)
https://github.com/magicalhobo/SWFWire (AS3)
https://github.com/laomoi/swfdiy (AS3)
http://sourceforge.net/projects/swfdotnet/ (C# .Net or VB.Net)
http://www.codeproject.com/KB/graphics/swfdotnet-decompiler.aspx
https://github.com/RintarouTW/SWFVisualizer(AS3)
https://github.com/RintarouTW/swfparser(C++)
https://github.com/junfenggeng/libswf/(C)
UPDATE 2012_9_09 SWFRETools(SWF reverse engineering tools collection):
http://www.the-interweb.com/serendipity/
https://github.com/sporst/SWFREtools(JAVA)
Pixel Bender .pbj files Decompiler:
http://www.kaourantin.net/2008/09/pixel-bender-pbj-files.html
AGAL ByteCode Decompiler:
DEMO: http://boycy.webs.com/Disassembler.swf
Source Code: http://boycy.webs.com/Disassembler.rar
Check this out:
ReplyDeletehttps://sites.google.com/site/as3extractor/home
It can handle messed code from some obfuscators.
@Michał Gierwatowski: Thanks for sharing, added it to the post.
ReplyDeleteSome links collected by mine related to the Flash security: http://sociodox.com/forum/index.php?topic=23.0
ReplyDeleteThanks for sharing, lots of useful tools there!
DeleteShure! Thanks for mentioning my articles, btw ;)
Deletewas wondering if any of these tools would help a noob decompile a swf gaming file to manipulate the values of objects and actions within the game? any help would be appreciated since im not sure how to manipulate machine language...lol
ReplyDeleteMany of the above tools can show you the AS code and library assets, such as SWFWire, decompileflash. In my experience, ASDEC is more advanced of them and even more powerful than many commercial tools. ASDEC allows you to modify the P-code directly, which means you can change the values and even logic without recompiling. What's more, AS code are showed to help you understand the P-code.
Deletethank you very much for the reply! i will give what you recommended a try and see if i can figure out how to make it work. i have recently started looking into moding swf files and was amazed at how people are doing it....they basically stare at code they cant read, randomly change something, recompile and see if it changes what they were trying to manipulate. they keep doing this till they get it right and i assumed there was a faster and smarter way of doing this rather than just guessing and hoping that you get lucky...lol ofcourse we are all amatuers at this and dont work with coding in real life, more of a hobby.
Deletethanks again!
I used the ASDEC and it worked great. However I wasnt able to see the data that I am trying to manipulate. The program showed all the movie data files but not the files that contain the info controlling things like build time, resource cost, damage..etc...
ReplyDeleteIm sure that I am doing something wrong since this is my first go at something like this. Are there certain tools to capture just the data controlling in game parameters?
thank you for steering me in the right direction!
Well, you may need to understand the source code to find the data or maybe the swf file is encrypted. For editing flash games data like coins, life..., you can also try cheatengine or flashgamemaster.
DeleteThis is an excellent post. I hope you keep it updated in the future!
ReplyDeleteDon't forget about youda and rabcdasm
ReplyDeleteat the following sites
http://www.softpedia.com/get/Programming/Other-Programming-Files/Yogda.shtml
http://blog.thecybershadow.net/2010/05/05/announcing-rabcdasm/
edit: I see you have rabcdasm,and yogda plz ignore my post.
DeleteHi, though this might be an excellent list as such, I think that flashprobe should NOT be listed amongst those great tools.
ReplyDeleteHave you ever checked FlashProbe recently, giving it a URI? (lower input field)
All I got is hopelessly broken PHP code. I can't recommend it at all!
You've been warned.
Thanks for sharing this. Though some of those links not found, but asdec give me what I want. Works fine for me....
ReplyDeleteSWFRETools http://www.the-interweb.com/serendipity/
ReplyDeleteThanks for that! Just added to the list.
DeleteRABCDAsmGUI http://forum333.com/, http://rusfolder.com/29087594
ReplyDeleteWinRABCDAsm - GUI for RABCDAsm:
ReplyDeletehttp://sourceforge.net/projects/winrabcdasm/
Well done for using Adfly to make money off other people's software, you jerk.
ReplyDeleteIts not the software he's making money from , its the collection of links brought together in one place. If anyone is a 'jerk' here its the one using 'anonymous' to hide behind and insult others work.
ReplyDeleteDevelopers are even here in comments appreciating the venue to show their stuff. Users are made more available to the originators and still would use their normal money makjing schemes. ..just not understanding the whole promotional thing are you? ..in order to make money products need people to know they exist first.
ang iiba ninyo
ReplyDeletePlease update ASDec post,
ReplyDeleteit has new name now - "JPEXS Free Flash Decompilator" and the address changed to http://www.free-decompiler.com/flash/
Edited with thanks!
DeleteNote: It's "Decompiler", you have "Decompliler" here :-).
DeleteEdited.
DeleteTHANKSSSSSSSSSSS
ReplyDeleteYOUR LINKS ARE SEEM LIKE A POP UP PROVIDER
ReplyDeleteAND SOME HOW I DONT SEE ANY DOWNLOAD BUTTON
aob在线生成器/u30在线转换 我会跟你说吗
ReplyDeletehttp://martinristov.com/public/aob/index.html
http://martinristov.com/public/u30/index.html
u dont know what im talking about? hahah
nice work..thank u very much
ReplyDeleteGreat Page and Info, thanks! Many people don't leave comments, but really, as a AS1/AS2/AS3 programmer, but now all HTML5, CSS3, I'm always trying to decompile SWFs to extract data from dead programs!
ReplyDeletelatest software download free Also most popular software.
ReplyDeleteThe great post about ActionScript Decompiler, it's a very helpful tip, thanks a lot for sharing.
ReplyDeleteFree Software Download
Great list! that's very helpfull
ReplyDeletehttp://it-n-careerz.blogspot.com/
I found this software very interesting and helpful too.. Thus, I will love to use this for my professional use
ReplyDeleteFree Full Version Software
uphezài
ReplyDeleteThanks man decomplied the code.. You're a Legend.. T20 world cup live t20 world cup 2016t20 world cup schedule oscars 2016 nominations Oscars 2016 winners oscars 2016 full show oscar awards 2016
ReplyDeleteAs of now JPEXS Free Flash Decompiler is best but there is an issue,it fails to scan MXML design file. I found Sothink Swf decompiler that can but it could not edit that.
ReplyDeleteDo you know any application that let me edit MXML design ?
I think it is very difficult to get the original MXML, as MXML will be translated into Action Script before compiling into the final SWF. To edit the MXML design, it is possible to modify the translated Action Script. Maybe you can donate to JPEXS and ask the developers for supporting MXML generated SWF.
DeleteAs i mentioned Sothink does the trick with out any edit option.One can export as Fla or Flex file,then we can make some changes.
DeleteBut i am unable to recompile from Flex to Swf. Could you please explain how to do that with any other application (Flash Builder /Eclipse /Visual Studio etc)?
I have no experience in that. I guess to recompile, you should need the Flex SDK and may modify a lot of the code to get rid of errors.
DeletePretty nice post. I just stumbled upon your weblog and wanted to say that I have really enjoyed surfing around your blog posts. In any case I'll be subscribing to your feed and I hope you write again soon!
ReplyDelete