Prerelease WARNING
This is prerelease nightly version. It should NOT be considered as stable.
Downloads:
Name | File | OS |
---|---|---|
Installer (Windows) | ![]() | ![]() |
ZIP (Windows, Linux, Mac OS) | ![]() | ![]() ![]() ![]() |
DEB package (Linux) | ![]() | ![]() |
Mac OS X Installer (pkg) | ![]() | ![]() |
Mac OS X Application (zipped) | ![]() | ![]() |
Library only (Java SE) - Zipped | ![]() | ![]() |
Library documentation (HTML Javadoc) - Zipped | ![]() |
What's new since last stable version:
Added
- #2477 Option to disable AS2 detection of uninitialized class fields
- AS2 detection of uninitialized class fields is cancellable, faster (parallel)
and shows its progress - AS2 - show deobfuscated class/package names in the class tree
- Allow obfuscated DefineEditText variable identifiers
- Selectable text (DefineEditTexts with noselect=0), copy to clipboard, select all
- AS1/2 P-code curly braces pair highlighting
- #2478 Simple editor - editing texts (not WYSIWYG, textual as in classic editor)
- #2478 Simple editor - remembering last frame / timeline
- Optional heap memory status widget in the titlebar
- #2485 Show variable name in the text tree node label
- Deobfuscate identifiers option - non destructible renaming identifiers for display purposes
- Unknown and errored tags moved to special folders
- AS3 docs generator - reorganized to distinguish float and float 4 instructions,
hilight float instruction blue - Icons for every tag type
- #2499 Information about frames which do not have ShowFrame tag
- #2504 WebP image format for export/import (not animated)
Limitation: It's not available on Mac x86-64 platform
Fixed
- #2474 Gotos incorrectly decompiled
- AS1/2/3 highligter - brackets parsing error causing memory leak / crash
- Comments color highlighting
- AS1/2 Obfuscated registers names not resolving because of trimming
- Escaping HTML in raw tag editor
- Flash player preview not stripping scripts from DefineSprites
- Not clearing selected depth after timelined change
- #2480 AS1/2 P-code decompilation of try..catch with empty catch body at the end of function
- #2477 AS1/2 deobfuscation - and/or operators, jumps before function start,
jumps to function end, jumps in for..in return/break - #2477 AS1/2 Switch in last statement of switch break labels
- #2338 AS2 Reading large classes with incorrect if jumps on the beginning
- #2338 AS1/2/3 Obfuscated code - jump to jump handling
- #1277 AS1/2 Propagate break/continue to avoid loop/switch labels
- #2483 Editing shape gradient records - RGB vs RGBA
- #2486 AS Loop in loop producing gotos in some cases
- #2486 AS1/2 Switch after function, problem with labels
- #2486 AS ifs with direct breaks (in obfuscated code)
- #2486 AS3 skipping label instruction
- Highlighter nullpointer
- AS3 search slot name Index out of bounds
- AS text search - not being able to cancel search over multiple swf files
- #2486 AS3 switches detection in some cases
- AS1/2 Hide icons panel when editing
- AS1/2 both pcode and AS editable at the same time
- AS3 direct editation - Allow some special words (like
override
) as identifiers - #2486 AS1/2 if jump to function end as return
- #2493 Incorrect placement of §§push instructions
- AS3 direct editation/highlighter §§pop in class traits
- AS direct editation/highlighter §§pop and §§dup can have getmember or call
- #1295, #116 AS3 dynamic construction via MultinameL
- ABC cleaner not properly fixing namespace sets
- The hex view does not display bytes if there are too few of them
- SymbolClass export/import did not support obfuscated names
- Configuration TOML file encoding (UTF-8)
- #2496 Fonts - adding characters - truncating too wide advance widths
- #2498 Public traits with same name were not distinguishable
- #2503 Exporting sound streams as FLV
- #2507 FLA export - Button hit test frame placing morphshapes
- #2507 FLA export - Place characters over multiple button frames
- #2508 AS1/2 direct editation - first command in for loop header not compiled
- #2510 AS direct editation - popped value
- #2511 Allowing to search or to jump from search window while in editation mode
- #2515 AS1/2 direct editation - getURL incorrect casing, generating ActionGetURL2 when not needed
- AS1/2 actions must use SWF charset when writing its length
- #2515 AS1/2 Most of built-in global functions must be case in-sensitive
- AS1/2 ActionStringExtract incorrectly decompiled as String.substr instead of substring global function
- #2516 AS1/2 Renaming of identifiers not setting function length correctly
- AS1/2 Renaming of identifiers must not rename integer array offsets
- #2517 Loop break detection problems in some cases
Changed
- Icon of "Deobfuscation options" menu from pile of pills to medkit
- Error log window shows last 100 log entries (instead of first 100)
- AS1/2 P-code double Push values have suffix ".0" to properly distinguish them
- AS1/2 P-code float Push values have suffix "f" to properly distinguish them
- AS1/2: Export names are deobfuscated only when start with
__Packages.
,
if not, then classical escaping is performed - Quotes in tree node parameter values that need them
- The label of option "automatic deobfuscation" changed to "deobfuscate code"
- SetTabIndex tag moved from others to frames folder
- SWF3 actions split into SWF1, SWF2 and SWF3 actions (in FFDec source code, docs, etc.)
- Serial form of AS3 search results changed so the decompiler is unable to read
saved AS3 search result from older versions and vice-versa
Removed
- Resample wav to 44kHz feature from GUI