#1083 P-code deobfuscation breaks SWF
> 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_;
deobLE.swf (1,838 KiB)
Exception block start/end values are wrong after deobfuscation
Assigned: → 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_;