From 7076cdfc360319712e98bb0107dd82ca7ae7b3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 20 Jul 2025 11:55:37 +0200 Subject: [PATCH] Fixed: #2486 AS3 switches detection in some cases --- CHANGELOG.md | 1 + .../AVM2DeobfuscatorPushFalseIfFalse.java | 60 +++ .../flash/abc/avm2/graph/AVM2Graph.java | 263 ++++++++++- .../flash/abc/types/MethodBody.java | 6 + .../src/com/jpexs/decompiler/graph/Graph.java | 41 +- .../flash/ActionScript3DeobfuscatorTest.java | 411 ++++++++++++++++-- .../ActionScript3ClassicAirDecompileTest.java | 31 +- .../ActionScript3ClassicDecompileTest.java | 31 +- .../testdata/as3_new/bin/as3_new.air.swf | Bin 32000 -> 32216 bytes .../testdata/as3_new/bin/as3_new.flex.swf | Bin 42515 -> 42839 bytes libsrc/ffdec_lib/testdata/as3_new/src/Main.as | 1 + .../as3_new/src/tests/TestSwitchBig.as | 34 ++ 12 files changed, 816 insertions(+), 63 deletions(-) create mode 100644 libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorPushFalseIfFalse.java create mode 100644 libsrc/ffdec_lib/testdata/as3_new/src/tests/TestSwitchBig.as diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bbf3af10..f990d0c2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to this project will be documented in this file. - Highlighter nullpointer - AS3 search slot name Index out of bounds - AS text search - not being able to cancel search over multiple swf files +- [#2486] AS3 switches detection in some cases ### Changed - Icon of "Deobfuscation options" menu from pile of pills to medkit diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorPushFalseIfFalse.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorPushFalseIfFalse.java new file mode 100644 index 000000000..2a27cc600 --- /dev/null +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/deobfuscation/AVM2DeobfuscatorPushFalseIfFalse.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2010-2025 JPEXS, All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3.0 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. + */ +package com.jpexs.decompiler.flash.abc.avm2.deobfuscation; + +import com.jpexs.decompiler.flash.abc.ABC; +import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; +import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; +import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfFalseIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.JumpIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.other.NopIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushFalseIns; +import com.jpexs.decompiler.flash.abc.types.MethodBody; +import com.jpexs.decompiler.flash.abc.types.traits.Trait; +import com.jpexs.decompiler.flash.helpers.SWFDecompilerAdapter; +import java.util.List; +import java.util.Map; + +/** + * This will fix some if(false) in Flex code in switch default statement. + * It is not a real deobufscation, just fix for specific case. + * @author JPEXS + */ +public class AVM2DeobfuscatorPushFalseIfFalse extends SWFDecompilerAdapter { + + @Override + public void avm2CodeRemoveTraps(String path, int classIndex, boolean isStatic, int scriptIndex, ABC abc, Trait trait, int methodInfo, MethodBody body) throws InterruptedException { + Map> refs = body.getCode().visitCode(body); + AVM2Code code = body.getCode(); + for (int ip = 1; ip < code.code.size(); ip++) { + AVM2Instruction ins = code.code.get(ip); + AVM2Instruction insPrev = code.code.get(ip - 1); + if (!(ins.definition instanceof IfFalseIns)) { + continue; + } + if (!(insPrev.definition instanceof PushFalseIns)) { + continue; + } + if (refs.containsKey(ip) && refs.get(ip).size() > 1) { + continue; + } + insPrev.definition = new NopIns(); + ins.definition = new JumpIns(); + } + } + +} diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java index eb1c48bfd..92fce04eb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java @@ -27,7 +27,9 @@ import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition; import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.NewCatchIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.debug.DebugLineIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfFalseIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictEqIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictNeIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.JumpIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.LookupSwitchIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.DecLocalIIns; @@ -44,6 +46,7 @@ import com.jpexs.decompiler.flash.abc.avm2.instructions.other.decimalsupport.Dec import com.jpexs.decompiler.flash.abc.avm2.instructions.other.decimalsupport.IncLocalPIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PopIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushByteIns; +import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushFalseIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushScopeIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.types.CoerceAIns; import com.jpexs.decompiler.flash.abc.avm2.instructions.types.ConvertIIns; @@ -84,6 +87,7 @@ import com.jpexs.decompiler.flash.abc.avm2.model.clauses.TryAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.operations.EqAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.operations.NeqAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.operations.StrictEqAVM2Item; +import com.jpexs.decompiler.flash.abc.avm2.model.operations.StrictNeqAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.parser.script.AbcIndexing; import com.jpexs.decompiler.flash.abc.types.ABCException; import com.jpexs.decompiler.flash.abc.types.MethodBody; @@ -110,13 +114,17 @@ import com.jpexs.decompiler.graph.model.BinaryOpItem; import com.jpexs.decompiler.graph.model.BreakItem; import com.jpexs.decompiler.graph.model.CommaExpressionItem; import com.jpexs.decompiler.graph.model.ContinueItem; +import com.jpexs.decompiler.graph.model.DefaultItem; import com.jpexs.decompiler.graph.model.ExitItem; import com.jpexs.decompiler.graph.model.FalseItem; import com.jpexs.decompiler.graph.model.GotoItem; import com.jpexs.decompiler.graph.model.IfItem; +import com.jpexs.decompiler.graph.model.IntegerValueItem; +import com.jpexs.decompiler.graph.model.IntegerValueTypeItem; import com.jpexs.decompiler.graph.model.LoopItem; import com.jpexs.decompiler.graph.model.NotItem; import com.jpexs.decompiler.graph.model.OrItem; +import com.jpexs.decompiler.graph.model.PopItem; import com.jpexs.decompiler.graph.model.PushItem; import com.jpexs.decompiler.graph.model.SwitchItem; import com.jpexs.decompiler.graph.model.TernarOpItem; @@ -129,6 +137,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -1735,11 +1744,8 @@ public class AVM2Graph extends Graph { Loop currentLoop, int staticOperation, String path) throws InterruptedException { List ret = null; - /*if (ret != null) { - return ret; - }*/ //Detect switch - if ((part.nextParts.size() == 2) && (!stack.isEmpty()) && (stack.peek() instanceof StrictEqAVM2Item)) { + if ((part.nextParts.size() == 2) && (!stack.isEmpty()) && ((stack.peek() instanceof StrictEqAVM2Item) || (stack.peek() instanceof StrictNeqAVM2Item))) { GraphSourceItem switchStartItem = code.get(part.start); GraphTargetItem switchedObject = null; @@ -1750,29 +1756,82 @@ public class AVM2Graph extends Graph { } List caseValuesMapLeft = new ArrayList<>(); List caseValuesMapRight = new ArrayList<>(); + List> outs = new ArrayList<>(); - StrictEqAVM2Item set = (StrictEqAVM2Item) stack.pop(); - StrictEqAVM2Item firstSet = set; + outs.add(new ArrayList<>()); + + BinaryOpItem set = (BinaryOpItem) stack.pop(); + BinaryOpItem firstSet = set; caseValuesMapLeft.add(set.leftSide); caseValuesMapRight.add(set.rightSide); + int branchNum; + GraphPart origPart = part; List caseBodyParts = new ArrayList<>(); - caseBodyParts.add(part.nextParts.get(0)); + + if (((AVM2Instruction) code.get(part.end)).definition instanceof IfStrictNeIns) { + branchNum = 0; + caseBodyParts.add(part.nextParts.get(1)); + } else { + branchNum = 1; + caseBodyParts.add(part.nextParts.get(0)); + } GraphTargetItem top = null; int cnt = 1; + int branchCount = 2; try { - while (part.nextParts.size() > 1 - && part.nextParts.get(1).getHeight() > 1 - && ((AVM2Instruction) code.get(part.nextParts.get(1).end >= code.size() ? code.size() - 1 : part.nextParts.get(1).end)).definition instanceof IfStrictEqIns - && ((top = translatePartGetStack(localData, part.nextParts.get(1), stack, staticOperation)) instanceof StrictEqAVM2Item)) { - cnt++; - part = part.nextParts.get(1); - caseBodyParts.add(part.nextParts.get(0)); + while (true) { + List out = new ArrayList<>(); + //Special: In Flex (not air) there are these blocks sometimes: + // if(false) { + // §§push(5); + // break; + //} + //AVM2DeobfuscatorPushFalseIfFalse changes it to + // nop + // jump + // (to first case to work) + if (part.nextParts.size() == branchCount + && part.nextParts.get(branchNum).getHeight() == 2 + && ((AVM2Instruction) code.get(part.nextParts.get(branchNum).start >= code.size() ? code.size() - 1 : part.nextParts.get(branchNum).start)).definition instanceof NopIns + && ((AVM2Instruction) code.get(part.nextParts.get(branchNum).end >= code.size() ? code.size() - 1 : part.nextParts.get(branchNum).end)).definition instanceof JumpIns) { + part = part.nextParts.get(branchNum); + branchNum = 0; + branchCount = 1; + } else if (part.nextParts.size() == branchCount + && part.nextParts.get(branchNum).getHeight() > 1 + && ((AVM2Instruction) code.get(part.nextParts.get(branchNum).end >= code.size() ? code.size() - 1 : part.nextParts.get(branchNum).end)).definition instanceof IfStrictEqIns + && ((top = translatePartGetStack(localData, part.nextParts.get(branchNum), stack, staticOperation, out)) instanceof StrictEqAVM2Item)) { + cnt++; + part = part.nextParts.get(branchNum); + caseBodyParts.add(part.nextParts.get(0)); + branchNum = 1; - set = (StrictEqAVM2Item) top; - caseValuesMapLeft.add(set.leftSide); - caseValuesMapRight.add(set.rightSide); + outs.add(out); + out = new ArrayList<>(); + set = (StrictEqAVM2Item) top; + caseValuesMapLeft.add(set.leftSide); + caseValuesMapRight.add(set.rightSide); + branchCount = 2; + } else if (part.nextParts.size() == branchCount + && part.nextParts.get(branchNum).getHeight() > 1 + && ((AVM2Instruction) code.get(part.nextParts.get(branchNum).end >= code.size() ? code.size() - 1 : part.nextParts.get(branchNum).end)).definition instanceof IfStrictNeIns + && ((top = translatePartGetStack(localData, part.nextParts.get(branchNum), stack, staticOperation, out)) instanceof StrictNeqAVM2Item)) { + cnt++; + part = part.nextParts.get(branchNum); + caseBodyParts.add(part.nextParts.get(1)); + branchNum = 0; + + outs.add(out); + out = new ArrayList<>(); + set = (StrictNeqAVM2Item) top; + caseValuesMapLeft.add(set.leftSide); + caseValuesMapRight.add(set.rightSide); + branchCount = 2; + } else { + break; + } } } catch (GraphPartChangeException gpc) { //ignore @@ -1818,10 +1877,17 @@ public class AVM2Graph extends Graph { otherSide = caseValuesMapRight; } + for (int i = 0; i < caseValuesMap.size(); i++) { + if (!outs.get(i).isEmpty()) { + outs.get(i).add(caseValuesMap.get(i)); + caseValuesMap.set(i, new CommaExpressionItem(dialect, null, null, outs.get(i))); + } + } + if ((leftReg < 0 && rightReg < 0) || (cnt == 1)) { stack.push(firstSet); } else { - part = part.nextParts.get(1); + part = part.nextParts.get(branchNum); GraphPart defaultPart = part; if (code.size() > defaultPart.start && ((AVM2Instruction) code.get(defaultPart.start)).definition instanceof JumpIns && defaultPart.refs.size() == 1 @@ -2443,9 +2509,11 @@ public class AVM2Graph extends Graph { if (item instanceof IntegerValueAVM2Item) { return true; } + /* if ((item instanceof PushItem) && (item.value instanceof IntegerValueAVM2Item)) { return true; } + */ return false; } @@ -2454,6 +2522,159 @@ public class AVM2Graph extends Graph { if (debugDoNotProcess) { return; } + + loopi: + for (int i = 1 /*not first*/; i < list.size(); i++) { + GraphTargetItem item = list.get(i); + + GraphTargetItem prevItem = list.get(i - 1); + if ((item instanceof SwitchItem) && (prevItem instanceof SwitchItem)) { + SwitchItem thisSwitch = (SwitchItem) item; + SwitchItem prevSwitch = (SwitchItem) prevItem; + if (thisSwitch.switchedObject instanceof PopItem) { + List caseValues = new ArrayList<>(); + Map expressionsMap = new LinkedHashMap<>(); + List defaultCommands = null; + for (int k = 0; k < thisSwitch.caseValues.size(); k++) { + if (thisSwitch.caseValues.get(k) instanceof DefaultItem) { + continue; + } + if (!(thisSwitch.caseValues.get(k) instanceof IntegerValueTypeItem)) { + continue loopi; + } + } + + int defaultInt = -1; + + for (int j = 0; j < prevSwitch.caseCommands.size(); j++) { + + int valueIndex = prevSwitch.valuesMapping.indexOf(j); + + if (valueIndex == -1) { + continue loopi; + } + + GraphTargetItem currentExpression = prevSwitch.caseValues.get(valueIndex); + + if (prevSwitch.caseCommands.get(j).size() > 2) { + continue loopi; + } + int delta = 0; + if (currentExpression instanceof DefaultItem && prevSwitch.caseCommands.size() >= 2) { + //Special case - in flex (not air), the default clause has weird + // if (false) { + // §§push(5); + // } + // §§push(5); + if (prevSwitch.caseCommands.get(j).get(0) instanceof IfItem) { + IfItem ifi = (IfItem) prevSwitch.caseCommands.get(j).get(0); + if (ifi.expression instanceof FalseItem) { + delta++; + } + } + } + if (j == prevSwitch.caseCommands.size() - 1 && prevSwitch.caseCommands.get(j).size() == delta + 1) { + //empty + } else if (prevSwitch.caseCommands.get(j).size() != 2 + delta) { + continue loopi; + } else { + if (!(prevSwitch.caseCommands.get(j).get(delta + 1) instanceof BreakItem)) { + continue loopi; + } + BreakItem br = (BreakItem) prevSwitch.caseCommands.get(j).get(delta + 1); + if (br.loopId != prevSwitch.loop.id) { + continue loopi; + } + } + if (!(prevSwitch.caseCommands.get(j).get(delta) instanceof PushItem)) { + continue loopi; + } + PushItem pi = (PushItem) prevSwitch.caseCommands.get(j).get(delta); + if (!(pi.value instanceof IntegerValueTypeItem)) { + continue loopi; + } + Integer pushedInt = ((IntegerValueTypeItem) pi.value).intValue(); + expressionsMap.put(pushedInt, currentExpression); + if (currentExpression instanceof DefaultItem) { + defaultInt = pushedInt; + } + } + + List thisExpressions = new ArrayList<>(); + int defaultIndex = -1; + for (int k = 0; k < thisSwitch.caseValues.size(); k++) { + if (thisSwitch.caseValues.get(k) instanceof DefaultItem) { + defaultIndex = k; + continue; + } + if (!(thisSwitch.caseValues.get(k) instanceof IntegerValueTypeItem)) { + continue loopi; + } + int cv = ((IntegerValueTypeItem) thisSwitch.caseValues.get(k)).intValue(); + if (!expressionsMap.containsKey(cv)) { + continue loopi; + } + thisExpressions.add(cv); + } + + List noCaseExpressions = new ArrayList<>(); + + for (int key : expressionsMap.keySet()) { + if (!thisExpressions.contains(key)) { + if (defaultIndex == -1 && defaultInt != key) { + continue loopi; + } + noCaseExpressions.add(key); + } + } + noCaseExpressions.sort(new Comparator() { + @Override + public int compare(Integer o1, Integer o2) { + return o1 - o2; + } + }); + + for (int k = 0; k < thisSwitch.caseValues.size(); k++) { + if (thisSwitch.caseValues.get(k) instanceof DefaultItem) { + int m = thisSwitch.valuesMapping.get(k); + thisSwitch.caseValues.remove(k); + thisSwitch.valuesMapping.remove(k); + + for (int e : noCaseExpressions) { + thisSwitch.caseValues.add(k, expressionsMap.get(e)); + thisSwitch.valuesMapping.add(k, m); + k++; + } + k--; + + boolean foundElsewhere = false; + for (int h = 0; h < thisSwitch.valuesMapping.size(); h++) { + if (thisSwitch.valuesMapping.get(h) == m) { + foundElsewhere = true; + break; + } + } + if (!foundElsewhere) { + thisSwitch.caseCommands.remove(m); + for (int h = 0; h < thisSwitch.valuesMapping.size(); h++) { + if (thisSwitch.valuesMapping.get(h) > m) { + thisSwitch.valuesMapping.set(h, thisSwitch.valuesMapping.get(h) - 1); + } + } + } + continue; + } + int cv = ((IntegerValueTypeItem) thisSwitch.caseValues.get(k)).intValue(); + thisSwitch.caseValues.set(k, expressionsMap.get(cv)); + } + + thisSwitch.switchedObject = prevSwitch.switchedObject; + list.remove(i - 1); + i--; + } + } + } + if (level == 0) { if (!list.isEmpty()) { if (list.get(list.size() - 1) instanceof ReturnVoidAVM2Item) { @@ -2890,7 +3111,7 @@ public class AVM2Graph extends Graph { }); i = newI.getVal(); } - */ + */ //Handle for loops at the end: super.finalProcess(parent, list, level, localData, path); } @@ -2931,7 +3152,7 @@ public class AVM2Graph extends Graph { AVM2LocalData avm2LocalData = (AVM2LocalData) localData; SetLocalAVM2Item setLocal = (SetLocalAVM2Item) output.get(output.size() - 1); int setLocalIp = InstructionDefinition.getItemIp(avm2LocalData, setLocal); - ; + Set allUsages = new HashSet<>(avm2LocalData.getSetLocalUsages(setLocalIp)); boolean isOtherSideReg = false; for (GraphTargetItem otherSide : otherSides) { @@ -3263,5 +3484,5 @@ public class AVM2Graph extends Graph { } return ternar; - } + } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java index 301b33e55..8257817fd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java @@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; import com.jpexs.decompiler.flash.abc.avm2.CodeStats; import com.jpexs.decompiler.flash.abc.avm2.UnknownInstructionCodeException; +import com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorPushFalseIfFalse; import com.jpexs.decompiler.flash.abc.avm2.deobfuscation.DeobfuscationLevel; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.parser.script.AbcIndexing; @@ -642,6 +643,11 @@ public final class MethodBody implements Cloneable { code.fixJumps(path, body); return body; } + } else { + //This needs to be done otherwise some switch testcases fail. (Flex) + try (Statistics s = new Statistics("AVM2DeobfuscatorPushFalseIfFalse")) { + new AVM2DeobfuscatorPushFalseIfFalse().avm2CodeRemoveTraps(path, classIndex, isStatic, scriptIndex, abc, trait, method_info, body); + } } lastConvertedBody = body; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java index 0d286f6e9..778dff996 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java @@ -27,6 +27,7 @@ import com.jpexs.decompiler.graph.model.BinaryOpItem; import com.jpexs.decompiler.graph.model.BranchStackResistant; import com.jpexs.decompiler.graph.model.BreakItem; import com.jpexs.decompiler.graph.model.CommaExpressionItem; +import com.jpexs.decompiler.graph.model.CommentItem; import com.jpexs.decompiler.graph.model.ContinueItem; import com.jpexs.decompiler.graph.model.DefaultItem; import com.jpexs.decompiler.graph.model.DoWhileItem; @@ -1383,7 +1384,7 @@ public class Graph { * @param list List of GraphTargetItems * @param lastLoopId Last loop id */ - protected final void processSwitches(List list, long lastLoopId) { + protected void processSwitches(List list, long lastLoopId) { loopi: for (int i = 0; i < list.size(); i++) { GraphTargetItem item = list.get(i); @@ -2311,6 +2312,25 @@ public class Graph { translatePart(localData, part, stack, staticOperation, null); return stack.pop(); } + + /** + * Translates part and get its stack with output + * + * @param localData Local data + * @param part Part + * @param stack Translate stack + * @param staticOperation Unused + * @return Top of the stack + * @throws InterruptedException On interrupt + * @throws GraphPartChangeException On graph part change + */ + //@SuppressWarnings("unchecked") + protected final GraphTargetItem translatePartGetStack(BaseLocalData localData, GraphPart part, TranslateStack stack, int staticOperation, List output) throws InterruptedException, GraphPartChangeException { + stack = (TranslateStack) stack.clone(); + output.clear(); + output.addAll(translatePart(localData, part, stack, staticOperation, null)); + return stack.pop(); + } /** * Translates part. @@ -3194,6 +3214,7 @@ public class Graph { if (debugPrintGraph) { System.err.println("Adding break"); } + makeAllCommands(ret, stack); ret.add(new BreakItem(dialect, null, localData.lineStartInstruction, el.id)); return ret; } @@ -3204,6 +3225,7 @@ public class Graph { if (debugPrintGraph) { System.err.println("Adding precontinue"); } + makeAllCommands(ret, stack); ret.add(new ContinueItem(dialect, null, localData.lineStartInstruction, el.id)); return ret; } @@ -3214,6 +3236,7 @@ public class Graph { if (debugPrintGraph) { System.err.println("Adding continue"); } + makeAllCommands(ret, stack); ret.add(new ContinueItem(dialect, null, localData.lineStartInstruction, el.id)); return ret; } @@ -3267,8 +3290,10 @@ public class Graph { } } - if (code.size() <= part.start) { - ret.add(new ScriptEndItem(dialect)); + if (code.size() <= part.start) { + if (!(!ret.isEmpty() && ret.get(ret.size() - 1) instanceof ExitItem)) { + ret.add(new ScriptEndItem(dialect)); + } return ret; } @@ -3428,7 +3453,9 @@ public class Graph { } } while (exHappened); if ((part.end >= code.size() - 1) && getNextParts(localData, part).isEmpty()) { - output.add(new ScriptEndItem(dialect)); + if (!(!output.isEmpty() && output.get(output.size() - 1) instanceof ExitItem)) { + output.add(new ScriptEndItem(dialect)); + } } } @@ -4651,7 +4678,8 @@ public class Graph { stopPart2x.add(breakPart); stopPartKind2x.add(StopPartKind.OTHER); } - currentCaseCommands = printGraph(foundGotos, partCodes, partCodePos, visited, localData, stack, allParts, null, caseBodies.get(i), stopPart2x, stopPartKind2x, loops, throwStates, staticOperation, path); + TranslateStack subStack = (TranslateStack) stack.clone(); + currentCaseCommands = printGraph(foundGotos, partCodes, partCodePos, visited, localData, subStack, allParts, null, caseBodies.get(i), stopPart2x, stopPartKind2x, loops, throwStates, staticOperation, path); if (willHaveBreak) { if (!currentCaseCommands.isEmpty()) { GraphTargetItem last = currentCaseCommands.get(currentCaseCommands.size() - 1); @@ -4660,8 +4688,7 @@ public class Graph { } } } - caseCommands.add(currentCaseCommands); - makeAllCommands(currentCaseCommands, stack); + caseCommands.add(currentCaseCommands); } /* diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3DeobfuscatorTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3DeobfuscatorTest.java index 27b800d2e..853a151c7 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3DeobfuscatorTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3DeobfuscatorTest.java @@ -17,7 +17,6 @@ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.abc.ABC; -import com.jpexs.decompiler.flash.abc.ScriptPack; import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; import com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorGroupParts; import com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorJumps; @@ -169,10 +168,10 @@ public class ActionScript3DeobfuscatorTest extends ActionScriptTestBase { code.removeTraps(null, 0, b, abc, 0, -1, true, pCode); code.removeLabelsAndDebugLine(b); HighlightedTextWriter writer = new HighlightedTextWriter(new CodeFormatting(), false); - String actual = b.toSource(10, new ArrayList<>(), swf.getAbcIndex(), 0, new HashSet<>()); + String actual = b.toSource(10, new ArrayList<>(), swf.getAbcIndex(), 0, new HashSet<>()); actual = actual.replace("\r\n", "\n"); assertEquals(actual, expected); - } + } private String recompilePCode(String str, SWFDecompilerAdapter deobfuscator) throws IOException, AVM2ParseException, InterruptedException { str = "code\r\n" @@ -543,37 +542,383 @@ public class ActionScript3DeobfuscatorTest extends ActionScriptTestBase { @Test public void testWhileTrue() throws Exception { decompilePCode( -" getlex QName(PackageNamespace(\"\"),\"Math\")\n" + -" getlex QName(PackageNamespace(\"\"),\"Math\")\n" + -" debugline 8\n" + -" callproperty QName(PackageNamespace(\"\"),\"random\"), 0\n" + -" pushbyte 6\n" + -" multiply\n" + -" callproperty QName(PackageNamespace(\"\"),\"floor\"), 1\n" + -" convert_i\n" + -" setlocal1\n" + -" getlocal1\n" + -" debugline 10\n" + -" pushbyte 4\n" + -" ifngt ofs0034\n" + -" jump ofs0030\n" + -" ofs002d:\n" + -" label\n" + -" debugline 11\n" + -" ofs0030:\n" + -" jump ofs002d\n" + -" ofs0034:\n" + -" ", " param1 = Math.floor(Math.random() * 6);\n" + -" if(param1 <= 4)\n" + -" {\n" + -" return;\n" + -" }\n" + -" while(true)\n" + -" {\n" + -" }\n"); - + " getlex QName(PackageNamespace(\"\"),\"Math\")\n" + + " getlex QName(PackageNamespace(\"\"),\"Math\")\n" + + " debugline 8\n" + + " callproperty QName(PackageNamespace(\"\"),\"random\"), 0\n" + + " pushbyte 6\n" + + " multiply\n" + + " callproperty QName(PackageNamespace(\"\"),\"floor\"), 1\n" + + " convert_i\n" + + " setlocal1\n" + + " getlocal1\n" + + " debugline 10\n" + + " pushbyte 4\n" + + " ifngt ofs0034\n" + + " jump ofs0030\n" + + " ofs002d:\n" + + " label\n" + + " debugline 11\n" + + " ofs0030:\n" + + " jump ofs002d\n" + + " ofs0034:\n" + + " ", " param1 = Math.floor(Math.random() * 6);\n" + + " if(param1 <= 4)\n" + + " {\n" + + " return;\n" + + " }\n" + + " while(true)\n" + + " {\n" + + " }\n"); + } - + + @Test + public void testObfuscatedSwitch() throws Exception { + decompilePCode("getlocal0\n" + + " pushbyte 0\n" + + " initproperty QName(PackageNamespace(\"\"),\"testA\")\n" + + " jump ofs0012\n" + + " call 7\n" + + " throw\n" + + " callmethod 1413, 7\n" + + " ofs0012:\n" + + " jump ofs001a\n" + + " ifge ofs001a\n" + + " ofs001a:\n" + + " jump ofs0024\n" + + " equals\n" + + " pushwith\n" + + " newfunction 30\n" + + " pop\n" + + " setlocal2\n" + + " ofs0024:\n" + + " jump ofs0132\n" + + " pushwith\n" + + " setlocal3\n" + + " ofs002a:\n" + + " label\n" + + " pushtrue\n" + + " iftrue ofs0036\n" + + " returnvoid\n" + + " popscope\n" + + " callsuper QName(PackageNamespace(\"aaa\"),\"xxx\"), 10\n" + + " pushwith\n" + + " ofs0036:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs01ff\n" + + " pushwith\n" + + " setlocal0\n" + + " ofs0040:\n" + + " label\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " getlocal0\n" + + " pushtrue\n" + + " iftrue ofs0052\n" + + " returnvoid\n" + + " popscope\n" + + " pushwith\n" + + " newfunction 48\n" + + " pop\n" + + " divide\n" + + " ofs0052:\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs01ff\n" + + " ifgt ofs0061\n" + + " ofs0061:\n" + + " label\n" + + " jump ofs006a\n" + + " ifstricteq ofs006a\n" + + " ofs006a:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs0078\n" + + " popscope\n" + + " pushwith\n" + + " newfunction 4\n" + + " throw\n" + + " checkfilter\n" + + " ofs0078:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs01ff\n" + + " pushwith\n" + + " setlocal0\n" + + " getlocal3\n" + + " ofs0083:\n" + + " label\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " pushfalse\n" + + " iffalse ofs0094\n" + + " returnvoid\n" + + " popscope\n" + + " equals\n" + + " setlocal1\n" + + " newactivation\n" + + " increment\n" + + " decrement\n" + + " ofs0094:\n" + + " jump ofs01ff\n" + + " pushwith\n" + + " setlocal2\n" + + " ofs009a:\n" + + " label\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " getlocal0\n" + + " jump ofs00a9\n" + + " modulo\n" + + " callsupervoid QName(PackageInternalNs(\"xxxx\"),\"tmp\"), 5\n" + + " pushwith\n" + + " ofs00a9:\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs00b4\n" + + " ifge ofs00b4\n" + + " ofs00b4:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs00c1\n" + + " popscope\n" + + " callproplex QName(PackageNamespace(\"\"),\"xxx\"), 18\n" + + " setlocal2\n" + + " ofs00c1:\n" + + " jump ofs01ff\n" + + " ifstrictne ofs00c9\n" + + " ofs00c9:\n" + + " label\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs00d8\n" + + " nextname\n" + + " dxns \"position\"\n" + + " pushwith\n" + + " setlocal2\n" + + " returnvalue\n" + + " ofs00d8:\n" + + " jump ofs01ff\n" + + " pushwith\n" + + " setlocal3\n" + + " getlocal1\n" + + " ofs00df:\n" + + " label\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " getlocal0\n" + + " jump ofs00ef\n" + + " popscope\n" + + " pushwith\n" + + " newfunction 24\n" + + " pop\n" + + " setlocal3\n" + + " ofs00ef:\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs00fa\n" + + " ifne ofs00fa\n" + + " ofs00fa:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " jump ofs0107\n" + + " popscope\n" + + " callproplex TypeName(QName(PackageNamespace(\"__AS3__.vec\"),\"Vector\")), 15\n" + + " throw\n" + + " ofs0107:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " pushtrue\n" + + " iftrue ofs0117\n" + + " returnvoid\n" + + " checkfilter\n" + + " pushwith\n" + + " newfunction 51\n" + + " throw\n" + + " instanceof\n" + + " ofs0117:\n" + + " getlocal0\n" + + " callpropvoid QName(PackageNamespace(\"\"),\"test\"), 0\n" + + " pushfalse\n" + + " iffalse ofs0127\n" + + " returnvoid\n" + + " popscope\n" + + " setlocal1\n" + + " istypelate\n" + + " setlocal1\n" + + " setlocal2\n" + + " divide\n" + + " ofs0127:\n" + + " jump ofs01ff\n" + + " pushwith\n" + + " setlocal2\n" + + " getlocal1\n" + + " jump ofs0132\n" + + " ofs0132:\n" + + " getlex QName(PackageNamespace(\"\"),\"Abc\")\n" + + " getproperty QName(PackageNamespace(\"\"),\"value\")\n" + + " setlocal1\n" + + " jump ofs013f\n" + + " ifle ofs013f\n" + + " ofs013f:\n" + + " pushbyte 1\n" + + " getlocal1\n" + + " ifstricteq ofs014a\n" + + " jump ofs015e\n" + + " ofs014a:\n" + + " pushbyte 0\n" + + " jump ofs0156\n" + + " pushscope\n" + + " setlocal0\n" + + " istypelate\n" + + " nextvalue\n" + + " istypelate\n" + + " decrement\n" + + " ofs0156:\n" + + " jump ofs01e3\n" + + " ifgt ofs015e\n" + + " ofs015e:\n" + + " pushbyte 2\n" + + " getlocal1\n" + + " ifstricteq ofs0169\n" + + " jump ofs0178\n" + + " ofs0169:\n" + + " pushbyte 1\n" + + " jump ofs01e3\n" + + " jump ofs0173\n" + + " ofs0173:\n" + + " dup\n" + + " callsuper QName(PackageNamespace(\"xxx\"),\"aaa\"), 27\n" + + " pop\n" + + " ofs0178:\n" + + " pushbyte 3\n" + + " getlocal1\n" + + " ifstricteq ofs0183\n" + + " jump ofs018b\n" + + " ofs0183:\n" + + " pushbyte 2\n" + + " jump ofs01e3\n" + + " pushwith\n" + + " setlocal0\n" + + " ofs018b:\n" + + " pushbyte 4\n" + + " getlocal1\n" + + " ifstrictne ofs01a2\n" + + " pushbyte 3\n" + + " jump ofs01e3\n" + + " jump ofs019c\n" + + " ofs019c:\n" + + " convert_s\n" + + " construct 110\n" + + " pushwith\n" + + " nextvalue\n" + + " setlocal2\n" + + " ofs01a2:\n" + + " pushbyte 5\n" + + " getlocal1\n" + + " ifstricteq ofs01ad\n" + + " jump ofs01b5\n" + + " ofs01ad:\n" + + " pushbyte 4\n" + + " jump ofs01e3\n" + + " pushwith\n" + + " setlocal2\n" + + " ofs01b5:\n" + + " pushbyte 6\n" + + " jump ofs01bf\n" + + " ifgt ofs01bf\n" + + " ofs01bf:\n" + + " getlocal1\n" + + " ifstrictne ofs01d4\n" + + " pushbyte 5\n" + + " jump ofs01e3\n" + + " jump ofs01ce\n" + + " ofs01ce:\n" + + " popscope\n" + + " pushwith\n" + + " newfunction 49\n" + + " pop\n" + + " checkfilter\n" + + " ofs01d4:\n" + + " jump ofs01e1\n" + + " throw\n" + + " setlocal3\n" + + " getlocal2\n" + + " pushbyte 6\n" + + " jump ofs01e1\n" + + " ofs01e1:\n" + + " pushbyte 6\n" + + " ofs01e3:\n" + + " kill 1\n" + + " lookupswitch ofs00df, [ofs002a, ofs0040, ofs0061, ofs0083, ofs009a, ofs00c9, ofs00df]\n" + + " ofs01ff:\n" + + " getlocal0\n" + + " pushbyte 0\n" + + " initproperty QName(PackageNamespace(\"\"),\"testX\")\n" + + " jump ofs020e\n" + + " popscope\n" + + " pushwith\n" + + " setlocal1\n" + + " bitxor\n" + + " convert_d\n" + + " setlocal2\n" + + " ofs020e:\n" + + " pushfalse\n" + + " iffalse ofs021a\n" + + " returnvoid\n" + + " typeof\n" + + " checkfilter\n" + + " bitand\n" + + " in\n" + + " convert_s\n" + + " nextvalue\n" + + " ofs021a:\n" + + " jump ofs0222\n" + + " ifgt ofs0222\n" + + " ofs0222:\n" + + " pushtrue\n" + + " iftrue ofs022d\n" + + " returnvoid\n" + + " setlocal2\n" + + " callsuper QName(PackageNamespace(\"xxx\"),\"aaa\"), 15\n" + + " throw\n" + + " ofs022d:", " this.testA = 0;\n" + + " switch(Abc.value)\n" + + " {\n" + + " case 1:\n" + + " this.test();\n" + + " break;\n" + + " case 2:\n" + + " this.test();\n" + + " this.test();\n" + + " this.test();\n" + + " break;\n" + + " case 3:\n" + + " this.test();\n" + + " this.test();\n" + + " break;\n" + + " case 4:\n" + + " this.test();\n" + + " break;\n" + + " case 5:\n" + + " this.test();\n" + + " this.test();\n" + + " this.test();\n" + + " break;\n" + + " case 6:\n" + + " this.test();\n" + + " break;\n" + + " default:\n" + + " this.test();\n" + + " this.test();\n" + + " this.test();\n" + + " this.test();\n" + + " this.test();\n" + + " }\n" + + " this.testX = 0;\n"); + } + // TODO: JPEXS @Test public void testNotRemoveParams() throws Exception { String res = recompile("function tst(p1,p2){" diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java index f22313df0..9d67cd2b8 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java @@ -1937,6 +1937,35 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile false); } + @Test + public void testSwitchBig() { + decompileMethod("classic_air", "testSwitchBig", "var k:int = 10;\r\n" + + "switch(k)\r\n" + + "{\r\n" + + "case \"A\":\r\n" + + "trace(\"A\");\r\n" + + "break;\r\n" + + "case \"B\":\r\n" + + "case \"C\":\r\n" + + "trace(\"BC\");\r\n" + + "break;\r\n" + + "case \"D\":\r\n" + + "default:\r\n" + + "case \"E\":\r\n" + + "trace(\"D-default-E\");\r\n" + + "break;\r\n" + + "case \"F\":\r\n" + + "trace(\"F no break\");\r\n" + + "case \"G\":\r\n" + + "trace(\"G\");\r\n" + + "break;\r\n" + + "case \"H\":\r\n" + + "trace(\"H last\");\r\n" + + "}\r\n" + + "trace(\"after switch\");\r\n", + false); + } + @Test public void testSwitchComma() { decompileMethod("classic_air", "testSwitchComma", "var b:int = 5;\r\n" @@ -1948,7 +1977,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "break;\r\n" + "case \"B\":\r\n" + "trace(\"is B\");\r\n" - + "case \"C\":\r\n" + + "case 7, \"C\":\r\n" + "trace(\"is C\");\r\n" + "}\r\n", false); diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java index f47839db4..fd21650be 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java @@ -424,8 +424,8 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes decompileMethod("classic", "testDefaultNotLastGrouped", "var k:* = 10;\r\n" + "switch(k)\r\n" + "{\r\n" - + "case \"six\":\r\n" + "default:\r\n" + + "case \"six\":\r\n" + "trace(\"def and 6\");\r\n" + "case \"five\":\r\n" + "trace(\"def and 6 and 5\");\r\n" @@ -1924,6 +1924,35 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes false); } + @Test + public void testSwitchBig() { + decompileMethod("classic", "testSwitchBig", "var k:* = 10;\r\n" + + "switch(k)\r\n" + + "{\r\n" + + "case \"A\":\r\n" + + "trace(\"A\");\r\n" + + "break;\r\n" + + "case \"B\":\r\n" + + "case \"C\":\r\n" + + "trace(\"BC\");\r\n" + + "break;\r\n" + + "case \"D\":\r\n" + + "default:\r\n" + + "case \"E\":\r\n" + + "trace(\"D-default-E\");\r\n" + + "break;\r\n" + + "case \"F\":\r\n" + + "trace(\"F no break\");\r\n" + + "case \"G\":\r\n" + + "trace(\"G\");\r\n" + + "break;\r\n" + + "case \"H\":\r\n" + + "trace(\"H last\");\r\n" + + "}\r\n" + + "trace(\"after switch\");\r\n", + false); + } + @Test public void testSwitchComma() { decompileMethod("classic", "testSwitchComma", "var b:int = 5;\r\n" diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf index 9771373ba8cc18b57f63ec6854d0e0246ec7c21b..e4ffa1267c14cdc849ae485d581d669b56d5ee4d 100644 GIT binary patch literal 32216 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 diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf index d175f4b6aed04c5667b397cca276ee0fab6aa030..546fb0dd923ba48b042d21b9f1c91c19452248c2 100644 GIT binary patch delta 40833 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 z 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

h@hI3a^3Ye`p$vW^4>SEy~Awk0xX;^c_l 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 delta 40526 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 diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/Main.as b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as index 3d74b6a86..81e75345a 100644 --- a/libsrc/ffdec_lib/testdata/as3_new/src/Main.as +++ b/libsrc/ffdec_lib/testdata/as3_new/src/Main.as @@ -118,6 +118,7 @@ package TestStringConcat; TestStrings; TestSwitch; + TestSwitchBig; TestSwitchContinue; TestSwitchComma; TestSwitchDefault; diff --git a/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestSwitchBig.as b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestSwitchBig.as new file mode 100644 index 000000000..007492623 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/as3_new/src/tests/TestSwitchBig.as @@ -0,0 +1,34 @@ +package tests +{ + + public class TestSwitchBig + { + public function run():* + { + var k:* = 10; + switch (k) + { + case "A": + trace("A"); + break; + case "B": + case "C": + trace("BC"); + break; + case "D": + default: + case "E": + trace("D-default-E"); + break; + case "F": + trace("F no break"); + case "G": + trace("G"); + break; + case "H": + trace("H last"); + } + trace("after switch"); + } + } +}