-
Notifications
You must be signed in to change notification settings - Fork 734
Features
Jindra Petřík edited this page May 16, 2025
·
35 revisions
- 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
- 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 (decryption support for Mochicrypt and Harman AIR)
- Open other SWF files loaded during playback - can bypass many loaders
- Open ActionScript byte code files (*.ABC)
- Create new SWF files
- Harman AIR encrypted SWFs support
- SWF header
-
Shapes (
DefineShape1-4tags) -
MorphShapes (
DefineMorphShape1-2tags) -
Sprites (
DefineSpritetag) -
Buttons (
DefineButton1-2tags)- Show individual
BUTTONRECORDitems
- Show individual
-
Texts (
DefineText1-2,DefineEditTexttags, No TLF support) -
Images (
DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2,DefineExternalImage1-2,DefineSubImagetags) -
Fonts (
DefineFont1-3,DefineCompactedFont,DefineFontInfo1-2,DefineFontNametags)- Name, Characters preview, ascent, descent, leading, bold/italic flags
-
Video (
DefineVideoStream,VideoFrametags) -
Sound (
DefineSound,SoundStreamHead1-2,SoundStreamBlocktags)- Show basic codec info
-
BinaryData (
DefineBinaryDatatag) -
Scripts (
DoABC,DoABC2,DoInitAction,DoAction,DefineButtontags,BUTTONCONDACTION,CLIPACTIONRECORD)- ActionScript source, P-code, Hex, Constant pool, Control Flow Graph, Display file offset (AS2)
-
Frames (
ShowFrame,PlaceObject1-4tags,RemoveObject1-2) -
Scenes (
DefineSceneAndFrameLabelDataTagtag) - 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
- Whole SWF
- FLA, XFL, and internal XML format
-
Shapes (
DefineShape1-4tags)- SVG (limited), PNG, HTML 5 Canvas, BMP, SWF
-
MorphShapes (
DefineMorphShape1-2tags)- SVG (limited), HTML 5 Canvas, SWF
- start+end: SVG (limited), PNG, BMP
-
Sprites (
DefineSpritetag)- PNGs, BMPs, GIF, AVI, SVG(limited), HTML 5 Canvas, PDF, SWF
-
Buttons (
DefinButton1-2tags)- PNG, BMP, SVG, SWF
-
Texts (
DefineText1-2,DefineEditTexttags, No TLF support)- Plain text, FFDec formatted text, SVG
-
Images (
DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2tags)- JPEG, PNG, BMP
-
Fonts (
DefineFont1-3,DefineCompactedFonttags)- TrueType (TTF), Web font (WOFF)
-
CFF Fonts (
DefineFont4tag)- raw CFF export
-
Video (
DefineVideoStream,VideoFrametags)- FLV format without audio
-
Sound (
DefineSound,SoundStreamHead1-2,SoundStreamBlocktags)- MP3, WAV, FLV
-
BinaryData (
DefineBinaryDatatag) -
Scripts (
DoABC,DoABC2,DoInitAction,DoAction,DefineButtontags,BUTTONCONDACTION,CLIPACTIONRECORD)- ActionScript, P-code, P-code with hex, hex, P-code GraphViz, Hex, Constants, ActionScript method stubs
- optional all to single file export
- Export to ABC file
- Export assets assigned to classes with use of
[Embed]tag
-
Frames
- PNGs, BMPs, GIF, AVI, SVG(limited), HTML 5 Canvas, PDF
-
SymbolClass/ExportAssets
- CSV
- Option to select export Zoom level
Flash CS 5, CS 5.5, CS 6 and CC FLA document format (compressed or uncompressed XFL). Also Flash CS 4, CS 3, Flash 8, MX 2004, MX, Flash 5 document formats (binary).
-
Shapes (
DefineShape1-4tags) -
MorphShapes (
DefineMorphShape1-2tags)- shape tweens
-
Sprites (
DefineSpritetag) -
Buttons (
DefineButton1-2tags) -
Texts (
DefineText1-2,DefineEditTexttags, No TLF support) -
Images (
DefineBits,JPEGTables,DefineBitsJPEG2-4,DefineBitsLossless1-2tags) -
Fonts (
DefineFont1-3tags,DefineFont4tag) -
Video (
DefineVideoStream,VideoFrametags) -
Sound (
DefineSound,SoundStreamHead1-2,SoundStreamBlocktags) -
Scripts (
DoABC,DoABC2,DoInitAction,DoAction,DefineButton,SymbolClass,ExportAssetstags,BUTTONCONDACTION,CLIPACTIONRECORD) -
BinaryData (
DefineBinaryDatatag) -
Frames (
ShowFrame,PlaceObject1-3tags,PlaceObject4including AMF3 instance metadata,RemoveObject1-2)- no tween detection
- Detecting scripts on AS3 timeline
-
Background color (
SetBackgroundColortag) -
Scenes (
DefineSceneAndFrameLabelDataTagtag)
SWF files with AS3 content without items placed on main timeline.
- FlashDevelop project
- IntelliJ IDEA project
- VS Code project
- 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
- Show call stack and use double click to switch stack frames
- Both AS1/2 and AS3 support
- Works on SWFs without debugging enabled too
- debug info is injected automatically
- Uses flash debug projector
- Import whole SWF
- import from internal XML format
-
Shapes (
DefineShape1-4tags)- replacing with image
- import SVG file
- editing shape points
- transforming
-
MorphShapes (
DefineMorphShape1-2tags)- importing start/end SVG file
- replacing with previously exported animated SVG file
- editing shape points
- transforming
-
Sprites (
DefineSpritetag)- importing GIF file
- transforming
-
Buttons (
DefineButton1-2tags)- transforming
-
Texts (
DefineText1-2,DefineEditTexttags, No TLF support)- Editing texts and parameters (+align,move left/right buttons, optional autosave editor mode)
-
Images (
DefineBits,DefineBitsJPEG2-4,DefineBitsLossless1-2,DefineExternalImage1-2,DefineSubImagetags)- replacing (Note:
DefineBitsis replaced withDefineBitsJPEG2)
- replacing (Note:
-
Fonts (
DefineFont1-3,DefineCompactedFont,DefineFontInfo1-2)- adding new characters, replace existing characters, changing bold/italic/ascent/descent/leading/name attributes
- selecting import Font Face
- importing from TTF file
-
Sound (
DefineSound,SoundStreamHead1-2,SoundStreamBlocktags)- replacing with WAV or MP3
-
BinaryData (
DefineBinaryDatatag)- replacing
-
Scripts (
DoABC,DoABC2,DoInitAction,DoActiontags.DefineButton,BUTTONCONDACTION,CLIPACTIONRECORDactions) -
Frames (
PlaceObject1-4)- transforming placed objects
- Metadata tag
-
Other tags
- editing parameters via tree editor
- Adding new tags and frames
- Create tags from files
- Editing instance metadata (AMF3) in
PlaceObject4tag - SWF header
- Changing width/height of SWF, SWF version or framerate
- Changing compression type
- Changing framecount (does not apply to real number of
ShowFrametags)
- Bulk import texts, scripts, images, shapes, movies, sounds
- 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)) - Adding new AS3 classes
- Adding new AS1/2 classes, frame/instance/button scripts
- Show P-code graph (using GraphViz)
- Adding new AS3 trait
- Remove AS3 trait
- Choose whether to use Flash (
playerglobal.swc) or AIR (airglobal.swc) library
- Search text in ActionScript source or text tags (can use regular expression)
- Option to load previous search results
- Search by all P-code files (AS1/2 only)
- Go to Document class (AS3)
-
Search memory
- Search SWFs in other processes memory
- 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)
-
ABC Explorer
- Show ActionScript bytecode (AS3) internals
-
SOL Cookies editor
- Editor for Flash Shared Objects - SOL cookies
-
Proxy
- REMOVED - this feature is no longer available
- 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
- 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
- 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.
- 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.
- Flatten ActionScript packages
- ActionScript packages can be displayed either in package tree or in so called flattened mode, in which each package is shown as single line.
- Add FFDec to SWF files context menu
- On windows platform, this can add "Open with FFDec" right click context menu to windows explorer
- Change language
- Advanced configuration for experts
- Special mode where you see exactly how tags are ordered in the SWF file
- You can easily switch between this mode and Resources (folders) view
- Tag can be added at exact position
- Allows moving tags with drag and drop
View used to edit flash timeline. It resembles Flash Pro (or Animate).
- Easily move objects on the stage – just click and drag
- Select multiple objects via drawing a rectangle and edit them together
- Double click movie clip to edit sub-items
- Inspect timeline of each individual movie clip
- Add new frames by right clicking on the desired depth.
- Drag and drop new objects from library to stage
- Edit instance properties
- Position and size
- Color effect
- Visibility, tween/video ratio, blending, cache as bitmap
- Filters (Blur, Drop shadow, Glow, Bevel, Gradient Glow, Gradient Bevel, Adjust color, Convolution)
- Convolution filter has couple of presets defined (Sharpen, Emboss, Edge detection, ...)
- Edit document properties (Compression, SWF version, Encrypted flag, GFX flag, Frame rate, Display rect, Background color)
- Transform tool
- Undo / redo feature
- Horizontal and vertical ruler
- Guides
- Created by dragging from ruler area
- Can be locked in place
- Customizable color
- Configurable snap accuracy
- Grid
- Configurable spacing
- Customizable color
- Optionally show over objects
- Configurable snap accuracy
- Snapping
- Snap to Guides
- Snap to Grid
- Snap to Objects
- Snap to Pixels
- Snap Align - Configurable stage border, object spacing, center alignment
- Displaying tags coming from imported assets
- Removing tags or other items
- Move tag to specified position with select position dialog
- Move or copy tag to another SWF
- Copy tags to tag clipboard and paste them elsewhere
- Cloning tags and frames
- Replacing character references
- Enable debugging on SWF file - inject line/file information (commandline)
- Commandline arguments support
- Enable/disable subsprite animation
- Hilighting shape records and edge info display
JPEXS Free Flash Decompiler Wiki