JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit

+ update 2020: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means we will NOT develop new features and/or fix most of bugs. We left the tracker running in case somebody from community would like to work on it. Sorry for the inconvenience.

List of issuesList of issues

#1083 P-code deobfuscation breaks SWF
Author: user Suuper
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS3Deobfuscation
State: new Help

> What steps will reproduce the problem? With the given file: Tools -> P-code deobfuscation -> Restore flow control OR remove traps Edit something so that FFDec recognizes that stuff has been changed. (This is another bug: If you go straight to saving after deobfuscating, it won't save the changes.) > What is the expected output? What do you see instead? The expected result is correctly deobfuscated code. The actual result is a broken SWF. (The SWF just shows a black screen.) > What version of the product are you using? Is it "nightly build"? Which operating system do you have? I am using version 6.1.1 on Windows 7. > Please provide any additional information below. If the problem is related to a SWF file, attach it here, otherwise we can't help you. I have found one example of code that was incorrectly deobfuscated: scripts -> data -> class_10 -> getDay() I would expect the result to look like this: var _loc1_:* = this.method_79(); var _loc2_:Number = Math.round(_loc1_ / 24 / 60 / 60); return _loc2_; but it actually looks like this: var _loc2_:Number = Math.round(false / 24 / 60 / 60); return _loc2_;
DownloaddeobLE.swf (1,838 KiB)
Exception block start/end values are wrong after deobfuscation
Assigned:developer honfika
It should be better in nightly 1073 or later. Try it.
"saving after deobfuscating" should be fixed in nightly 1074
"saving after deobfuscating" is working now, but the deobfuscator issue has not been fixed. I'm still getting var _loc2_:Number = Math.round(false / 24 / 60 / 60); return _loc2_;