From 2396710e355e251f32ca4d4b54922b1ab1cda16f Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Tue, 20 Oct 2015 09:16:59 +0200 Subject: [PATCH] faster AS2 deobfuscation (ActionDeobfuscatorSimple and ActionDeobfuscator combined to a single linked list based algorithm), caching deobfuscated action list fix --- .../deobfuscation/AVM2DeobfuscatorSimple.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorSimple.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorSimple.java index 21754601f..61a4baaa8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorSimple.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorSimple.java @@ -29,8 +29,16 @@ import com.jpexs.decompiler.flash.abc.avm2.instructions.IfTypeIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.AddIIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.AddIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DecrementIIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DecrementIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DivideIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.IncrementIIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.IncrementIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.ModuloIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.MultiplyIIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.MultiplyIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NegateIIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NegateIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NotIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.SubtractIIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.SubtractIns; @@ -330,6 +338,8 @@ public class AVM2DeobfuscatorSimple implements SWFDecompilerListener { || def instanceof SubtractIIns || def instanceof ModuloIns || def instanceof MultiplyIns + || def instanceof MultiplyIIns + || def instanceof DivideIns || def instanceof BitAndIns || def instanceof BitXorIns || def instanceof BitOrIns @@ -338,6 +348,12 @@ public class AVM2DeobfuscatorSimple implements SWFDecompilerListener { || def instanceof URShiftIns || def instanceof EqualsIns || def instanceof NotIns + || def instanceof NegateIns + || def instanceof NegateIIns + || def instanceof IncrementIns + || def instanceof IncrementIIns + || def instanceof DecrementIns + || def instanceof DecrementIIns || def instanceof IfTypeIns || def instanceof JumpIns || def instanceof EqualsIns @@ -434,6 +450,10 @@ public class AVM2DeobfuscatorSimple implements SWFDecompilerListener { } } + @Override + public void actionTreeCreated(List tree, SWF swf) { + } + @Override public byte[] proxyFileCatched(byte[] data) { return null;