From 2a0ca0b79bce64c35c0bfeff461a9d66b686f8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 13 Feb 2016 11:48:55 +0100 Subject: [PATCH] #1145 expression simplification to separate config instead of autodeobfuscate --- .../src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java | 6 ++---- .../jpexs/decompiler/flash/configuration/Configuration.java | 5 +++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index 136efa1ba..442419d21 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -1507,7 +1507,7 @@ public class AVM2Code implements Cloneable { break; } - if (Configuration.autoDeobfuscate.get()) { + if (Configuration._simplifyExpressions.get()) { stack.simplify(); } visited[ip] = true; @@ -1993,8 +1993,7 @@ public class AVM2Code implements Cloneable { ins.operands[j] = updater.updateOperandOffset(target, ins.operands[j]); } }*/ //Faster, but not so universal - { - if (ins.definition instanceof IfTypeIns) { + if (ins.definition instanceof IfTypeIns) { long target = ins.getTargetAddress(); try { ins.operands[0] = updater.updateOperandOffset(ins.getAddress(), target, ins.operands[0]); @@ -2002,7 +2001,6 @@ public class AVM2Code implements Cloneable { throw new ConvertException("Invalid offset (" + ins + ")", i); } } - } ins.setAddress(updater.updateInstructionOffset(ins.getAddress())); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index bf44122b0..7a11535d3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -588,6 +588,11 @@ public class Configuration { @ConfigurationInternal public static final ConfigurationItem _enableFlexExport = null; + @ConfigurationDefaultBoolean(false) + //@ConfigurationCategory("script") + @ConfigurationInternal + public static final ConfigurationItem _simplifyExpressions = null; + private enum OSId { WINDOWS, OSX, UNIX