JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

NEW : We have got a new blog where we post some interesting SWF internals info.

Error: Please login first to download files from the Issue Tracker. You can register for free.
List of issuesList of issues

#2477 Add an option to disable #223 AS2 Detecting uninitialized class fields
Author:
Date created:
Type: feature
Visibility: Everybody
Assigned to:
State: upgraded Help

Hello, I've never taken the time to make an issue, I've been using version 18.5.0 since the implementation of this feature. So, this work fine, even with large file
I missclick the "Send" button, sorry... I've now attached two files : - One non-obfuscated file, for which the feature works correctly. - One obfuscated file, which doesn't work — JPEXS is unable to load it. It's the main file of the client of the MMORPG Dofus Retro. Version 1.29.1 for the non-obfuscated one, and version 1.46.4 for the obfuscated one.
Downloadswf.zip (4,241 KiB)
For the obfuscated file: When I enable "Automatic deobfuscation" and then click any AS2 class, it starts to decompiling whole file. This takes a while, but finishes at some point of time, it was complete in couple of minutes. This needs to be improved 1) The option to cancel this action is not working correctly - it should cancel the action and load the script without unitialized class fields. The action should be done assynchronously. Currently it looks like freezed. 2) The whole "detect uninitialized class fields" action could be executed manually, for example with some button on the top of the script editor I also noticed that this file uses obfuscated classnames which shows in FFDec class tree as squares. The squares should be decoded in \x escapes to be distinguishable.
I did some changes in nightly 3222: The uninitialized class fields detection is decompiling scripts in parallel which means it can finish faster if you have enough cores. It also shows progress. Should not freeze. New deobfuscation option added - to disable uninitialized class fields detection. It is available from Advanced settings and also under new icon with the red cross ("medkit"). Also you should have Automatic deobfuscation enabled for this file, otherwise there will be many errors. With the Automatic deobfuscation on, there are still couple of problems with jumps and §§ instructions. I also updated display of AS1/2 identifiers all across the decompiler to show "deobfuscated" strings using §str§ instead of empty rectangles.
State: new→upgraded
Just tested it, it's awesome ! Work like a charm. Thx a lot.
You're welcome. I will leave this open since I may take a look on the deobfuscation problems (invalid jumps and §§ instructions) in this file. Also thank you very much for the donation.