What's new in JPEXS Free Flash Decompiler 20.1.0

Jan 3, 2024
  • Added:
  • Configurable tab size (formatting must be set to use tabs) - default matches indent size of 3
  • #2100 Copy/paste frames (same SWF only)
  • Updated portugese-brasil translation
  • AS3 Debugging - export/import ByteArray variable data
  • #2123 FLA export - show some progress info
  • Label that flex compiler is used (when it's enabled in settings)
  • #2119 Option to export assets with names like their assigned classes via SymbolClass, without character id
  • #2119 Bulk imported assets can also match filenames based on assigned classname, not just character id prefix
  • Debugger shows (logs) unhandled exceptions
  • #2129 MEMORY and STACK_SIZE parameters now can be set via external variables FFDEC_MEMORY, FFDEC_STACK_SIZE
  • Saving Harman encrypted SWFs
  • Editing encrypted flag on header panel
  • -encrypt command on CLI for Harman encryption
  • Apply unpacker menu on binary data
  • Harman unpacker for binary data
  • Multilevel binary data unpacking is possible
  • #2131 AS1/2 Debugger - show _root variable
  • #2124 Copy tags to other SWFs and replace same classes / export names
  • Remembering breakpoints
  • #2131 Breakpoint list dialog
  • ExportAssets tag - show first item as description in the tree when there is only single item
  • #2134 FLA Export - split main timeline into scenes when DefineSceneAndFrameLabelData tag is present
  • #2132 Show and export streamed sound (SoundStreamHead/SoundStreamBlock) in frame ranges (+ take scenes into account)
  • FLA export - show export time
  • #2138 Morphshapes - detect classic easing
  • FLA export - option to disable fixing of shapes
  • Scenes folder with (readonly) display of scene frames
  • Fixed:
  • #2021, #2000 Caret position in editors when using tabs and / or unicode
  • #2021 Indent continuation when using tabs
  • #2116 DefineEditText display - correct getting fonts
  • #2116 DefineEditText display - apostroph decoding
  • #2116 Apply colortransform after filters
  • #2116 Limit maximum number of box blur pixels
  • #2122 -header command did not support negative integers for displayrect
  • AS3 direct editation - namespaces were initialized in class initializers
  • Debugging - do not invoke getter when there is none - avoid freezing
  • Debugging - properly getting variable value through getter
  • #2123 FLA export - IndexOutOfBounds in shape fixer
  • #2123 FLA export - morphshapes fixer
  • #2111 AS3 direct editation - access class in class initializer
  • #2111 Flex AS3 editation - use SWF dependencies defined in GUI
  • SWF dependencies label was not updated on startup
  • #2127 Wrong parameter order in AS1/2 P-code Action GetURL2 documentation
  • #2025, #2078, #2053 Problems starting the app on Windows when the username has unicode characters
  • Incorrect debugger line numbers when "Open loaded while playing" is enabled
  • AS3 debugger - Slow injecting debug info - now faster
  • AS3 debugger - obfuscated classes debugging
  • Delayed open loaded SWFs while playing
  • AS3 Direct editation - script initializer for main document class
  • AS3 Debugging - activation object was not visible in locals
  • Linenumbers are visible even if debug markers are used
  • Marker of stack frames not properly cleared
  • Retain AS3 script selection in the tree after its editation and saving whole SWF
  • #2131 AS1/2 Debugger - Breakpoint handling - incorrect script names
  • #2131 Debugger - Correct walking variables tree
  • #2131 Debugger - Breakpoints can be added while SWF is running (not just on pause)
  • AS3 Direct editation - types on instance variable values not properly resolved
  • AS1/2 Debugger - script was cleared on stop button
  • AS1/2 Vanishing source code in some cases
  • AS1/2 Debugger tooltips exception
  • #2131 UseOutline flag for DefineEditText
  • Wordrapping long words in DefineEditText
  • #2133 Linux/Mac - ffdec.sh not correctly parsing java build number on javas without it
  • #2135 FLA Export - framescripts handling when addFrameScript uses Multinames instead of QNames
  • #1194 FLA Export - stream sound export
  • #2136 FLA Export - optimized Shape fixer speed, repeated shape on timeline not exported twice
  • #2139 FLA Export - labels layer not counted as layer index causing masked layer parentindex wrong
  • #2138 Nested clipping (masks) display
  • #2138, #2156 FLA Export - Missing morphshapes (incorrect holes calculation)
  • #2138 FLA Export - Mask layer was visible when did not contain a masked layer
  • FLA Export - frame numbering problem
  • #2145 FLA Export - missing frames, cliping layers order, nullpointer, empty sound layers
  • #2142 XML Export - string values containing only spaces
  • AS3 - Nullpointer in MethodBody when no ABC set
  • #2148 AS2 Uninitialized class fields detector
  • #2148 AS1/2 callmethod by register value
  • #2148 AS2 Do not return undefined for setters
  • #2143 FLA Export / Sound playback - taking MP3 initial latency into account
  • #2153 FLA Export - sound streams were limited to first stream block
  • #2163 FLA Export - maintain sound export settings for streams
  • #2162 Debugger - ignore (warn) invalid jumps when injecting debug info
  • AS3 - extra newlines on methods which use activation
  • #2162 AS3 switch inside foreach
  • #2162 AS3 try inside foreach
  • #2152 FLA Export - wrong nonlibrary shapes detection
  • #2147 Display of empty video
  • Saving SWFs opened by "Open loaded while playing" feature
  • Changed:
  • #2120 Exported assets no longer take names from assigned classes if there is more than 1 assigned class
  • #2127 AS1/2 P-code Action GetURL2 switched parameters back - correct order is (loadVariablesFlag, loadTargetFlag, sendVarsMethod),
  • code from 19.1.x to 20.0.0 is still accepted
  • Wrong unicode escape {invalid_utf8:xxx} changed to {invalid_utf8=xxx} for compatibility with file names

New in JPEXS Free Flash Decompiler 20.0.0 (Nov 6, 2023)

  • Added:
  • #1130, #1220 Remembering last used screen (monitor),
  • opening dialogs on same screen as the main window,
  • do not restore window size to larger value that actual screen size
  • #1717 AS1/2/3 Option to hide P-code panel
  • #2005 Export files to directories by bundle names on multiple bundle (zips, etc.) selection
  • ActionScript Debugger - Call stack frames switching - view variables around call stack
  • ActionScript Debugger - Highlight lines of callstack
  • #2105 GFX - Basic tag info
  • Context menu items to create new tags (shape, morphshape, sprite, image, movie, sound, binaryData) from files
  • and using font embed dialog for fonts
  • Replacing morphshapes (either from previously exported animated SVG or from two shape files)
  • SVG Export - stroke-bitmapId, fill-bitmapId attribute
  • Morphshape SVG Export - bitmap fill strokes
  • SVG Export/Import - retain bitmap fill smoothed attribute
  • Export Morphshape as start and end shape (SVG, PNG, BMP)
  • Directory selection dialog in directory configs in advanced settings
  • Status bar with info about edges on walking shaperecords
  • #1799 Text tags editor has new parameter [space xxx] specifying exact letter
  • advance value (add to the font advance + calculated letterspacing)
  • DefineEditText display - letterspacing, kerning, indent, relative font size
  • FLA export - DefineEditText autokern attribute
  • Fixed:
  • #1306, #1768 Maximizing window on other than main monitor
  • AS3 Cast exception when used tree filter and then direct editing
  • #2013 AS3 Multiname renaming - closing the script when renaming the class, nullpointer exception
  • GFX - FontTextureInfo tag reading
  • GFX - Fonts with stripped shapes
  • #2104 Empty texts import
  • Centered start playing triangle (Playing on demand)
  • miterLimitFactor is FIXED8 value in MORPHLINESTYLE2
  • Display of morphshape end shape to be exactly at 65535 ratio
  • SVG import - duplicated image on bitmap fill style
  • Generic tag editor - morphshape fill - show bitmapId for repeating bitmap fill, gradient matrix for focal gradient
  • Morphshape SVG export - focalPoint animation
  • Do not display lines with zero width
  • Not updating Morphshape end bounds
  • SVG import - linear gradients
  • SVG import - Do not use fill winding nonzero when only stroking
  • Morphshape SVG export - closing the stroke
  • #2031 FLA export - morphshapes with duplicated strokes, timelines with multiple shape tweens
  • #1866 FLA export - multilevel clipping handling
  • #1866 FLA export - morphshape rounding fix
  • #1866 FLA export - multiple usage of morphshapes
  • #503, #1011, #1257, #1902, #1903, #2048 FLA export - shapes with overlapping edges
  • #2108 Cannot change text when ShiftJIS flag is set on font
  • #2074, #2074 Use mxmlc.bat file when exe not available for Flex SDK compilation
  • FLA export - DefineEditText - allow negative letterspacing
  • #2112 GFX - new image types in DefineExternalImage
  • #1193 FLA export - DefineEditText position and size
  • FLA export - allow float frame rate
  • FLA export - font export - allow dot as character
  • AS3 Debugging P-code inside nested functions
  • AS3 Debugging - show (and click through) proper call stack
  • Changed:
  • Basic tag info panel always visible even when nothing to display (to avoid flickering)
  • SVG export - attributes like data-characterId and data-characterName moved under ffdec: namespace
  • #802 - FLA export - calculating letterspacing on text with fonts without layout is now optional
  • and turned off by default
  • #2113 Commandline -importScript command aborts import on first error,
  • can be changed with -onerror ignore argument

New in JPEXS Free Flash Decompiler 19.1.2 (Oct 16, 2023)

  • Fixed:
  • #2099 Smart number formatting always on

New in JPEXS Free Flash Decompiler 19.1.1 (Oct 16, 2023)

  • Fixed:
  • Linux/Mac script (ffdec.sh) incorrect quotes avoiding FFDec to start

New in JPEXS Free Flash Decompiler 19.1.0 (Oct 16, 2023)

  • Added:
  • #2090 Support for Mochicrypt packed binarydata tags - loading SWF as subtree
  • #2079 Replace DefineSprite with GIF, Bulk import sprites from GIFs, also from commandline
  • #116 Show invalid utf-8 bytes in Strings as {invalid_utf8:xxx}
  • #2097 Commandline command -header to modify SWF header values
  • SVG Frames export - blend modes
  • SVG Frames export - filter
  • SVG Shapes export - non-scaling strokes
  • SVG Shapes import - non-scaling strokes
  • Support for DefineShape4 nonzero winding rule - display, svg (import, export), canvas export
  • Generic tag editor - MORPHLINESTYLE2 has enum selection for cap and join style
  • Generic tag editor - Default values for filters
  • AS1/2 P-code actions inline documentation
  • P-code hilight currently selected instruction argument in the documentation (both AS1/2 and AS3)
  • #2098 Shape points editation, transform - Protection against saving too large edges/rects
  • Fixed:
  • Close action on SWF inside DefineBinaryData
  • #2093 AS3 Unnecessary use of fully qualified names for classes in same package
  • #1678 Shapes - Miter clip join style
  • #2094 AS3 do not show body trait variables as FQN
  • #2094 AS3 Missing use namespace
  • #2094 AS3 missing star type on var and const
  • #2094 AS3 Getting register names from debug info - do not allow assigning _locX_ name to other register than X
  • #2094 Embed font name taken from the fontTag, not DefineFontName
  • AS3 Simplify expressions - Do not convert this to {} when coerced
  • AS3 incorrect private modifier on internal namespaced traits of private class inside script
  • #2095 AS3 Changing script when debugging
  • #223 AS2 Detecting uninitialized class fields
  • Embed tag not properly escaped on obfuscated files
  • #116 AS3 Cyclic typenames
  • #116 AS3 Do not parse DoABC tags inside sprites
  • #116 Cyclic buttons
  • AS1/2 new keyword on empty method name
  • AS2 getters and setters decoding
  • #116 §§push at the end of switch branches
  • Convolution matrix filter display and editing
  • Generic tag editor - Disallow add before/after or remove on parent field with indices
  • Calculating fillBits, lineBits on SHAPE structure (storing morphshapes, fonts)
  • Generic tag editor - COLORMATRIXFILTER has fixed number of float values
  • Filters display - ymin value
  • Box blur display rounding errors
  • Generic tag editor - display of color values in arrays (filters, etc.)
  • Generic tag editor - display of array brackets
  • Generic tag editor - GRADIENT filters fields
  • #2099 Smart number formatting precedence
  • AS3 Direct editation - Cannot save code after switching deobfuscation
  • Changed:
  • AS1/2 P-code action parameters are now separated by commas, code without commas is still accepted
  • AS1/2 P-code Action GetURL2 has switched parameters - sendVarsMethod is first, older code is still accepted

New in JPEXS Free Flash Decompiler 19.0.0 (Oct 5, 2023)

  • Added:
  • #1449 Updated Turkish translation
  • #2070 SWF to XML format has new meta fields describing XML export major/minor version (major = uncompatible change)
  • #2070 forceWriteAsLong Tag internal attribute is now visible and editable (including XML export), allows decide whether to write length in tag header as long
  • #2073 Editing of frame count in SWF header (with warning that it won't update ShowFrame count)
  • Show font AS linkage class in its name in the tree (besides font name)
  • #2057 Show all assigned AS linkage classes in the item name (instead just one)
  • Exporting ByteArrayRange in the raw editor with the Export button
  • Export DefineFont4 to OpenType CFF file
  • AS3 - Show Embed tag over asset classes (readonly)
  • AS3 - Checkbox for exporting assets embedded using Embed (-exportembed in commandline)
  • FLA export - AS3 - Using Embed tag for DefineBinaryData, images not extending BitmapData
  • #2066 AS3 Support for api-versioned SWFs
  • AS3 compound scripts (scripts containing multiple external definitions like compiled C code, etc.) have special node per script (script_0, script_1, ...) which contains included classes and script initializer
  • Show "Renaming identifiers" status on file opening with auto rename identifiers on
  • #2010 word wrapping in the translation tool
  • ABC Explorer tool
  • FLA export - remember last selected FLA version/compression
  • AS3 Natural sorting of packages and script
  • Fixed:
  • #2043 StartSound2 tag handling
  • PR176 - slow loading of allowed charsets - now lazy loaded
  • PR178 - infinite recursion when getter/setter calls same property of superclass
  • #2070 Handling newlines and tabs in string values inside SWF to XML export
  • #2017, PR179 Classes in same package displayed as fully qualified
  • PR177 AS3 direct editation - Vector literal
  • #2052, #2058 Adding new script placing class to incorrect DoABC tag
  • #2072 AS3 direct editation - incorrectly using trait names of top level classes
  • #2029 Simplify expressions stripping getlex and also ignoring some types of expressions
  • #2052 Detection of switches based on notequal operator
  • #2073 Recalculating frameCount field in SWF header and DefineSprite after deleting frame
  • Handling currently selected tags when using folder preview selection (Not working Replace button, etc.)
  • FLA export - Sprites which do not end with ShowFrame tag
  • PR109 FLA export - large font size of DefineEditText
  • PR110 FLA export - image instances
  • FLA export - missing AS linkage class for fonts
  • #2077 Switch detection problems producing §§goto
  • #2077 AS3 recursion of deleting method with newfunction instruction
  • #2077 AS3 direct editation - incorrect slot names
  • #2077 AS3 direct editation - switch statement missing offset
  • #2077 AS3 allow star string as property name (XML access)
  • #2077 AS3 try..catch parts outside block
  • AS3 try..catch inside loop unneccessary continue
  • #2077 AS3 colliding types in current package with trait names
  • NullPointer on reload / uncache
  • #2076 Auto rename identifiers infinite loop caused by renaming in playerglobal library
  • Not working "Show in Projector" button for DefineFont4 (hide)
  • Proper error message when there is no room for new characters in the font (DefineFont1)
  • Synchronization problems when adding characters to the font vs its display
  • #2086 AS3 direct editation - Correct class order (instanceinfo,classinfo) respecting extends/implements
  • #2086 AS3 direct editation - not deleting old nested methods when they have multiple usages
  • #2009 Missing images in MacOs icon
  • AS3 Initialization of var in script initializer
  • AS3 Nullpointer on getting multiname which is out of bounds
  • Exceptions on cancelling file loading
  • Switching between openables on session load and on view type change
  • Float/Float4 ABC format support
  • AS3 Hilighting (go to) scripts when script has obfuscated name
  • Changed:
  • #2070 String values inside SWF to XML export are backslash escaped to properly handle newlines and tabs. Older versions of FFDec can read this new format wrong and corrupt SWFs. Major version of SWF to XML export changed to 2.
  • AS3 Compound scripts (scripts containing multiple external definitions like compiled C code, etc.) cannot be directly edited or imported (due to problems with script initializers)
  • #2022 - AS3 - Make script initializer always visible and available instead of config
  • #1355 Import panel moved to separate tab
  • Removed:
  • Removed AS3 Constants list (tab on navigator) in favor of new ABC Explorer

New in JPEXS Free Flash Decompiler 18.5.0 (Jun 26, 2023)

  • Added:
  • #1998 Setting for maximum number of items in the cache - allows less memory consumption (Defaults to 500 per cache)
  • #2038, #2028, #2034, #2036 Support for Harman AIR encrypted SWFs (Read-only)
  • Decrypt Harman AIR SWFs via commandline
  • Fixed:
  • #2004 Freezing when a shape has nonimage character set as fill
  • #2004 Nonrepeating fill border
  • #2008 AS3 P-code editing optional Double value when it has no fractional part
  • AS3 P-code editation - zero line number on error
  • #2007 AS3 renaming invalid identifiers - not refreshing AbcIndex afterwards
  • AS1/2 - loadMovie / loadVariables / loadMovieNum / loadVariablesNum editation incorrectly setting GET as method

New in JPEXS Free Flash Decompiler 18.4.1 (Apr 7, 2023)

  • Fixed:
  • #1993 Incorrect scroll position causing shapes to be hidden
  • #1994 Replace command in commandline with three argument causing replacements file load
  • #1477 Open file (Context menu) with unicode characters, unicode in paths, on Windows
  • Starting app with parameters causing wrong GUI init
  • #1991 ConcurrentModificationException on clearing cache thread
  • #1999 AS3 decompilation - XML constructor call with other than string argument
  • Changed:
  • #1996 Items are now exported in order of appearance in the tag tree (usually SWF order), previously was it in order of selection

New in JPEXS Free Flash Decompiler 18.4.0 (Mar 20, 2023)

  • Added:
  • AS3 support for logical AND/OR compound operator
  • AS3 Display missing namespaces along traits as §§namespace("url")
  • #1888, #1892 AS3 option to select SWF dependencies to properly resolve namespaces, types, etc. (currently in GUI only)
  • FileAttributes tag - SWF relative Urls flag
  • AS3 P-code editing class trait
  • #355 Updated Chinese translation
  • FLA Export - AS2 - Sprite linkage to class
  • #1682 AS1/2 Context menu add script on frames/buttons/placeObjects
  • Allow adding second DoAction to a frame
  • Fixed:
  • #1981 AS3 fully qualified (colliding) types in submethods
  • AS3 direct editation - Allow member or call for doubles
  • AS3 direct editation - Allow comma operator in XML filter operation
  • AS3 direct editation - Allow comma operator in switch expressions
  • AS3 XML embedded variables display and direct edit
  • AS3 Metadata values order
  • AS3 Metadata in P-code formatting
  • AS3 Metadata single value (null item key)
  • #1981 AS3 star import collisions
  • #1982 Slow calculation of large shape outlines - now use only rectangles for large shapes
  • #1986 AS2 Class detection - NullPointerException on certain classes
  • AS3 P-code ValueKind namespaces handling
  • AS3 direct editation - namespace definition without explicit value
  • AS3 direct editation - var/const outside package
  • AS3 interfaces - internal modifier on methods
  • AS3 direct editation - interface method namespace
  • AS3 p-code docs - deldescendants, negate_p operands
  • AS3 p-code - IGNORE_REST method flag incorrectly shown as EXPLICIT
  • #1989 AS3 - Slow deobfuscation (AVM2DeobfuscatorSimpleOld)
  • AS3 - getouterscope instruction support
  • #1990 Cloning DefineSprite causing incorrect tags written
  • Do not display fonts added to stage (for example in testdata/as2.swf, the vertical text - sprite 10)
  • AS2 Class detection - TemporaryRegisterMark handling
  • FLA export scripts location
  • FLA export shape tweens (morphshapes)
  • AS1/2 adding CLIPACTIONRECORD to PlaceObject which already has a record
  • Changed:
  • AS1/2/3 P-code - format Number values with EcmaScript toString function
  • AS3 p-code - EXPLICIT method flag renamed to NATIVE

New in JPEXS Free Flash Decompiler 18.3.6 (Feb 26, 2023)

  • Fixed:
  • #1970 FLA export - do not strip empty frames at the end of timeline
  • #1970 AS2 Renaming invalid identifiers for direct strings (no constant indices)
  • #1970 AS2 Renaming invalid identifiers IndexOutOfBounds on invalid constant index (obfuscated code, etc.)
  • #1972 AS3 Renaming invalid identifiers - '#' character
  • #1972 AS3 Renaming invalid identifiers - various fixes
  • #1972 AS3 imports taken only from packages, not package internal
  • Unresponsive status bar and its icon
  • #1973 FLA export - improper calculation of shape instance count
  • FLA export - XML formatting with blank lines on Java9+
  • #1974 DefineBits image reading problem
  • #1963 AS2 properly decompile/direct edit long classes
  • #1977 AS3 Find usages - class and function usages, various fixes
  • IllegalArgumentException: JSplitPane weight must be between 0 and 1
  • #1979 SVG import - autoclosing fill paths (without closing stroke paths)

New in JPEXS Free Flash Decompiler 18.3.5 (Feb 12, 2023)

  • Added:
  • #1959 Display frame labels along frames and FrameLabel tags
  • Fixed:
  • #1960 Hide tag tree root handles as it was in previous versions
  • #1964 Freezing on releasing mouse while shape transforming (deadlock)
  • #1961 Characters can use characterId 0, PlaceObject can use depth 0
  • #1963 Reading CLIPEVENTFLAGS ClipActionEndFlag on SWF versions >= 6
  • #1968, #1971, #1957 Cannot start FFDec due to large stack size on some configurations
  • Changed:
  • #1960 Quick search does not search in SWF name or folder names
  • #1961 SoundStreamHead on main timeline is exported/imported with identifier "-1"
  • #1957 Larger stack size (when needed) must be configured manually in ffdec.bat or ffdec.sh

New in JPEXS Free Flash Decompiler 18.3.4 (Feb 1, 2023)

  • Added:
  • #1029 Better separation of library and main app, dependencies inside library zip, library readme
  • Remembering script+folder scroll/caret position when switching between items, saving for pinned items
  • Fixed:
  • #1948 Timeout while deobfuscation did not skip method
  • #1948 NullPointerException on Simplify expressions on incrementent/decrement
  • #1941 Export when no node is selected after SWF opening
  • Exception handling in cache clearing thread
  • DottedChain.PathPart NoSerializable exception
  • #1951 Clearing Namespace/Multiname cache after renaming identifiers
  • #1951 Renaming invalid identifiers with existing string collisions
  • #1888 String casts - ConvertS on XML, XMLList
  • #1953 Save as EXE - add file extension when missing
  • #1954 Incorrect calculation of empty button bounds causing OutOfMemory
  • #1944 Scroll position not retained on Ctrl+click in the tag tree
  • #1940 AS3 decompilation - wrong assignment
  • AS3 - incorrect switching P-code causing empty text
  • AS3 - Select the trait after adding new
  • #1955 AS3 - Exception during removing trait
  • #688 AS3 Direct editation - construction (new keyword) converted to call when result not used
  • Changed:
  • #1957 Increased maximum stack size to avoid StackOverflowErrors on unusual scripts

New in JPEXS Free Flash Decompiler 18.3.3 (Jan 23, 2023)

  • Added:
  • #1913 Option to retain shape exact position(bounds) in SVG export
  • #1913 Option to disable bitmap smoothing for display
  • Fixed:
  • #1888 AS3 - missing casts in declarations
  • #1894 Switch inside loop
  • #1801 AS3 - AIR/Flash switching
  • #1892 AS3 - internal modifier after implicit namespace
  • #1888 AS3 - Coerce to string
  • AS3 - local registers type declarations vs for..in clause
  • #1888 AS3 - Coerce to int when Number
  • AS3 - super properties resolving
  • AS3 - line numbering on pushback string on regexp
  • AS3 Direct editation - removing method bodies after unsuccessful edit
  • #1936 AS3 - Parentheses around function definition call
  • #1936 AS3 - Scope stack in second pass
  • #1936 AS3 Direct editation - handling undefined variables
  • #1936 AS3 Direct editation - colliding try..catch variable
  • #1936 AS3 Direct editation - missing pop after call
  • #1936 AS3 Direct editation - slots increment, decrement
  • #1936 AS3 Direct editation - scope of nested functions
  • AS3 - empty P-code shown on clicking script
  • #1888 AS3 - Coerces, module operator
  • #1937 AS3 - declarations vs null
  • #1458 Quick find bar overlaying horizontal scrollbar
  • #1842 AS1/2 Better handling obfuscated code, for..in
  • #1842 AS1/2 use parenthesis when initObject has nonstring keys
  • #1842 AS - Do not display §§dup when the value has no sideeffect
  • Deobfuscation icon on script toolbar did not match the deobfuscation status
  • #1938 AS3 Direct editation - implied this instead of findprop
  • #1938 AS3 Direct editation - local registers coerce/convert
  • #1938 AS3 Direct editation - setting default values for slots
  • AS3 Direct editation - using local classes as types
  • #1938 AS3 - coercion call type
  • #1938 AS3 - shortening + 1 to increment
  • #1938 AS3 - implicit coercion of operations
  • #1938 AS3 - initproperty compound operators, increment/decrement
  • #1938 "Open loaded during play" Loader injection for Multiname types
  • AS3 - not using visitCode when not needed => faster decompilation
  • Cache thread as daemon
  • #1949 Incorrect reading FIXED and FIXED8 SWF values causing wrong Filters size and OutOfMemory

New in JPEXS Free Flash Decompiler 18.3.2 (Jan 11, 2023)

  • Removed:
  • #1935, #1913 Retaining shape exact position(bounds) in SVG export/import

New in JPEXS Free Flash Decompiler 18.3.1 (Jan 10, 2023)

  • Added:
  • GFX - support for TGA external images
  • GFX - DefineExternalGradient tag has gradientId in its name
  • GFX - DefineExternalSound and DefineExternalStreamSound playback
  • Fixed:
  • GFX - DefineExternalImage2 display and correct handling if standalone
  • #1931, #1934 DefineSprite rectange calculation (incorrect export dimensions)
  • #1929, #1932 Wrong subsprite frames display
  • #1933 AS3 - Detection of variable names from debug info on multiple debug ins with same regindex
  • GFX - ExporterInfo prefix is NetString
  • Scrollbars on sound playback
  • Clear preview on raw edit to stop sound playback
  • CXFORM and GRADRECORD causing NotSerializableException
  • Scrollbars
  • Incorrect frame counting
  • Save as does not change file title upon reload

New in JPEXS Free Flash Decompiler 18.3.0 (Jan 3, 2023)

  • Added:
  • #1913 Shape transforming, point editation
  • Hilighting currently selected shape edge in the raw edit
  • #1905 Key strokes on folder preview panel
  • Scrollbars
  • Morphshape transforming, point editation
  • Raw edit - (MORPH)GRADIENT spreadMode,interpolationMode as enums
  • Unit selection (pixels/twips) in header editation
  • Fixed:
  • #1915 SVG import - gradient when it has two final stops
  • Native sound export format for ADPCM compression is FLV
  • #1923 Wrong cyclic tag detection causing hidden sprites
  • Ctrl + G shortcut for tag list view
  • Uncompressed FLA (XFL) export creates a directory
  • #1827 Video replacing VP6 reading
  • #1926 Constructors namespace taken from class - should be always public
  • #1772 AS1/2 decompilation - StackOverflow during getVariables function
  • #1890 AS3 - Removing first assignment in for in loop
  • Changed:
  • #1913 SVG export/import of shapes - shape exact position (bounds) is retained

New in JPEXS Free Flash Decompiler 18.2.1 (Dec 28, 2022)

  • Fixed:
  • Copy/Move/Cut with dependencies did not handle original tag when not charactertag
  • #1922 FLA/XFL/Canvas/SVG export - exporting DefineBitsJPEG3/4 with alpha as JPEG with PNG extension
  • #1921 AS3 direct editation - exception on code save - wrong selected ABC

New in JPEXS Free Flash Decompiler 18.2.0 (Dec 28, 2022)

  • Added:
  • #1917 Better error message for sound import on unsupported sampling rate
  • #1827 Replacing and bulk import of DefineVideoStream
  • Movie FLV export - writing simple onMetadata tag
  • #1424, #1473, #1835, #1852 Replacing sound streams (SoundStreamHead, SoundStreamBlock)
  • Bulk import sounds and sound streams
  • Fixed:
  • #1914 DropShadow filter
  • #1916 Translation tool did not load up
  • PlaceObject preview not cleared causing sound to repeat
  • #1920 AS3 - Slower decompilation (returnType method optimization)

New in JPEXS Free Flash Decompiler 18.1.0 (Dec 23, 2022)

  • Added:
  • Deobfuscation and its options as icons on script panel toolbar
  • Warning before switching auto rename identifiers on
  • #1231 Button transforming
  • #1690 Deobfuscation tool dialog for script level (not just current method / all classes)
  • #1460 Commandline import of text, images, shapes, symbol-class
  • #1909 Export/import DefineBitsJPEG3/4s alpha channel to/from separate file
  • ("PNG/GIF/JPEG+alpha" option in GUI, "-format image:png_gif_jpeg_alpha" for commandline)
  • #1910 Copy/paste transform matrix to/from the clipboard
  • #1912 Persist selected item in the tree upon quick search (Ctrl+F)
  • #1901 Editor mode and autosave feature for header, raw editor, transform
  • #583 FlashPaper SWF to PDF with selectable text (commandline)
  • #1858 PDF export - JPEG with alpha channel exported as is
  • Fixed:
  • #1904 NullPointerException when renaming invalid identifiers in AS1/2 files caused by missing charset
  • #1904 NullPointerException when fast switching items
  • #1904 NullPointerException on ErrorLog frame
  • #1904 NullPointerException on decompiler pool
  • #1904 AS1/2 Simplify expressions breaks registers, functions
  • #1904 AS1/2 Throw is an ExitItem to properly handle continues vs ifs
  • #595 AS3 direct editation - protected property resolving
  • AS3 direct editation and decompiler share same AbcIndex
  • BUTTONRECORD display does not use its Matrix
  • Editation status not cleared after Sprite transforming
  • Image flickering
  • Show Hex dump for AS1/2 script tags
  • Speaker image when sound selected not in the center
  • #1908 Slow commandline opening SWF
  • #1908 Shape/image import must accept also filenames in the form "CHARID_xxx.ext" instead of just "CHARID.ext"
  • Exporting DefineJPEG3/4 with alpha channel to PNG produced JPEG instead
  • AS3 package level const with function value - separate P-code for trait and method
  • Slot/const trait proper p-code indentation
  • #1858 PDF export - Adding same ExtGState multiple times,
  • #1858 PDF export - Applying same alpha/blendmode multiple times
  • #1858 PDF export - Applying same color multiple times
  • #1907 Crashing on memory search
  • #1906 Memory search - byte align opens wrong SWFs
  • Changed:
  • Warning before switching deobfuscation is now optional
  • #1690 Redesigned Deobfuscation tool dialog.
  • Shape/image/script/text import does not require specific folder name inside (but still preffers it when exists)
  • Removed:
  • "Restore control flow" deobfuscation level as it was the same as "Remove traps"

New in JPEXS Free Flash Decompiler 18.0.0 (Dec 19, 2022)

  • Added:
  • #1898 Keyboard shortcut to remove tags (DEL, SHIFT+DEL)
  • #1511, #1765 Quick search tree (Ctrl+F) for everything, not just AS3 classes
  • Quick search (Ctrl+F) for tag list view
  • #1884 Memory search - show size and adress in hex, show only aligned to N bytes
  • AS3 - "internal" keyword support
  • ProductInfo tag information display
  • DebugId tag proper display and editation
  • #1564, #1676, #1697, #1893 Display of DefineVideoStream tags with VLC player
  • List of treenode subitems on otherwise empty panel (with 32x32 icons)
  • DefineVideoStream codecId and videoFlagsDeblocking handled as enums in raw editation
  • Option to mute frame sounds
  • Experimental option to fix conflation artifacts in antialising (slow)
  • Option to disable autoplay of sounds (DefineSound)
  • #1181 Remembering choice of loading assets via importassets tag
  • #1900 Free transform whole sprites
  • Show axis as dashed line in Free transform of sprites
  • #1900 Transformation panel with flip/move/scale/rotate/skew/matrix options
  • #1900 Move object around with arrow keys (in transform mode)
  • Alt + click selects PlaceObjectTag under cursor
  • #1901 Double click tree node to start edit (can be enabled in settings)
  • Info about editation in status bar
  • AS3 P-code keyword "Unknown(N)", where N is index. For constants out of bounds. (mostly in dead code)
  • AS3 P-code - Editing methods without body (interfaces / native methods)
  • Fixed:
  • #1897 Close menu button without selecting specific item
  • Reading UI32 values
  • Parsing obfuscated namespaces with hash character "#"
  • Tag dependency checking
  • #1884 Memory search - Logged exception when cannot get page range
  • #1884 Memory search - Exception on sorting by pid
  • #1006 AS3 - Warning - Function value used where type Boolean was expected
  • AS3 - Resolving types on static protected namespaced properties
  • Hiding selection after raw editation save
  • Proper disabling switching items or other actions on editation
  • Raw editor item count and edit display
  • Warnings about invalid reflective access in color dialog on Java 9+
  • Folder preview tag names have indices when multiple with same name
  • ShapeImporter fillstyles shapenum
  • Reload button disabled after saving new file
  • PlaceObject tag - do not display export name twice
  • Loading nested characters when Importassets tag used
  • Hide various actions for imported tags
  • Clone tag
  • Hide freetransform button in readonly mode
  • Maintain export name/class on imported tags
  • Classnames in PlaceObject
  • #1828 AS1/2 deobfuscation removing variable declarations
  • Loaded SWFs using "Open loaded during play" feature have short filenames
  • #1796 Exception on closing multiple SWFs
  • AS3 Deobfuscation causing invalid jump offsets for files with constant indices out of bounds
  • AS3 - "native" modifier only for methods with EXPLICIT flag
  • AS3 - AS3 builtin namespace visibility
  • Changed:
  • Quick search needs minimum of 3 characters
  • AS1/2 deobfuscation - removing obfuscated declarations is now optional (default: off)
  • AS3 - order of modifiers: final, override, access, static, native

New in JPEXS Free Flash Decompiler 17.0.4 (Dec 2, 2022)

  • Fixed:
  • #1888 Casts for missing types, cast handling for script local classes
  • #1895 Handling of unstructured switch
  • #1896 NullPointer during deobfuscation

New in JPEXS Free Flash Decompiler 17.0.3 (Dec 1, 2022)

  • Added:
  • Translator tool for easier localization
  • AS3 improved goto declaration for properties and methods
  • playerglobal.swc and airglobal.swf now part of FFDec bundle
  • Fixed:
  • #1769 AS3 - Missing some body trait variable declaration
  • #1769, #1888 AS3 - Missing casts like int()
  • #1890 AS3 - Chained assignments in some special cases
  • #1810 AS3 Direct editation - XML attribute handling
  • #1810 AS3 Direct editation - Calls inside submethods using this
  • #1891 AS3 - duplicate variable declaration in some cases
  • All SWF classes inside DoABC tags in the taglist view
  • Exception on package selection inside DoABC tag on taglist view
  • #1892 AS3 - Package internal custom namespaces
  • Unpin all context menu not clearing pins properly
  • AS3 - RegExp escaping
  • AS3 - Avoid Error Implicit coercion of a value of type XXX to an unrelated type YYY
  • AS3 - XML - get descendants operator parenthesis
  • Switch decompilation in some corner cases
  • #1894 Switches vs loops decompilation (now with two passes)
  • #1894 AS3 - XML filters in some corner cases
  • #1887 AS3 - strict equals operator decompilation

New in JPEXS Free Flash Decompiler 17.0.2 (Nov 27, 2022)

  • Fixed:
  • #1882 Close button on the menu toolbar

New in JPEXS Free Flash Decompiler 17.0.1 (Nov 27, 2022)

  • Added:
  • PR119 Option to set scale factor in advanced settings (Set it to 2.0 on Mac retina displays)
  • Fixed:
  • #1880 JPEG Fixer
  • Close action from menu not available on bundles (zip, etc...)
  • #1881 Wrong locale reference for invalid tag order
  • New file action
  • Moving tags to frames

New in JPEXS Free Flash Decompiler 17.0.0 (Nov 27, 2022)

  • Added:
  • #1870 AS3 Adding new class - Target DoABC tag or position can be selected to prevent Error 1014
  • #1871 Toogle buttons for disabling subsprite animation, display preview of sprites/frames
  • #1875 Remove no longer accessed items from cache after certain amount of time
  • #1280 AS3 Direct editation of traits with the same name
  • #1743 GFX - Adding DefineExternalImage2 and DefineSubImage tags
  • #1822, #1803 AS3 direct editation - optional using AIR (airglobal.swc) to compile
  • #1501 Bulk import shapes
  • #1680 Pinning items
  • Indices in brackets for items with same name (like two subsequent DoAction tags)
  • Flattened ActionScript packages (one row per package instead package tree), can be turned off in settings
  • #1820 Opening standalone ABC files (*.abc)
  • Classes tree inside DoABC tags in taglist view
  • Export ABC data from DoABC tags
  • Fixed:
  • #1869 Replace references now replaces all references, not just PlaceObject
  • Handle StartSound tag as CharacterIdTag
  • Clearing shape export cache on changes
  • Preview of PlaceObject and frames on hex dump view
  • AS3 Direct editation - Top level classes do not use ":" in their namespace names
  • AS3 Direct editation - Using "/" separator for method names
  • Folder preview resizing (scrollbar too long)
  • #1872 Removing PlaceObject/RemoveObject with no characterid with Remove character action
  • #1692 Resolving use namespace
  • #1692 Properly distinguish obfuscated names vs namespace suffixes and attributes
  • #1757 Binary search - SWF files need to be sorted by file position
  • #1803 AS3 Direct editation - Colliding catch name with other variable names / arguments
  • AS3 Direct editation - slow property resolving (Now up to 10 times faster compilation)
  • #1875 Garbage collect SWF and its caches after closing it
  • #1807 Proper parenthesis around call inside another call
  • #1840 AS3 - Allow to compile object literal keys with nonstring/numbers in obfuscated code
  • #1840 AS3 Direct editation - Type mismatched for a trait
  • #1840 Proper if..continue..break handling
  • #1877 Recalculate dependent characters and frames on removing / editing item
  • DefineShape4 SVG import NullPointerException
  • List of objects under cursor and coordinates not showing
  • ConcurrentModificationException in getCharacters on exit
  • Header of display panel not visible on certain color schemes
  • Move tag to action did not remove original tag
  • Show in tag list from tag scripts
  • Move/Copy tag to action on tag scripts
  • #1879 False tag order error with SoundStreamHead
  • Error messages during SWF/ABC reading have correct error icon and title, are translatable
  • Changed:
  • GFX - DefineExternalImage2 no longer handled as character
  • Raw editor does not show tag name in the tree (it's now in the new pinnable head)
  • DoInitAction is not shown in resources/sprites section, only in scripts
  • ActionScript packages are by default flattened (can be turned off in settings)

New in JPEXS Free Flash Decompiler 16.3.1 (Nov 15, 2022)

  • Fixed:
  • #1867 AS3 - §§hasnext, §§nextvalue, §§nextname in some nonstandard compiled SWFs
  • #1868 Raw editation NullPointerException

New in JPEXS Free Flash Decompiler 16.3.0 (Nov 14, 2022)

  • Added:
  • Allowed copy/cut tags to clipboard across multiple SWFs
  • Keyboard shortcuts for tag clipboard operations
  • Hilight clipboard panel on copy/cut action for a few seconds
  • Drag and drop to move/copy tags in the tag list view (Can be disabled in settings)
  • Setting for enabling placing Define tags into DefineSprite
  • Icons for tags in replace character dialog
  • Move tag with dependencies
  • Copy/Move tag operation has select position dialog
  • Select position dialog has target file in its title
  • #1649 Moving SWF files (and bundles) up and down (comtext menuitem + ALT up/down shortcut)
  • Moving tags up and down in the taglist view (context menuitem + ALT up/down shortcut)
  • #1701 Setting charset for SWF files with version 5 or lower (GUI, commandline)
  • #1864 Commandline: Allow to set special value "/dev/stdin" for input files to read from stdin (even on Windows)
  • Show button records in the tree, preview them
  • Show in Hex dump for BUTTONCONDACTION, BUTTONRECORD, CLIPACTIONRECORD
  • Alpha and Erase blend modes support
  • Raw editor - Edit blend modes as enum
  • Search in the advanced settings
  • Fixed:
  • Exception when bundle selected
  • File path in window title for SWFs inside DefineBinaryData
  • #1863 Export to PDF - cannot read fonts with long CMAP
  • Go to document class when switched to tag list view
  • Copy/Move with dependencies order of tags
  • #1865 ConcurrentModificationException on SWF close
  • NullPointerException on expanding needed/dependent characters on basic tag info
  • Copy/Move with dependencies should copy mapped tags too
  • Recalculating dependencies in the loop (now only on change)
  • Dependencies handling
  • Raw editing of DefineFontInfo/DefineFont2-3, KERNINGRECORD - proper switching wide codes
  • Storing SWF configuration for files inside bundles and/or binarydata
  • #1846 blend modes with alpha
  • Raw editor does not select item in enum list
  • Sound not played on frames
  • #1678 Miter clip join - can be enabled in Settings
  • Html label links visibility
  • Changed:
  • Full path inside bundle is displayed as SWF name instead simple name

New in JPEXS Free Flash Decompiler 16.2.0 (Nov 9, 2022)

  • Added:
  • #1414 Cancelling in-progress exportation
  • #1755 Copy tags to tag clipboard and paste them elsewhere
  • #1460 Bulk importing images
  • Bulk importing scripts/text/images added to SWF context menu
  • #1465 Configuration option to disable SWF preview autoplay
  • Setting for disabling expanding first level of tree nodes on SWF load
  • Fixed:
  • FLA export printing xxx string on exporting character with id 320
  • Copy to with dependencies does not refresh timeline
  • Copy to with dependencies does not set the timelined, that can result to missing dependencies (red tags in the tree)
  • Double warning/error when copy to / move to and same character id already exists
  • #1862, #1735 Exporting selection to subfolders by SWFname when multiple SWFs selected
  • Java code export indentation
  • Java code does not export tags
  • On new SWF loading, do not expand all other SWFs nodes, only this one

New in JPEXS Free Flash Decompiler 16.1.0 (Nov 7, 2022)

  • Added:
  • #1459, #1832, #1849 AS1/2 direct editation - Error dialog when saved value (UI16, SI16, ...) exceeds its limit and this code cannot be saved.
  • Attach tag menu (Like DefineScaling grid to DefineSprite, etc.)
  • Better tag error handling - these tags now got error icon
  • Show in Hex dump command from other views for tags
  • Show in Taglist command from dump view for tags
  • Create new empty SWF file
  • Checking missing needed character tags and their proper position (Marking them as red - with tooltip)
  • #1432 Save as EXE from commandline
  • #1232 Needed/dependent characters list in basic tag info can be expanded to show tag names
  • Fixed:
  • Flash viewer - subtract blend mode
  • #1712, #1857, #1455 JPEG images errors fixer
  • Ignore missing font on DefineEditText
  • GFX: Drawing missing DefineExternalImage/2, DefineSubImage as red instead of throwing exception
  • GFX: DefineExternalImage2 properly saving characterId
  • Hex view refreshing after selecting Unknown tag
  • #1818, #1727, #1666 GFX: Importing XML
  • GFX: Correct refreshing image when raw editing DefineExternalImage/2, DefineSubImage
  • GFX: DefineExternalImage/2, DefineSubImage disallow not working replace button in favor of raw editing
  • #1795 AS3 P-code - optional (default parameter values) saving
  • #1785 AS1/2 try..catch block in for..in
  • #1770 Links in basictag info (like needed/dependent characters) were barely visible on most themes
  • Show in Resource command from Hex dump not working for tags inside DefineSprite
  • File did not appear modified when only header was modified
  • Copy / Move to tag tree refreshing
  • Preview of PlaceObject and ShowFrame in the Dump view
  • FileAttributes tag exception in the Dump view
  • Adding new frames did not set correct timelined to ShowFrame
  • Computing dependent characters inside DefineSprite
  • Changed:
  • #1455 All tag types are now allowed inside DefineSprite
  • Removed:
  • Auto fixing character tags order based on dependencies during saving

New in JPEXS Free Flash Decompiler 16.0.4 (Nov 4, 2022)

  • Fixed:
  • #1860 FLA export - EmptyStackException during exporting MorphShape
  • #1782 FLA export - exporting from SWF files inside bundles (like binarysearch)
  • Expand correct tree on SWF load
  • #1679 FLA export - MorphShapes (shape tween)
  • #1860, #1732, #1837 FLA export - AS3 - missing framescripts on the timeline
  • Flash viewer - dropshadow filter hideobject(compositeSource) parameter

New in JPEXS Free Flash Decompiler 16.0.2 (Nov 2, 2022)

  • Added:
  • Copy/move tag to for SWFs inside bundles and/or DefineBinaryData
  • Replace button under shape and DefineSound display (previously, only context menu allowed that)
  • Fixed:
  • SWF Add tag before/after menuitem
  • Context menu on bundles (ZIP, SWC, binarysearch, etc...)
  • Reloading SWF inside DefineBinaryData
  • Working with byte ranges - caused problems when cloning tags
  • All "mapped" tags have character id in parenthesis in the tag tree
  • Raw editor now checks whether field value can be placed inside this kind of tag
  • Refreshing parent tags and/or timelines on raw editor save
  • Items could not be edited on taglist view (for example raw edit)
  • Changed:
  • Do not show export name (class) in DoInitAction in Tag list view instead of tag name

New in JPEXS Free Flash Decompiler 16.0.1 (Nov 1, 2022)

  • Added:
  • Allow add tag after header context menu
  • DefineScalingGrid has icon
  • Adding tag "inside" allows setting character id to original when possible
  • Fixed:
  • Do not show option to Show in taglist on resource view folders
  • Disallow add tag before header context menu
  • Context menu on tags mapped to other characters like DefineScalingGrid
  • Add tag before/after for frame selection position
  • Add tag (before/after/inside) refactored to more meaningful menus
  • Changed:
  • Add tag renamed to Add tag inside
  • Clone tag menuitem renamed to just Clone as it clones both tags and frames

New in JPEXS Free Flash Decompiler 16.0.0 (Oct 31, 2022)

  • Added:
  • Replace characters references
  • Replace commandline action allows to load replacements list from a textfile
  • SymbolClass export from commandline
  • data-characterId and data-characterName tags to SVG export
  • #1731 Image viewer zoom support
  • Cloning of tags and frames
  • Changing tag position
  • Tag list view
  • Inserting new tags before and after selection
  • #1825, #1737 Adding new frames
  • Context menu icons
  • Icon of tag in raw editor
  • #1845 Show warning on opening file in Read only mode (binary search, unknown extensions, etc.)
  • #1845 Show error message on saving in Read only mode, "Save As" must be used
  • Fixed:
  • #1834 PlaceObject4 tags appear as Unresolved inside of DefineSprite
  • #1839 Sprite frames exported incorrectly and repeating
  • #1838 AS3 - Properly handling of long unsigned values, hex values, default uint values etc.
  • #1847 Shape viewer and PDF exporter - correct drawing of pure vertical/horizontal shapes (zero width/height)
  • Slow zooming/redrawing on action when SWF has low framerate
  • Correct debug info label position/content on the top of flash viewer to avoid unwanted initial scroll
  • #1829 Adding extra pixel to the width and height when rendering items (for example to AVI)
  • #1828 Zero scale layer matrices support
  • #1828 Incorrect stroke scaling (normal/none/vertical/horizontal)
  • #1771 DefineShape4 line filled using single color
  • Minimum stroke width should be 1 px
  • #1828 Closing path in shape strokes from last moveTo only
  • Shape not clipped when clip area ouside of view
  • Sound tag player now uses less memory / threads - does not use Clip sound class
  • Freetransform tool dragging not always started on mousedown
  • #1695 Freetransform tool vs zooming
  • #1752 Freetransform tool on sprites with offset
  • #1711 DefineFont2-3 advance values need to be handled as unsigned (UI16)
  • Leading of the font can be set to negative value
  • Reset configuration button in advanced settings not working
  • Changed:
  • AS3 integer values are internally (e.g. in the lib) handled as java int type instead of long.

New in JPEXS Free Flash Decompiler 15.1.1 (Jul 5, 2022)

  • Added:
  • Support for loading external images in DefineExternalImage2, DefineSubImage
  • Changed:
  • Updated pt_BR translation
  • XML import/export uses less memory
  • Removed:
  • Auto downloading playerglobal.swf in the installer
  • Fixed:
  • No longer working link to adobe dev downloads changed to its web-archived version

New in JPEXS Free Flash Decompiler 15.1.0 (Feb 20, 2022)

  • Added:
  • Display object depth in flash panel
  • Show imported files on script import, able to cancel import
  • #270 AS3 show progress on deofuscating p-code
  • #1718 Show progress on injecting debug info / SWD generation (before Debugging)
  • Changed:
  • #1801 - Flex SDK links to Apache Flex
  • Fixed:
  • #1761 AS3 - try..finally inside another structure like if
  • #1762 AS call on integer numbers parenthesis
  • #1762 AS3 - Auto adding returnvoid/return undefined
  • #1762 AS - switch detection (mostcommon pathpart)
  • #1763 AS3 - initialization of activation object in some cases
  • AS3 - direct editation - arguments object on method with activation
  • AS3 - direct editation - bit not
  • AS3 - direct editation - call on local register
  • AS3 - direct editation - resolve properties and local regs before types
  • AS3 - direct editation - call on index
  • Incorrect position in Flash Player preview and SWF export
  • AS1/2 actioncontainers (like try) inside ifs
  • AS1/2 switch detection
  • #1766 AS3 - direct editation - namespaces on global level without leading colon
  • #1763 AS3 - function with activation - param assignment is not a declaration
  • AS3 - insert debug instruction to mark register names even with activation
  • AS3 - debugging in inner functions
  • AS1/2 - debugger - rewinding playback to apply breakpoints
  • #1773 - Auto set flagWideCodes on FontInfo wide character adding
  • #1769 - Do not mark getter+setter as colliding (#xxx suffix)
  • #1801 - Flex SDK not required on commandline when Flex compilation is disabled
  • Multiname - performance issues

New in JPEXS Free Flash Decompiler 15.0.0 (Dec 2, 2021)

  • Added:
  • Frame dependencies
  • Changed:
  • AS1/2 direct editation no longer marked as experimental
  • Fixed:
  • AS1/2 - switch with getvariable decompilation
  • AS1/2 - call action parameters as string
  • AS1/2 - direct editation - use actionadd instead of add2 on swfver < 5
  • AS1/2 - tellTarget when single
  • AS1/2 - use slash syntax in get/setvariable only in eval/set
  • AS1/2 - get/setProperty when propertyindex is string
  • DefineEditText - ampersand in link href
  • AS1/2 - cannot use globalfunc/const variable names
  • AS2 - class detection when no constructor found
  • AS1/2 - subtract precedence
  • AS2 - getters and setters decompilation and editing
  • AS1/2 - definefunction2 suppresssuper parameter
  • New version dialog error when no main window available
  • AS1/2 direct editation - commands as expressions
  • AS1/2 direct editation - delete operator on anything
  • AS2 - class detection of top level classes
  • AS2 - class detection - warning only if propertyname does not match getter/setter
  • AS2 - some minor cases in class detection
  • AS2 - class detection - ignore standalone directvalues
  • AS1/2 - obfuscated name in forin cannot use eval
  • AS1/2 - Ternar visit (can cause invalid reg declarations)
  • AS1/2 - typeof precedence / parenthesis
  • AS1/2 - switch detection
  • AS1/2 - nested tellTarget
  • AS1/2 - switch with nontrivial expressions like and/or,ternar (second pass)
  • AS1/2 - ifFrameLoaded with nontrivial items inside
  • AS1/2 - direct editation - (mb)length is expressioncommand, not a command
  • AS1/2 - get/set top level properties
  • AS1/2 - properties postincrement
  • AS1/2 - direct editation - allow call on numbers, boolean, etc.
  • AS1/2 - direct editation - try..finally without catch clause
  • AS1/2 - GotoFrame2 - scene bias is first
  • AS1/2 - direct editation - gotoAndPlay/Stop with scenebias
  • AS1/2 - parenthesis around callfunction
  • AS1/2 - deobfuscate function parameter names in registers
  • AS1/2 - direct editation - do..while
  • AS1/2 - newmethod proper brackets
  • AS1/2 - class detection with ternars
  • AS1/2 - empty tellTarget
  • AS1/2 - deobfuscate object literal names
  • AS1/2 - spacing in with statement
  • Playercontrols frame display incorrect frame
  • AS1/2 - direct editation - empty parenthesis nullpointer
  • AS1/2 - delete on nonmember
  • AS1/2 - direct editation - Infinity, NaN can be used as identifiers, are normal variables
  • AS2 - obfuscated class attribute names
  • AS1/2 - newobject deobfuscated name
  • AS2 - obfuscated extends, implements
  • AS1/2 - chained assignments with obfuscated/slash variables
  • AS - direct editation - long integer values
  • AS1/2 - on keypress key escaping
  • AS1/2 - stop/play/etc. can be used in expressions, pushing undefined
  • AS1/2 - startDrag constaint
  • AS1/2 - gotoAndStop/play with simple label compiled as gotolabel

New in JPEXS Free Flash Decompiler 14.6.0 (Nov 23, 2021)

  • Added:
  • Information message before importing scripts, text, XML, Symbol-Class
  • Fixed:
  • Japanese in english locales for Gotoaddress, addclass dialog
  • AS1/2 DefineFunction cleaner
  • AS1/2 direct editation - postincrement/decrement
  • Reload menu disabled when no SWF selected
  • AS2 - Do not detect classes inside functions
  • AS1/2 - Slash syntax colon vs ternar operator collision
  • AS1/2 - Allow nonstandard identifiers in object literal
  • AS1/2 - Allow globalfunc names as variable identifiers
  • AS1/2 - Registers in for..in clause, proper define
  • AS1/2 - loops and switch break/continue vs definefunction
  • AS1/2 - callmethod on register instead of callfunction on var
  • AS1/2 - delete operator correct localreg names
  • AS1/2 - temporary registers handling

New in JPEXS Free Flash Decompiler 14.5.2 (Nov 21, 2021)

  • Fixed:
  • AS1/2 handle declaration of registers in certain cases
  • AS1/2 setProperty, getProperty handling
  • #1750 Application won't start when cannot access font file
  • AS2 direct editation of classes - missing _global prefix

New in JPEXS Free Flash Decompiler 14.5.1 (Nov 21, 2021)

  • Fixed:
  • AS 1/2 - do not use eval function on obfuscated increment/decrement
  • AS 1/2 direct editation - newline as "n", not "r"
  • AS 1/2 allow various nonstandard names for definelocal
  • AS 1/2 use DefineLocal in function instead of registers when eval, set is used
  • AS 1/2 direct editation - delete operator parenthesis
  • AS 1/2 direct editation - call function on eval
  • AS 1/2 export selection of scripts in buttons, classes and similar

New in JPEXS Free Flash Decompiler 14.5.0 (Nov 19, 2021)

  • Added:
  • SoundStreamHead has associated sprite id in its name in the tagtree
  • #1485 Improved skins support, night mode
  • #1681 AS3 - context menu for adding classes on packages
  • GFX: Support for loading external images
  • Updated Japanese translation
  • Try loading .gfx files if .swf failed to load for imports and similar
  • #1744 SVG shape import from commandline
  • #1496 repeat escape sequence {xx}C to avoid long same char strings/names
  • Fixed:
  • #1687 Slow speed of cyclic tags detection
  • CopyStream bug for copies smaller than the buffer size
  • #1748 Wrong matching of DefineEditText fonts for rendering
  • #1748 Line height - Descent/ascent in multiline DefineEditText
  • Editation of font descent colliding with leading
  • #1741 AS1/2 direct editation - new String constructor call
  • #1726 Decompiling AS - missing break when on false branch vs continue on true
  • AS3 jumps deobfuscator
  • #1699 AS1/2 detection of unitialized vars stuck
  • #1686 AS1/2 decompilation and editation of nested tellTarget
  • #1685 Generic tag editor - removing multiple items at once vs single item
  • #1684 Internal viewer - animated subsprites

New in JPEXS Free Flash Decompiler 14.4.0 (Apr 5, 2021)

  • Added:
  • #1015, #1466, #1513 Better error messages during saving, display message on out of memory
  • #1657 Option to disable adding second quote/bracket/parenthesis
  • Option to automatically show error dialog on every error
  • #1676 View video tags in external flash projector
  • Fixed:
  • PDF export - NullPointer when font of text is missing
  • PDF export - Text position on font change
  • Writing DefineFont2/3 ascent/descent as SI16 - it's UI16
  • #1660 Empty thumbnail view on remove item
  • #1669 FILLSTYLE color handling in DefineShape3/4
  • #1668 Not removing SymbolClass/ExportAssets entry on character remove
  • #1670 Parent component/window of dialogs not properly set
  • AS decompilation - Gotos handling vs and/or
  • AS decompilation - certain combinations of ifs and switch
  • AS3 jump deobfuscator - fix for try..catch clauses
  • #1669 DefineBitsJPEG3/4 alpha premultiplied
  • #1671 JPEG images display when not CMYK
  • Generic tag editor - remove more items at once
  • #1669 Flash viewer - Smoothed vs non-smoothed bitmaps
  • PDF export - Smoothed bitmaps
  • Flash viewer - slow on larger zooms (now only diplayed rect is rendered)
  • Flash viewer - scaling grid - ignore nonshapes when scaling
  • #1672 Raw editor - digits grouping causing incorrect cursor movement
  • Rename invalid identifiers renames identifiers with a dollar sign
  • #1676 Messages on movie tags when Flash Player ActiveX not available
  • #1677 DefineFont2/3 - missing codeTableOffset if numGlyphs is zero and font has layout
  • AS decompilation - §§push before loop
  • #1678 Removing AS3 class does not correctly clear cache
  • Removed:
  • #1678 Flash viewer - miter with clip support removed as it was not working correctly

New in JPEXS Free Flash Decompiler 14.3.1 (Mar 26, 2021)

  • Fixed:
  • "protected", "const", "namespace", "package" are not reserved keywords in AS1/2
  • Not counting newlines in comments
  • #1665 Export selection not working for AS1/2 scripts other than frame scripts

New in JPEXS Free Flash Decompiler 14.2.1 (Mar 15, 2021)

  • Added:
  • Placeobject display and edit - raw editor on right side
  • Fixed:
  • AS3 hilight and edit XML based on CData or comment only
  • #1435 Adding DefineScalingGrid to DefineSprite
  • #1488 SVG Export - EmptyStackException when clipping used
  • #1584 SVG Import - paths with horizontal/vertical lines and rotation
  • #1572 SVG Export - clipping must not use groups
  • #270 AS decompilation - switch in loop
  • #270 AS decompilation - loop followed by try
  • #270 AS decompilation - comma in ternar

New in JPEXS Free Flash Decompiler 14.2.0 (Mar 15, 2021)

  • Added:
  • #1645 Scrollbar to recent searches dropdown
  • #1639 Clearing search results for current file
  • #1371 Go to character id (Ctrl+G in tag tree)
  • #1156 FLA, SVG, Canvas Export - 9 slice scaling (DefineScalingGrid)
  • #843 Compound assignments (like +=) decompilation and direct editation
  • #1221 Separate icons for different actionscript objects (class/interface/frame/)
  • AS3 P-code - hilight and edit traits outside classes
  • #1585 SVG import - support for style tag (CSS)
  • #1585 SVG import - support for switch tag
  • #1122 SVG import - relative coordinates (tests coords-units-01-b, coords-units-02-b, pservers-grad-10-b, pservers-grad-12-b)
  • Preview in image file selection dialogs
  • #1541 XML Import/Export of Unknown tags
  • Unknown tags display and binary contents replace
  • Changed:
  • #1471 Import script menuitem renamed to Import scripts.
  • Fixed:
  • Exception when switching from nonribbon interface to ribbon
  • #1396, #1254 FLA Export - AS3 frame scripts
  • FLA Export - mutliple FrameLabel layers
  • #1636 Nullpointer exception on empty editorpane
  • #1156 Rendering - 9 slice scaling (DefineScalingGrid) clipping
  • #1647 Copying to clipboard - Transparency support
  • Incorrect placeobject display (tag selection)
  • Generic tag saving problem - timelined exception
  • #1332 Flash viewer - Show directly added images when placeFlagHasImage is true on AS3 swfs
  • XML Import - not set SWF and Timelined internal values caused an exception on item display
  • #1636 Goto usage exception and incorrect trait position
  • #1648 Search - loaded search results mixed
  • #1650 Empty search results from history after reloading SWF file
  • #1651 FLA Export - mask layers
  • #1532 Rendering - clipping using transparent color

New in JPEXS Free Flash Decompiler 14.1.0 (Mar 8, 2021)

  • Added:
  • AS3 goto definition on imports
  • Fixed:
  • #1336 AS3 direct editation - Regexp / character escaping
  • #1615 Turning off Checking for modifications disables SWF loading
  • #1100, #1123, #1516 AS1/2/3 direct editation - comma operator
  • #1618 Export to PDF selectable text escaping and text size
  • #1101 AS3 direct editation - handling imported vars
  • #1169 AS1/2 direct editation - getmember after new operator
  • #1338, #1480 AS3 direct editation - Vector in combination with activation
  • AS3 decompilation - do not show setslot on activation when has same name as method parameter
  • #1450 AS3 direct editation - handling types from same package
  • AS3 goto definition for types in another ABC tag
  • AS3 goto definition for obfuscated names
  • AS3 direct editation - compilation of top level classes
  • #1494 AS1/2 Direct editation - GetURL not properly saved caused by case
  • AS1/2 Direct editation - functions case sensitivity
  • Changed:
  • #1616 Close SWF menuitem is last in the context menu
  • #1620 Search results - Using list component instead of tree when searching in single SWF

New in JPEXS Free Flash Decompiler 14.0.1 (Feb 28, 2021)

  • Added:
  • AS3 goto definition on imports
  • Fixed:
  • #1336 AS3 direct editation - Regexp / character escaping
  • #1615 Turning off Checking for modifications disables SWF loading
  • #1100, #1123, #1516 AS1/2/3 direct editation - comma operator
  • #1618 Export to PDF selectable text escaping and text size
  • #1101 AS3 direct editation - handling imported vars
  • #1169 AS1/2 direct editation - getmember after new operator
  • #1338, #1480 AS3 direct editation - Vector in combination with activation
  • AS3 decompilation - do not show setslot on activation when has same name as method parameter
  • #1450 AS3 direct editation - handling types from same package
  • AS3 goto definition for types in another ABC tag
  • AS3 goto definition for obfuscated names
  • AS3 direct editation - compilation of top level classes
  • #1494 AS1/2 Direct editation - GetURL not properly saved caused by case
  • AS1/2 Direct editation - functions case sensitivity
  • Changed:
  • #1616 Close SWF menuitem is last in the context menu
  • #1620 Search results - Using list component instead of tree when searching in single SWF

New in JPEXS Free Flash Decompiler 14.0.0 (Feb 26, 2021)

  • Added:
  • #1202 Check for modifications outside FFDec and ask user to reload
  • #1155, #1602 AS3 remove trait button
  • #1260, #1438 AS1/2 direct editing on(xxx), onClipEvent(xxx) handlers
  • #1366, #1409, #1429, #1573, #1598 AS1/2/3 Add script/class (context menu on scripts folder)
  • Removing BUTTONCONDACTION, CLIPACTIONRECORD
  • Removing whole AS1/2 script folders (frame, DefineSprite, packages)
  • Removing AS3 scripts and whole packages
  • Japanese translation
  • #428, #583, #1373 Exporting PDFs with selectable text
  • Goto address dialog in Hex view (Ctrl+G or via context menu)
  • AS3 P-code editation checking all referenced labels exist
  • #1595 History of script search results per SWF
  • Ignore case and RegExp options displayed on search results dialog
  • #1611 Warning about initializers has do not show again checkbox
  • Scoped script text search and search across multiple SWFs
  • #1601 Option to hide AS3 docs panel and traitslist/constants panel
  • Fixed:
  • #1298 AS1/2 properly decompiled setProperty/getProperty
  • AS1/2 Direct editation mark line on error
  • Collapsing tag tree on SWF reload
  • #1339 AS1/2 direct editation - targetPath as an expression
  • #1467 AS1/2 direct editation - allow new Number call
  • #1489 AS1/2 direct editation - reversed negations
  • #1489 AS1/2 direct editation - for in loop
  • #1490, #1493 AS1/2 direct editation - cast op
  • AS1/2 cast op decompilation
  • Only last DoInitAction tag displayed
  • #1606 Run/Debug SWF that is embedded (has no file associated)
  • #1270, #1336 AS3 direct editation - unnecessary coerce in setproperty
  • AS3 direct editation - unary minus (negate) compiled as 0 - value
  • AS3 direct editation - using finally clause for continue and break
  • AS3 direct editation - popscope in catch on continue and break
  • #1159, #1608 Regexp syntax hilight when not a regexp (only division) again
  • Graphviz Graph not showing AS3 exception end
  • #1609 First frame missing in frame to PDF export
  • AS3 with statement decompilation
  • #1610 AS3 unnecessary adding namespaces
  • #1610 AS3 P-code editation - true/false/undefined/null has value_index same as value_kind
  • Ribbon stealing focus when pressing Alt (for example in editors)
  • Focused byte barely visible in hex view
  • AS3 P-code editation - only first try offset was saved when multiple try with same label
  • AS3 decompilation: try..catch..finally suborder when debugline info not present
  • AS3 decompilation: increment/decrement on properties
  • AS1/2 Goto search result not properly selecting line (delay)
  • ActiveX exceptions when FlashPlayer disabled in classic GUI
  • #1569 AS3 direct editation - incorrect slot names handling (IndexOutOfBounds)
  • #1153, #1347, #1400, #1552, #1553 Images export for some nonstandard JPEGs
  • Changed:
  • #1565, #1407, #1350 On BinaryData SWF save, parent SWF is saved
  • Mouseover / focused bytes in hexview displayed with border instead of background color change to improve readability
  • #692 Search results dialog Goto button does not close dialog

New in JPEXS Free Flash Decompiler 13.0.3 (Feb 12, 2021)

  • Added:
  • #1594 Option to disable AS3 P-code indentation, label on separate line
  • #1594 Option to use old style of getlocalx, setlocalx with underscore in AS3 P-code
  • #1597 Option to use old style lookupswitch in AS3 P-code
  • Fixed:
  • #1114 Script search results dialogs closing on swf close
  • #1159 Regexp syntax hilight when not a regexp (only division)
  • #1227 AS3 avoid recursion (stackoverflow) caused by newfunction instruction
  • #1360 Precedence of increment/decrement operations
  • #1407 NullPointer on Save as in BinaryData SWF subtree
  • #1596 Infinite loop when sorting traits according to dependencies
  • Cannot properly cancel script searching

New in JPEXS Free Flash Decompiler 13.0.2 (Feb 11, 2021)

  • Changed:
  • AS3 pcode - Use Undefined as default keyword for value kind
  • Fixed:
  • AS1/2 script export to single file maintains script order
  • #1088 ECMA Number to string conversion
  • AS3 getslot/setslot in certain situations
  • #1185 AS3 Incorrect imports in obfuscated files
  • #1186 Missing import when item is fully qualified
  • #1188 AS3 reorder traits if one slot/const references another

New in JPEXS Free Flash Decompiler 13.0.1 (Feb 10, 2021)

  • Fixed:
  • AS3 break loop in catch clause
  • AS3 inner functions scope (setslot/getslot)
  • AS3 p-code traits of bodys of inner methods
  • AS3 getslot/setslot, getglobalscope instruction

New in JPEXS Free Flash Decompiler 13.0.0 (Feb 9, 2021)

  • Added:
  • Graphviz graphs colorized
  • AS3: Show try graph heads in Graphviz distinguished
  • #341, #1379 AS3: Support for scripts not using kill instruction
  • AS3 method trait p-code indentation, (optional) instruction name padding
  • AS3 editation of method body traits (slot/const only)
  • Fixed:
  • Using new FFDec icon on Mac
  • AS3: get/set slot for global scope
  • AS3: Incorrect handling of strict equals operator in if vs switch resulting in §§pop
  • Better goto detection/for continue
  • Support for comma operator in switch case statements
  • Losing script tree focus on script selection (disallowed walking tree with keyboard up/down)
  • Proper window screen centering
  • Graph dialog proper window size
  • Graph dialog scroll speed increased
  • AS3: return in finally
  • AS3 docs not correctly displayed under p-code when metadata present
  • Improper initialization of ActiveX component when Flash not available causing FFDec not start
  • #1206 Switch with multiple default clauses
  • ASC2 §§push of function calls before returning from a method
  • Support for ASC2 and swftools try..catch..finally block
  • Dot parent operator not detected in some cases
  • Namespaces handling
  • Incorrectly colliding class names detection on script private classes
  • AS3 deobfuscator of registers parsing of exception targets
  • AS3 code with exception start/end not matching instruction boundary
  • AS3 deobfuscator in some cases
  • #349 AS3 - better handling of declarations
  • #735 AS3 - index out of bounds in deobfuscator
  • AS3 deobfuscator on &&, || operators
  • Merged continues in try..catch
  • AS3 method display in GUI when method name is null
  • #1195 this keyword in functions outside class
  • AS3 p-code parser adding ;trait comment to last instruction
  • Changed:
  • AS3 test methods separated to classes
  • AS3 p-code more RAbcDasm like (WARNING: Older versions cannot read new code!):
  • parenthesis after True/False/Undefined/Null trait kinds
  • end after try
  • commas in parameters list
  • lookupswitch caseoffsets in brackets
  • get/setlocal_x renamed to get/setlocalx
  • QName casing changed from Qname
  • Void keyword instead of Undefined for optional parameters and slot/const values
  • Not displaying slot/const value when Void
  • Removed:
  • Code structure detection in Graphviz graphs as it was usually wrong

New in JPEXS Free Flash Decompiler 12.0.1 (Jan 15, 2021)

  • Fixed:
  • Critical fix - application GUI did not start on OSes without flashplayer (Linux, MacOS, even Windows)

New in JPEXS Free Flash Decompiler 12.0.0 (Jan 13, 2021)

  • Added:
  • Java 9+ support
  • Chinese translation updated
  • Enable bulk replace for single typed tags
  • Option to use logging configuration file (ffdec home / logging.properties)
  • Removed:
  • Due to Java9+ limited support of reflection, following features were removed:
  • Automatic detection of installed fonts changes (on font editation) - FFDec needs to be restarted to font changes to take effect
  • Using kerning pairs of installed fonts
  • Support for installing java in FFDec windows installer
  • Changed:
  • Making internal flash viewer a default viewer + move FP option switch to Advanced settings / others
  • Increased scrolling speed in folder preview
  • Changed /bin/bash to /usr/bin/env bash
  • Building does not require Naashorn - uses Beanshell instead
  • Use object.§§slot[index] syntax instead of /* UnknownSlot */ comment when slot cannot be determined (AS3)
  • Show §§findproperty when neccessary (AS3)
  • Fixed:
  • Scaling - Distorted images/canvas on Hi-dpi monitors for Java 9 and later
  • Radial gradients focal point reading/writing
  • Correct AS/P-code matching in editor for AS3 after using deobfuscation
  • Correct line matching in debugger of AS3 after using deobfuscation
  • Concurrent access while in debugger
  • Correct body index for script initializer in P-code debugging
  • #1550 TTF export - correctly handle duplicate unicode codes
  • #1548 correctly handle empty generated file names
  • #1379 AS3 - better handling local registers postincrement/decrement
  • Better unresolved if handling
  • Escaping in P-code Graphviz exporter (Problems with graphs containing backslash strings)

New in JPEXS Free Flash Decompiler 11.3.0 (Aug 23, 2020)

  • Added:
  • Possibility to open SWF files using open on Mac
  • Updated turkish translation
  • Fixed:
  • #1500 Maximum SWF version constant increased, which is used by the memory search and also in the header editor
  • #1457 AS3 switch without lookupswitch ins detection
  • #1457 pushing on stack before exit item (return/throw)
  • #1503 NullPointer Exception on commandline FLA export
  • AS3 direct editation - invalid generation of lookupswitch
  • AS3 direct editation - fix access to protected members with super
  • #1529 commandline selection of tag ids now applies to sprites and buttons
  • Changed:
  • #1378 Transparent background on PNG/GIF sprite export
  • SWF background on shape BMP export

New in JPEXS Free Flash Decompiler 11.2.0 (Dec 6, 2018)

  • Added:
  • Warning panel on scripts containing §§ instructions (Tip for Settings/Automatic deobfuscation)
  • Export AS1/2 P-code as GraphViz
  • Display better Graph using GraphViz (Must be configured in Advanced settings / Path)
  • Copy AS1/2 Graph source (GraphViz) to clipboard - rightclick menu on graph
  • AS1 slash syntax support (decompilation, direct editation)
  • Setting of limit of executed instructions during AS1/2 deobfuscation
  • AS1/2 deobfuscation of empty stack pops
  • Changed:
  • AS1/2 Better unresolved constant handling - §§constant(xx) func instead of §§constantxx
  • AS1/2 Using eval, set functions on obfuscated names instead of §§ syntax
  • Default limit of maximum executed instructions during AS1/2 deobfuscation raised to 10000
  • Fixed:
  • Better continue in for handling
  • AS1/2 For in break detection with inner switch statement
  • AS1/2 Using temporary registers after for..in (causing incorrect chained assignments handling, etc.)
  • AS1/2 getProperty, setProperty handling
  • AS1/2 callmethod action arguments
  • Fixed §§push after continue - should be before (usually on obfuscated code)
  • AS1/2 Delete operator with nonIdentifier parameters (e.g. spaces or obfuscated)
  • DefineBits (with JPEGTables) tag export
  • No disabling autoOpenLoadedSWFs checkbox when ActiveX player not available (User can use Run button)
  • Displaying contents of local variables (AS3) while debugging
  • #1415 freezing on manually closing Flash player debug session
  • #1484 AS import error printout on commandline (NullPointer)

New in JPEXS Free Flash Decompiler 11.1.0 (Sep 4, 2018)

  • Added:
  • #1449 Turkish translation by Osman ÖZ
  • AS2 classes: maintain order of variables, and methods (place variables before methods)
  • AS1/2: displaying script path in the error log when jump to invalid address
  • AS1/2: Try..catch with Error types - decompilation and direct editation
  • AS1/2: Properly handling of Flash7 scripts exported to Flash5/6 - ActionDefineFunction local registers
  • Changed:
  • AS1/2 direct editation - generated constantpool is sorted according to ActionPush position
  • Fixed:
  • Accessing font list on demand - prevents loading X11 on systems without UI
  • Better AS2 class detection
  • AS1/2 break statement decompilation in for..in loops
  • AS2 direct editation - not generating Pop in class header ifs
  • AS1/2 deobfuscation - ActionRandom fixed for nonpositive numbers
  • AS1/2 switch statement detection - fixes of default section position
  • AS1/2: break on the end of for..in loop
  • AS1/2: Export selection dialog did not allow to select script export formats and/or export script at all
  • AS3 P-code - HAS_OPTIONAL flag in AVM2 code displayed twice
  • Turkish locale toLowerCase I problem fix - causing not loading main window at all
  • [#1456] jsyntaxpane (code display/editor) fixed for Java 9/10

New in JPEXS Free Flash Decompiler 11.0.0 (Jan 18, 2018)

  • Added:
  • #1240 AS search using multiple threads when parallel speedup is enabled
  • #1308 Search by all P-code files in AS3
  • #1333 Exporting sprites as swf files
  • #1365 Allow to configure all types of configuration settings from command line
  • #1369 Allow zoom in sprite (and button) export
  • Debug tooltips on hover
  • AS3 deobfuscation - removing push instructions immediately followed by pop
  • Changed:
  • Homepage is now on GitHub jindrapetrik/jpexs-decompiler instead of free-decompiler.com
  • Update checking now checks changes on GitHub releases
  • Removed:
  • Removed help us section
  • Removed changeslog from new version dialog
  • Fixed:
  • #1327 P-code editing: error message and syntax highlighting fixed when instruction name contains upper cased letter
  • #1343 AS 1/2 direct editation critical bug
  • #1348 Cannot properly export frame with cyrillic symbols to SVG
  • #1354 Various FLA export problem fixes
  • #1367 Raw edit conditional type fix.
  • #1401 SVG export: duplicate pattern IDs fixed
  • #1402 SVG export: certain font characters not exported properly fixed
  • #1430 AS 1/2 deobfuscation fixes
  • Opening loaded SWF files during run fixed
  • Not opening first script when clicked on app startup

New in JPEXS Free Flash Decompiler 10.0.0 (Jan 18, 2018)

  • Added:
  • 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
  • #1254 FLA export - detecting scripts on AS3 timeline
  • #907 FFDec Library JAR file has version inside it.
  • #1311, #1313 actionScript source font size
  • Display warning when library version and GUI version mismatch
  • Changelog file
  • #1308 Search by all P-code files (AS 1/2 only)
  • Changed:
  • #1189 AS3 - sort imports to have same order always
  • GUI: AS3 P-code header show actual trait type and method type
  • GUI: Script editing buttons now named "Edit ActionScript" and "Edit P-code"
  • Set advance values button has confirm dialog with information
  • #1274 Linux package no longer requires Oracle Java only
  • Library now packaged inside ZIP file
  • Fixed:
  • P-code docs formatting fix
  • Export dialog - handling sprite and SWF frames correctly
  • #1275 debugger - show local variables fixes
  • AS3 p-code editing - popup docs correctly displayed when label on line start
  • #1278 replacing DefineBits error
  • #1281 DefineFont 2/3 getting character advance value when replacing fix
  • Set advance values button - Do not set advance if the char cannot be displayed in source font
  • AS3 Goto declaration for single character names
  • Identifier renaming for top level classes
  • AS3 direct editation not correctly saving local register names
  • #1254 FLA export - placing AS3 classes to FLA directory instead of scripts dir
  • Mac OS X installer fix (.pkg)
  • #1289 AS1/2 direct editation - variables used in inner functions must not be stored in local registers
  • #1283 AS3 Unbounded Vector - Vector decompilation and direct editation fix
  • #1294 Font editation (DefineFont2/3) - correct switching of wide character codes
  • #1302 Callpropvoid instruction docblock not correct
  • #1309 recent files not getting updates
  • #1312 faster colliding usages finder
  • #1303 garbled text when exporting frame with text
  • #1314 user interface: button order
  • Internal viewer shows red image when bitmap fill is not available (see issue #1320)
  • #1323 Audio playback fails

New in JPEXS Free Flash Decompiler 7.1.2 (Dec 3, 2015)

  • Fixed:
  • AS3 debugger start halt fix
  • AS1/2 debugger fix on nondebug enabled SWFs
  • AS1/2 debugger fix for functions
  • Debug menu item enabled fix
  • AS3 local reg index fix
  • Advanced settings calendar
  • AVM2 instructions in hex view
  • Issue #1070 Incorrect switch decompilation
  • Issue #1098 Import XML fix

New in JPEXS Free Flash Decompiler 7.1.1 (Nov 25, 2015)

  • Fixed:
  • Critical debugger fix - widelines

New in JPEXS Free Flash Decompiler 7.1.0 (Nov 25, 2015)

  • New:
  • AS1/2 debugger
  • Starting debugger on demand
  • Breakpoint/IP marker on line beginning
  • Installer message about playerglobal is only warning now
  • Fixed:
  • Issue #1033, Issue #1083 AS3 deobfuscation issues
  • Issue #1091 AS 1/2 direct editation saving

New in JPEXS Free Flash Decompiler 7.0.1 (Nov 19, 2015)

  • Fixed:
  • Debugger: Adding breakpoint if script initializer not displayed

New in JPEXS Free Flash Decompiler 7.0.0 (Nov 19, 2015)

  • New:
  • AS3 Debugger - breakpoints, stepping, show variables
  • Better Configuration of flashplayer paths
  • Faster AS3 direct editation
  • Removed old "debugger" buttons
  • Removed search from browsers cache - inactual code
  • Fixed:
  • Many AS3 direct editation related bugs
  • Issue #1076 export fix

New in JPEXS Free Flash Decompiler 6.1.1 (Nov 19, 2015)

  • Fixed:
  • Deobfuscate AS3 metadata
  • Issue #1068 MorphShape with focal gradient fix, FLA XML export formatting fix
  • Issue #1063 AS3 direct edit - script initializer fix, generating method names
  • XML export/import fixes
  • Issue #1019 Namespace imports fix
  • AVM2 code execution fix
  • Issue #1016 AS3 direct editation fixes
  • Issue #1010 AS2 direct editation - internal and override is not a reserved word
  • Issue #1008 pushshort instruction diassembly
  • Issue #1004 this/super can be AS1/2 variable
  • Issue #933 AS3 allow numbers as object literal keys

New in JPEXS Free Flash Decompiler 6.1.0 (Oct 28, 2015)

  • New:
  • Open other loaded SWFs during playback (useful for loaders)
  • Export uncompressed data from dump tree
  • Faster syntax highlighting
  • Better AS1/2 deobfuscator
  • Issue #418 AS3 deobfuscator improved
  • Print performance statistics from commandline
  • Issue #1062 Editing/displaying script initializers
  • Enable debugging on SWF file (commandline)
  • Fixed:
  • AS call method fix (first parameter is "this")
  • Issue #1047 open all scripts folders
  • Issue #812 decompile fail
  • Issue #1056 deltaY missing when adding a new StraightEdgeRecord
  • Issue #1057 Editing as in editor results in package name moving
  • Issue #991 GUI export
  • Issue #689 Ignore Case not correctly toggled
  • Issue #1060 reversed and/or detection in some cases
  • Issue #1037 isXML call

New in JPEXS Free Flash Decompiler 6.0.2 (Sep 13, 2015)

  • New:
  • AS3: Display and direct edit trait Metadata
  • AS2 parser - add string to constant pool if there is not enough space
  • Deprecated commandline parameters removed
  • Allow to specify tag type on image or shape import
  • Convert image tags from commandline
  • Issue #489 Hex decode very large integers
  • Add new tags without show empty folders
  • Dependent characters in basic tag info
  • Issue #1007 replace bytearray in raw editing
  • Italian translation
  • Issue #1044 AS2 - order scripts by physical location, name by offset
  • Fixed:
  • JNA problems on some JDKs
  • Issue #947 Marklevels errors ignored 17a94b7
  • Issue #953 Mac application permission fix (maybe)
  • Issue #954 IndexOutOfBounds fix
  • Issue #950 AddTrait setting modified fix
  • Issue #945 AS1/2 directeditation fix - member named as global function
  • Issue #957 AS1/2 IndexOutOfBounds fix
  • Issue #956 Invalid jump offsets warning
  • Issue #968 Sprites export with wrong coloring
  • Issue #978 case sensitivity of filenames
  • Issue #955 AS2 decompilation problem
  • Image alpha fixes
  • Issue #966 Go to document class
  • Issue #991 scripts exporting
  • Issue #999 save as fla
  • Issue #1000 image export for malformed JPEG3 tags
  • Issue #1017 store alchemy opcodes with wrong order
  • Issue #1030 stack overflow fix

New in JPEXS Free Flash Decompiler 6.0.1 (Sep 13, 2015)

  • New:
  • Issue #944,Issue #991,Issue #939,Issue #942 AS3 deobfuscation improvements
  • Special §§ instructions marked as red
  • Issue #949 Replace alpha channel from commandline
  • AS3 deobfuscation from commandline
  • Option to ignore FlashCC/Alchemy packages
  • Fixed:
  • AS1/2 deobfuscation fixed
  • Issue #952 Not loading SWF without extension

New in JPEXS Free Flash Decompiler 6.0.0 (Sep 13, 2015)

  • New:
  • AS decompilation highly improved
  • Better &&, || handling
  • New AS3 deobfuscation method
  • Internal "preprocessor" §§ actions introduced - §§pop,§§push,...
  • Old AS1/2/3 deobfuscation method marked as deprecated (can be enabled back deep in the configuration)
  • Allow reload FFDec when no SWF is opened
  • Issue #858 Allow to set compression type in header
  • Issue #905 Show codec details for sound items
  • Better alchemy/DomainMemory instruction handling
  • Better obfuscated names handling
  • Issue #920 Export instance name to SVG
  • Issue #921 Export html DefineEditText to SVG
  • Open multiple files with drag and drop
  • Better "multi packs" handling (Alchemy)
  • SWF version 29 to flash player 18 mapping
  • Some old tags added, DoABCDefine renamed to DoABC2
  • ImportAssets2 sha1 field
  • Issue #924 Sprites to image from commandline
  • AS1/2 direct editation big numbers fix
  • Separated Sprite export settings
  • Allow to add FILTERs and SHAPERECORDs in generic tag editor
  • Enable close all menu when no swf is selected
  • Restore modified state even when something goes wrong
  • Fixed:
  • Many decompilation problems - EmptyStack exception, Maximum recursion level reached, etc.
  • Few menu issues
  • Issue #895 Correct handling CMYK JPEG
  • Issue #884 AS direct edit assignment
  • Issue #899 Show script after AS3 direct editation
  • Some AS1/2 parser problems
  • Issue #903 FLA export - fix for missing fontname, lastframe
  • Issue #855 AS3 direct edit - for..in variable declaration fix
  • Issue #850 Constant initialization for same multinames
  • Issue #832 AS3 direct edit - other ABCs resolving fix
  • Issue #904 Cannot export images
  • Issue #910 Missing instructions
  • Opening not existent files on restoring last session
  • Issue #922 Edit text leading
  • Put image before shape on shape replace
  • Issue #916 Replacing Shape corrupts SWF
  • JRE setup parameters fixed
  • Issue #938 Parallel speedup limit fix

New in JPEXS Free Flash Decompiler 5.3.0 (May 25, 2015)

  • NEW:
  • Classic (nonribbon) UI improved - has same items as Ribbon UI
  • Icons improvements
  • Disabling menu items when work in progress
  • Generic tag editor: improved table editing (import/export assets tags, etc.)
  • FIXED:
  • Issue #897 Classic UI fix

New in JPEXS Free Flash Decompiler 5.2.0 (May 22, 2015)

  • New:
  • Allow to copy/move multiple tags, and dependencies
  • Better gif exporter
  • Issue #842 For reconstruction if debug line info present
  • Issue #772: closing loading dialog now cancels the loading of the swf
  • Issue #762:export pcode with different extension
  • Issue #841 Loop control for sound preview
  • Issue #845 Import exported AS1/2 (DefineButton2&DefineSprite) button
  • Scrollbar added to fontpanel
  • SWF header editor
  • Configure what object types to export in exportdialog
  • Fixed:
  • CRITICAL: Update System Bug causing updates not working
  • Issue #862 AS3 asm: do not read beyond return/throw instructions
  • Issue #865, Issue #613: ribbon prefered width fix
  • Issue #868 export path fix, allow to export buttons
  • Issue #865 TagTree font size problem on high resolution screens
  • Issue #713,Issue #807 Installer for 4.0+ fails to access Adobe Website
  • Issue #728 Large fonts, Issue #857 add scroll on DefineFont3

New in JPEXS Free Flash Decompiler 5.1.0 (May 5, 2015)

  • New:
  • Allow to copy/move multiple tags, and dependencies
  • Better gif exporter
  • Issue #842 For reconstruction if debug line info present
  • Issue #772: closing loading dialog now cancels the loading of the swf
  • Issue #762:export pcode with different extension
  • Issue #841 Loop control for sound preview
  • Issue #845 Import exported AS1/2 (DefineButton2&DefineSprite) button
  • Scrollbar added to fontpanel
  • SWF header editor
  • Configure what object types to export in exportdialog
  • Fixed:
  • CRITICAL: Update System Bug causing updates not working
  • Issue #862 AS3 asm: do not read beyond return/throw instructions
  • Issue #865, Issue #613: ribbon prefered width fix
  • Issue #868 export path fix, allow to export buttons
  • Issue #865 TagTree font size problem on high resolution screens
  • Issue #713,Issue #807 Installer for 4.0+ fails to access Adobe Website
  • Issue #728 Large fonts, Issue #857 add scroll on DefineFont3

New in JPEXS Free Flash Decompiler 5.0.2 (Apr 20, 2015)

  • New:
  • Reopen last session
  • Fixed:
  • ffdec.sh file line endings fixed

New in JPEXS Free Flash Decompiler 5.0.1 (Apr 20, 2015)

  • Fixed:
  • Issue #860: Opening bundle (zip, swc, any binary file) files fixed

New in JPEXS Free Flash Decompiler 5.0.0 (Apr 18, 2015)

  • New:
  • Color skins
  • Default color skin altered
  • Issue #350 Allow only one running instance (Windows only, can be turned off)
  • Issue #824 Mac OS X package
  • Issue #809 Move left,right buttons for DefineTexts using translatex parameter
  • Issue #805 Editor mode for DefineTexts
  • SWFs in zip based bundles (SWC for example) can be modified & saved
  • Issue #825 Hotkeys for next/previous DefineText
  • Export/Import symbol classes/export asset tags
  • Performace improvements
  • More compact SWF-XML format
  • Frame export progress
  • Issue #737 Single file script export
  • Displaying changed AS3 scripts in GUI as bold
  • Marking changed parentnodes as bold too
  • Additional character info tags placed under character node
  • New icons for other tags (metadata,fileattributes,setbackground,place/remove)
  • Metadata tag editor
  • Fixed:
  • Issue #814 Exporting with scale problem
  • Issue #816 P-code not shown after class initializer trait selection
  • Issue #835 Static initializer improvements
  • AS3 direct editing - local register decrement fix
  • AS3 direct editing - maintain register order/names
  • Issue #836 AS1/2/3 Correct expression precedence handling
  • AS3 preincrement
  • Issue #848 Correct toggling text switches
  • Issue #817 AS1/2 for..in variable declaration
  • Issue #849 Attribute member
  • Issue #852 Ignore case for russian characters
  • Issue #837 AS3 try..finally without catch

New in JPEXS Free Flash Decompiler 4.1.1 (Feb 23, 2015)

  • New:
  • Java 8 now required
  • Export/Import XML added to ribbon menu
  • Few GUI enhancements
  • Undo tag changes context menu
  • Fixed:
  • Issue #811 export ActionScript

New in JPEXS Free Flash Decompiler 4.1.0 (Feb 19, 2015)

  • New:
  • XML export/import
  • performance improvements
  • confirmation dialogs added
  • Add support for non-standard ABC-compressed SWF file
  • Issue #745 Copy tag to another SWF
  • Issue #758 Zoom to fit is dynamic
  • Issue #803 Align text in DefineText
  • Fixed:
  • Issue #738 Frame export
  • Issue #742 Can't edit frames
  • Issue #747 Move tag to adds extra frame
  • Issue #749 Internal viewer Sprite fill color
  • Issue #752 Sound is not stopped
  • Issue #753 Reload swf
  • Issue #759 Decompilation § symbol
  • Issue #766 Can't extract all resources
  • Issue #768 Super calls not being correctly recognized
  • Issue #773 Scripts associated with ClipActions are not shown
  • Issue #776 Stop working after setting "number of threads" to 0
  • Issue #783 No OK box when edited script or text was saved
  • Issue #785 Text search. Remember last choise, Unicode case insensitive search
  • Issue #787 Search in AS bug (when navigating to searched results)
  • Issue #788 Add DefineCompactedFont Tag to gfx file
  • Issue #790 Impossible to change letters under a font
  • Issue #794 Font extraction fails sometimes
  • Issue #798 Close file streams after export, exporting progress
  • Issue #800 Unexpected deleted carrier return in DefineEditText
  • Build fix on Linux
  • Fis Startup Script for OpenJDK
  • Other minor fixes

New in JPEXS Free Flash Decompiler 4.0.5 (Jan 12, 2015)

  • New:
  • Escape control characters in strings, identifier names
  • Issue #676 import text error messages / logging enhancement
  • Issue #734 \xAB escapes, \uABCD escapes
  • Issue #687 AS3 - allowing p-code comments on separate line
  • Issue #709 Text Export to Single File with custom filename
  • Fixed:
  • Issue #732 Random freezing - JavactiveX library updated.
  • Issue #730 Not working without ActiveX fix on Windows
  • Issue #735 Automatic deobfuscation not correctly switched (required restart)

New in JPEXS Free Flash Decompiler 4.0.0 (Jan 12, 2015)

  • New:
  • Issue #677 Zoom level in export settings
  • internal viewer: linear/srgb gradients
  • zooming buttons for flashplayer/internal viewer
  • stroke scaling modes for canvas export
  • create snapshot button
  • better FlashPlayer integration using JavactiveX library
  • Issue #389 Selecting font face on import
  • Issue #701 Importing font from TTF file
  • Reorganized font panel
  • Issue #707 Debugger for logging messages
  • Issue #302 AS3: Better Ctrl+Click handling with underline, more declaration targets
  • Issue #685 Getting local register names from debug info can be disabled
  • Faster building tag tree
  • Faster timeline construction
  • Adding new tags
  • Issue #698 Allowing unicode letters in identifiers
  • Issue #710 Information about deobfuscation in error comments
  • Issue #711 Improved folder view - faster and with correct context menu
  • One EXE for 32/64 bit, uses percentage memory.
  • EXE SplashScreen
  • New Improved Windows Installer (NSIS) - can install Java and FlashPlayer, download playerglobal.swc
  • Config setting to load inner SWFs automatically
  • Replace shape with image
  • Fixed:
  • AS2 deobfuscation fixes
  • AS2 loops fix
  • Issue #681 Linux script fixes
  • AS2 constructor name fix
  • Issue #688 AS3 direct edit fixes
  • Issue #691 AS3 p-code reading/saving fix
  • AS3 direct edit -submethod name resolve fix
  • frames to html canvas fix
  • Issue #524 Mask layer not applied when nonempty script layer
  • Issue #663 AS3 imports fixes
  • Font export of dot character
  • Font panel Yes button fixed
  • Issue #702 GFX font reading fix
  • Better obfuscated names handling
  • Issue #539 for(each) in declaration fixes

New in JPEXS Free Flash Decompiler 3.0.0 (Oct 21, 2014)

  • New:
  • Separated GUI (GPL) and library (now LGPL)
  • Editing obfuscated identifiers via new paragraph(§) syntax
  • Timeline View with preview and object hilighting
  • Show GFX data in dump view
  • Issue #650 New parameter to replace binarydata, images, sounds, scripts from commandline
  • Dump view - selecting node
  • Removed deprecated commandline export formats (see --help)
  • Issue #680 Loading subSWFs from binaryTags now optional (button/context menu) to avoid unnecessary memory consumption
  • Fixed:
  • FileAttributes tag reading fix
  • Issue #649 GFX reading fixed
  • Issue #656 Search in memory - 64 bit processes fix
  • Issue #661 scripts not showing
  • Issue #664 expanding fillStyles in raw edit
  • Issue #668 add missing character fix, text tags fix
  • Issue #674 texts hilighting initialization fix
  • Issue #675 AS1/2 and/or operator compilation
  • Issue #632 Locking file after opening (cannot save, etc.)
  • Issue #651 Unnecessary removing expression killed in unreachable part
  • Issue #678 Windows batch file paths fixed
  • Issue #672 Disabling transparency slider on RGB only selection
  • Issue #684 Sound streams inside DefineSprites, soundstream handling

New in JPEXS Free Flash Decompiler Beta 1 (Mar 8, 2012)

  • New:
  • AS3: Automatic computing method body parameters (EXPERIMENTAL)
  • AS3: Editing return type of methods
  • AS3: Editing type and default value for variables/constants (Slot/Const traits)
  • Gui: Updated Icons
  • AS1/2: Few enhancements
  • About dialog
  • Bugs:
  • AS 1/2: Fixed large bug causing Ifs to not decompile properly
  • Proxy: Some minor fixes