JPEXS Free Flash Decompiler is an open source tool for decompiling Flash SWF files, extracting, editing or replacing their contents.
At a minimum you might use the program to grab images, videos or music from an SWF.
You could also tweak an applet, perhaps replacing a background image or the soundtrack. Flash developers might explore scripts to better understand how an applet works, or security experts can analyse a malicious applet to figure out what it's doing.
Whatever you're doing, the program is reasonably easy to use. There's no installation, and it's Java-based, so works almost anywhere: just open your applet and its various resources are displayed in a tree: shapes, sprites, buttons, fonts, frames, scripts and more. Expand a section like Sounds, then browse their contents, and right-click an item to view, remove, replace, export it and more.
JPEXS Free Flash Decompiler has plenty of other higher level functions. If you can't find an SWF file, it's able to search your browser cache, or even its RAM. And whatever you locate may be exported as a stand-alone EXE file, for easy playing on the Windows desktop.
Version 10.0 brings (Changelog):
Iggy Files support - reading and (limited) editation of fonts, texts and AS3 - 64 bit variant only
optional AS3 direct editation with Flex SDK
AS3 p-code editing - metadata read/write support
AS3 p-code editing - end of the block command like in RABCDasm
AS3 p-code editing - popup docs for more than instructions
Debugger - New columns for variable details - scope, flags, trait
Debugger - Add watch feature
AS3 decompilation - colliding trait/class names handling - show hash suffix with namespace index on such cases
Deobfuscation Tool - Fix colliding trait/classes via toolbar command
Auto rename identifiers option now fixes colliding trait/classes aswell
Issue #1254 FLA export - detecting scripts on AS3 timeline
Issue #907 FFDec Library JAR file has version inside it.
Issue #1311, Issue #1313 actionScript source font size
Display warning when library version and GUI version mismatch