Video playback, transforming tool and many more enhancements in 18.0.x of JPEXS Free Flash decompiler. Let’s take a look on all of these…
Keyboard shortcut to remove tags (DEL, SHIFT+DEL)
DEL and SHIFT+DEL can be pressed on tag tree to remove tags / items.
Quick search tree (Ctrl+F) for everything, not just AS3 classes
Previously, Quick search on tag tree (Ctrl + F) only searched in AS3 classes. Now all items are searched.
Quick search (Ctrl+F) for tag list view
Quick search now works even in tag list view.
Memory search – show size and adress in hex, show only aligned to N bytes
Checkbox for hexadecimal display of SWF size and address added to Search in memory dialog. Also a field to enter number which file addresses should be aligned to.
AS3 – “internal” keyword support
AS3 decompiler shows “internal” keyword instead of empty modifier on traits.
This keyword is also supported in editor for compilation.
ProductInfo tag information display
ProductInfo tag decoded information like Product, Edition, Version, Build and Compilation date is shown on its page.
DebugId tag proper display and editation
DebugId tag value now shows as hexadecimal UUID value which can be easily edited.
Display of DefineVideoStream tags with VLC player
Embedded movies inside DefineVideoStream / VideoFrames can be now played and properly displayed on timeline inside FFDec. VLC player is required to be installed on your system.
VLC bitness should match your Java version. If you use 64 bit Java, 64 bit VLC should be installed.
List of treenode subitems on otherwise empty panel (with 32×32 icons)
When you selected an item in the tree which had no previewable subitems, in previous version there was the empty panel. Now there is a list of subitems with 32×32 icons, which can be used for example for right click menu, selection, etc.
DefineVideoStream codecId and videoFlagsDeblocking handled as enums in raw editation
In the raw editor (Right click menu / Raw edit) codecId and videoFlagsDeblocking inside DefineVideoStream can now be selected from a list instead of just numbers.
Option to mute frame sounds
If you do not want to hear playback of sounds inside frames, you can turn the sound off using new “Mute frame sounds” button on the bottom left under frame image.
Experimental option to fix conflation artifacts in antialiasing (slow)
New option to suppress conflation artifacts caused by incorrect antialiasing can be now enabled on Advanced settings / Display page. Conflation artifacts are for example in following picture the small white parts between the central gray circle and the black circle. There should be direct edge between gray and black, without white part. This is unfortunately the way how FFDec uses antialiasing. To properly render it, it should use so called multisampling which is done usually using some OpenGL renderers, etc. This is currently unsupported. The following option tries to fix the artifacts its own way.
But it is EXPERIMENTAL and in many cases it does not even work. And is also slow. So it is generally not recommended.
Option to disable autoplay of sounds (DefineSound)
When you select a sound in the tree, it starts playing. This behavior can be disabled on Advanced settings / Display page.
Remembering choice of loading assets via importassets tag
If you open a SWF which has dependencies loaded via ImportAssets tag, you are asked whether you want to load imported SWFs as subtags. You are also asked when the imported SWFs are missing to select another file. These decisions are now remembered and are not asked again after you close FFDec and reopen it again.
Free transform whole sprites
Sprites can be now free transformed – just like PlaceObjects. The matrix is applied to all items inside the sprite.
Transformation panel with flip/move/scale/rotate/skew/matrix options
Transform button for Sprites and PlaceObjects now shows new Transform panel when you can precisely do desired transformation operation like flipping, rotation, moving, scaling, skewing or custom matrix application. Specify transformation point to properly set center of rotation.
Move object around with arrow keys (in transform mode)
In transform mode, you can move the object one pixel left, right, up or down with arrow keys.
Alt + click selects PlaceObjectTag under cursor
On frame preview or PlaceObject preview, you can hold Alt and press left mouse button anywhere on stage where is some object located and you will immediately switch to that objects PlaceObject tag.
Double click tree node to start edit (can be enabled in settings)
Option to double click tree node to begin editation was added. It is not recommended as it can be pressed accidentally.
Info about editation in status bar
Status bar now contains info when you are in editation mode. Because in this mode you can’t switch to other items, it is important you to not be surprised.
AS3 P-code keyword “Unknown(N)”, where N is index. For constants out of bounds. (mostly in dead code)
New keyword for AS3 P-code for constants which are not present in the constant pool – they are out of bounds. These invalid indices can be sometimes present in dead code added by obfuscators.
Unknown(N) where N is a number – index to constant pool.
AS3 P-code – Editing methods without body (interfaces / native methods)
Interface methods do not have a body. Also native methods do not have them. A native method is method used for example in playerglobal.swf library which maps the calls of methods directly to FlashPlayer C code. These methods now can be edited. They have got only a header without a body.