From c8ce4050df3e5d8482d43006de19fdd22b64442a Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Tue, 22 Sep 2015 20:30:26 +0200 Subject: [PATCH] action deobfuscation fix --- .../flash/action/deobfuscation/ActionDeobfuscator.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java index 63ed33fc3..09a653f8f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java @@ -139,7 +139,7 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { ExecutionResult result = new ExecutionResult(); executeActions(actions, i, actions.size() - 1, cPool, result, fakeFunctions); - if (result.idx != -1) { + if (result.idx != -1 && result.resultValue == null) { int newIstructionCount = 1; // jump if (result.constantPool != null) { newIstructionCount++; @@ -429,9 +429,10 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { executeActions(actions, i + 1, lastActionIdx, null, result, null); if (result.resultValue != null) { results.put(def.functionName, result.resultValue); - for (int j = i; j <= lastActionIdx; j++) { - actions.removeAction(i); - } + // todo: remove fake function + /*for (int j = i; j <= lastActionIdx; j++) { + actions.removeAction(i); + }*/ } } }