List of Features

Requirements

Java 8 Windows Linux Mac OS
  • Needs Java 8 or newer
  • Works on Windows, Linux, MacOS

User interface

Tag tree display
  • Ribbon panel with tabs and application icon
  • Various graphical skins available
  • Tag tree with categories (shapes,sprites,texts,...)
    - Each tag shows character id and optional name taken from ExportAsset or other info
  • Tags modifying existing characters tags are placed under the parent node
  • Two panel editation
    - original preview in the left panel, editation on the right
  • Drag and drop SWF files to main window opens file
  • Drag tree item outside of window exports item
  • Changing background color of previewed items
  • Easy access to application configuration via Settings tab
  • Optional classic UI without Ribbon
  • Multilanguage support: English, Czech, Chinese, Dutch, French, German, Hungarian, Italian, Polish, Portugese-Portugal, Portugese-Brasil, Russian, Spanish, Swedish, Ukrainian

Opening files

Open/Save tab screenshot
  • Support for SWF files uncompressed and both Zlib and LZMA compressed
  • Both AS1/2 and AS3 files supported
  • GFx ScaleForm files support (*.GFX)
  • Iggy files support (64 bit only)
  • SWC libraries reading support
  • Opening SWFs in ZIP compressed archives
  • Opening files via Drag and Drop, file context menu or standard association
  • Allows opening more than one file at once (Single app instance on Windows)
  • Reload button for reading file again
  • List of recently opened files
  • Opening binary files to search SWFs inside them
  • SWF files hidden in DefineBinaryData tags can be opened too (no decryption support)
  • Open other SWF files loaded during playback - can bypass many loaders

Displaying SWF objects

SWF Display screenshot (MorphShape)
  • SWF header
  • Shapes (DefineShape1-4 tags)
  • MorphShapes (DefineMorphShape1-2 tags)
  • Sprites (DefineSprite tag)
  • Buttons (DefineButton1-2 tags)
  • Texts (DefineText1-2, DefineEditText tags, No TLF support)
  • Images (DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2 tags)
  • Fonts (DefineFont1-3,DefineCompactedFont,DefineFontInfo1-2,DefineFontName tags)
    - Name, Characters preview, ascent, descent, leading, bold/italic flags
  • Video (DefineVideoStream,VideoFrame tags)
  • Sound (DefineSound,SoundStreamHead1-2,SoundStreamBlock tags)
    - Show basic codec info
  • BinaryData (DefineBinaryData tag)
  • Scripts (DoABC, DoABCDefine, DoInitAction, DoAction,DefineButton tags, BUTTONCONDACTION, CLIPACTIONRECORD)
    - ActionScript source, P-code, Hex, Constant pool, Control Flow Graph, Display file offset (AS2)
  • Frames (ShowFrame, PlaceObject1-4 tags, RemoveObject1-2)
  • Whole SWF preview
  • Hexadecimal dump view of all tags / SWF nodes
    - color hilighting
    - textsearch
    - Jump to resources view
  • Create Snapshot of displayed object to clipboard
  • Easy Folder view with tag previews
  • Basic tag info panel

Exporting SWF objects

Export dialog
  • Whole SWF
    - FLA, XFL, and internal XML format
  • Shapes (DefineShape1-4 tags)
    - SVG (limited), PNG, HTML 5 Canvas, BMP
  • MorphShapes (DefineMorphShape1-2 tags)
    - SVG (limited), HTML 5 Canvas
  • Sprites (DefineSprite tag)
    - PNGs, BMPs, GIF, AVI, SVG(limited), HTML 5 Canvas, PDF (as images)
  • Buttons (DefinButton1-2 tags)
    - PNG, BMP or SVG format
  • Texts (DefineText1-2, DefineEditText tags, No TLF support)
    - Plain text, FFDec formatted text, SVG
  • Images (DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2 tags)
    - JPEG, PNG, BMP formats
  • Fonts (DefineFont1-3,DefineCompactedFont tags)
    - TrueType (TTF), Web font (WOFF)
  • Video (DefineVideoStream,VideoFrame tags)
    - FLV format without audio
  • Sound (DefineSound,SoundStreamHead1-2,SoundStreamBlock tags)
    - MP3/WAV/FLV format
  • BinaryData (DefineBinaryData tag)
  • Scripts (DoABC, DoABCDefine, DoInitAction, DoAction, DefineButton tags, BUTTONCONDACTION, CLIPACTIONRECORD)
    - ActionScript, P-code, P-code with hex, hex
    - List of constants
    - optional all to single file export
  • Frames
    - PNGs, BMPs, GIF, AVI, SVG(limited), HTML 5 Canvas, PDF (as images)
  • SymbolClass/ExportAssets
    - CSV
  • Option to select export Zoom level

Exporting to FLA format

Export menu
- Flash CS 5, CS 5.5, CS 6 and CC FLA document format (compressed or uncompressed XFL)
  • Shapes (DefineShape1-4 tags)
  • MorphShapes (DefineMorphShape1-2 tags)
    - shape tweens
  • Sprites (DefineSprite tag)
  • Buttons (DefineButton1-2 tags)
  • Texts (DefineText1-2, DefineEditText tags, No TLF support)
  • Images (DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2 tags)
  • Fonts (DefineFont1-3 tags)
  • Video (DefineVideoStream,VideoFrame tags)
  • Sound (DefineSound,SoundStreamHead1-2,SoundStreamBlock tags)
  • Scripts (DoABC, DoABCDefine, DoInitAction, DoAction, DefineButton, SymbolClass,ExportAssets tags, BUTTONCONDACTION, CLIPACTIONRECORD)
  • Frames (ShowFrame,PlaceObject1-3 tags,
    PlaceObject4 including AMF3 instance metadata, RemoveObject1-2)

    - no tween detection
    - Detecting scripts on AS3 timeline
  • Background color (SetBackgroundColor tag)

ActionScript Debugger

Debugger
  • Add breakpoints
  • Step into, step over
  • List variables, registers
  • Change variable values on runtime
  • Show AS1/2 constantpool
  • Show trace calls
  • Show variable details - scope, flags, trait
  • Add watch
  • Display call stack
  • Special P-code debugging - step P-code lines
  • Both AS1/2 and AS3 support
  • Works on SWFs without debugging enabled too
    - debug info is injected automatically
  • Uses flash debug projector

Editing SWF objects

Editing text
  • Import whole SWF
    - import from internal XML format
  • Shapes (DefineShape1-4 tags)
    - replacing with image
    - import SVG file
  • Texts (DefineText1-2, DefineEditText tags, No TLF support)
    - Editing texts and parameters (+align,move left/right buttons, optional autosave editor mode)
  • Images (DefineBits,DefineBitsJPEG2-4,DefineBitsLossless1-2 tags)
    - replacing (Note: DefineBits is replaced with DefineBitsJPEG2)
  • Fonts (DefineFont1-3,DefineCompactedFont tags,DefineFontInfo1-2)
    - adding new characters, replace existing characters, changing bold/italic attributes
    - Selecting import Font Face
    - Importing from TTF file
  • Sound (DefineSound,SoundStreamHead1-2,SoundStreamBlock tags)
    - replacing with WAV or MP3
  • BinaryData (DefineBinaryData tag)
    - replacing
  • Scripts (DoABC,DoABCDefine,DoInitAction,DoAction tags. DefineButton,BUTTONCONDACTION, CLIPACTIONRECORD actions)
  • Metadata tag
  • Other tags
    - Editing parameters via tree editor
  • Adding New tags
  • Editing instance metadata (AMF3) in PlaceObject4 tag
  • SWF header
    - Changing width/height of SWF, SWF version or framerate
    - Changing compression type

Editing ActionScript

Editing ActionScript
  • Displaying ActionScript code on the left, p-code on the right
  • Clicking AS item hilights position in p-code and vice-versa
  • Editing existing actions P-code, direct ActionScript editing
    - Editing AS directly is experimental and some features may not work yet.
  • Optional editing AS3 scripts through Flex SDK (unstable)
  • AS3 P-code: Syntax is based on RABCDasm. See its homepage for details.
    - constant pool is updated automatically
    - popup documentation for each instruction and code part (AS3 only)
    - now with editing metadata
  • AS3: Find multiname declaration with Ctrl+click (Local register, types, etc. too)
  • AS3: Find multiname usages (Ctrl+U)
  • AS1/2: Ctrl+click - Go to declaration of variables, registers
  • Easy editing obfuscated names with paragraph syntax
    (§ while§, §in+v-%§)
  • Easy editing colliding names with hash syntax
    (item#1)
  • Special instructions to handle unstructured code
    (§§pop(), §§push(x))

Tools

Builtin proxy
  • Search text in ActionScript source or text tags (can use regular expression)
  • Search by all P-code files (AS1/2 only)
  • Go to Document class (AS3)
  • Proxy
    - Configure your browser to use our proxy
    - Proxy sniffs http communication and searches for SWF files
    - Found SWF files can be edited in place and then served via proxy again
  • Search memory
    - Search SWFs in other processes memory
  • Search browser cache
    - Search SWFs in web browser cache
    - Supported browsers: Mozilla Firefox, Google Chrome/Chromium
    - (removed in 7.x, not updated for newer browser cache formats)
  • Deobfuscation
    - AS3 P-code deobfuscation (Few technics to remove dead code inserted by obfuscators)
    - Globally rename identifier
    - Rename invalid identifiers (Obfuscators often use wrong characters in identifiers)
    - Rename colliding identifiers (Obfuscators use same names for methods, only with different namespace)
  • Time line view
    - Display timeline of objects placed in the frames. See object location in the preview window.

Settings

  • Automatic deobfuscation
    - Application can automatically remove dead code and other obfuscated code. This is off by default as it can break decompilation of regular files.
  • Simplify Expressions
    - Complex (often obfuscated) expressions are simplified to (usually)one value to make code more clear
  • Use Own flash Viewer
    - On windows platform, internal Flash viewer can be used so flash content can be displayed without Adobe Flash Player. On other platforms, internal viewer is on by default.
  • Parallel SpeedUp
    - Application can use parallel approach (threads) for reading SWF/decompilation to be faster
  • Disable decompilation
    - AS decompilation can be disabled so only P-code is visible. This can be used if decompilation takes much time for example.
  • Add FFDec to SWF files context menu
    - On windows platform, this can add "Open with FFDec" right click context menu to windows explorer
  • Highlight document class on startup
    - FFDec can jump directly to AS3 document class after SWF opening
  • Auto rename identifiers
    - On SWF opening, automatically execute "rename invalid identifiers" operation
  • Open loaded SWFs while playing
    - If you run SWF with Run command in the menu or display in FlashPlayer in the FFDec, all SWFs which are loaded inside ActionScript while run will be then opened in FFDec. This applies to encrypted SWFs loaded from DefineBinaryData tags too. Useful for any kind of AS3 loader.
  • Change language
  • Advanced configuration for experts
Settings panel

Other

  • Displaying tags coming from imported assets
  • Removing tags via right click context menu in tag tree
  • Move or copy tag to another SWF
  • Enable debugging on SWF file - inject line/file information (commandline)
  • Commandline arguments support

Limitations

Limitations on nonWindows platforms:
- Internal Flash Viewer is used for SWF resources display. This viewer can be inaccurate and some tags are not available (video)
- Context menu association is not available
- Search memory tool is not available
Limitations on older Windows versions:
- we recommend to use Windows which are still supported by Microsoft (e.g. not Windows XP or older)
 
Google Translate: Translate to Czech Translate to Slovak Translate to Russian Translate to Hungarian Translate to Swedish Translate to French Translate to German Translate to Spanish Translate to Italian
Change style: oceanic classic