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.

List of issuesList of issues

#2298 Problems of Ffdec new versions
Author: user Kuroneko
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: GUI
State: opened Help

I have noticed a serious problem, please listen Ffdec v21.0.4 is for some strange reason much slower than Ffdec v14.4.0 nightly 1932. Also, newer versions of Ffdec sometimes fail to create new classes, while v14.4.0 does it perfectly (without killing the file). But in v14.4.0 there is no way to change the indexes of created classes (the file may die when trying to inherit). I have also noticed (and some friends have noticed this problem too) that v21.0.4 is slower in everything: it loads files slowly, the second search query does not work immediately (whereas in v14.4.0, after the first search, the second is always immediate if there is enough free RAM), it saves slowly. At the same time, the new version works well with editing interface functions in bytecode, while v14.4.0 does not support this. Newer versions of Ffdec also break the file when trying to inherit (noted in one of the latest versions, I have not checked this in v21.0.4). So the "switching problem" occurs when you need to make (for example) a lot of patches in the swf of the game, you need to add new classes and add new interfaces, and basically the old ffdec v14.4.0 copes better with creating new classes (without killing the file, and the new ffdec kills the file or cannot create a class :/), but in the new v21.0.4 appeared some necessary features for editing bytecode for the same interfaces as for ex and much more. And when I work on a file for many hours, I have to use Ffdec v14.4.0 more often because it does everything faster and can create classes or do inheritance more correctly, and sometimes I switch to the new latest version of Ffdec when I need to edit something that I can't do with v14.4.0 (for example, edit the indices of the created classes so that they don't cause a crash if they are created inconsistently). Can you solve this and make new versions of Ffdec faster, or at least solve the problems with the long second (and subsequent) search and creation of new classes + inheritance? If the new Ffdec was faster, it would be much easier to use and not have to constantly switch from an old version to the new one and back again. Another problem: when you open a completely new version of Ffdec with many differences (like differences between Ffdec v14.4.0 and Ffdec v21.0.4) - your settings are all over the place. Open a new one -> your settings are taken over -> close and open the old one -> you have an empty Ffdec and all settings are reset. And so constantly
admin
1) Ad "Is much slow." It depends on what task you want to do. For example AS3 decompiling might be slower because now it properly checks for datatypes of all values and injects typecasting oprators accordingly. It also uses playerglobal.swf for decompilation which requires on first AS3 opening to parse it. (Second AS3 opened files should be faster) It also uses limited caches - see point 3. 2) Ad "sometimes fail to create new classes" If you encounter error regarding adding new classes, then you need to report it, tell us exact steps you did, then we may investigate it and fix. 3) Ad "second search query does not work immediately" In 18.5.0 we introduced a maximum limit on cached items (defaults to 500). We need this to not waste memory. After reaching this limit, old items are removed from cache. This may result in second search to decompile files again. You can modify cache parameters in advanced settings / limits / "Maximum number of cached items per single cache". You can set it to 0 to unlimited caching. But beware, this may use your memory a lot. 4) Ad "Newer versions of Ffdec also break the file when trying to inherit, v14.4.0 copes better with creating new classes (without killing the file, and the new ffdec kills the file or cannot create a class :/)" Need to see exact steps how to reproduce on a sample SWF file. 5) Ad "Problem with lost settings" Yes, if you switch to older FFDec version and back, you might lose your settings. We use serialization of configuration objects and each object has serial version, and if the stored data does not match the actual version, it does not unserialize. From version 16.3.0 we started using fixed serialVersionUID field which should prevent losing the configuration again. But if you still use FFDec lower than 16.3.0, I can't do anything for you, you will still lose your configuration after you switch. Just do not use old versions, that's my advice.
State: new→opened