From 48f338501a294aac6cbda222c5e2a570ab268258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Sat, 6 Jul 2013 15:46:59 +0200 Subject: [PATCH] deobfuscation - readactionlistatpos fix --- trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java b/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java index 3f1a3c9aa..c8c62681a 100644 --- a/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java +++ b/trunk/src/com/jpexs/decompiler/flash/SWFInputStream.java @@ -548,10 +548,10 @@ public class SWFInputStream extends InputStream { } GraphSourceItem ins = code.get(ip); if (ins.isIgnored()) { - if(ins.isExit()){ + if (ins.isExit()) { break; } - ip++; + ip++; continue; } @@ -604,7 +604,7 @@ public class SWFInputStream extends InputStream { if (ins instanceof ActionJump) { add += " change:" + (((ActionJump) ins).getJumpOffset()); } - System.err.println("getConstantPool ip " + ip + ", addr " + Helper.formatAddress(((Action) ins).getAddress()) + ": " + ((Action) ins).getASMSource(new ArrayList(), new ArrayList(), cpool==null?null:cpool.constants, version, false) + add + " stack:" + Helper.stackToString(stack, Helper.toList(cpool))); + System.err.println("getConstantPool ip " + ip + ", addr " + Helper.formatAddress(((Action) ins).getAddress()) + ": " + ((Action) ins).getASMSource(new ArrayList(), new ArrayList(), cpool == null ? null : cpool.constants, version, false) + add + " stack:" + Helper.stackToString(stack, Helper.toList(cpool))); } if (ins instanceof ActionConstantPool) { constantPools.add(new ConstantPool(((ActionConstantPool) ins).constantPool)); @@ -1100,6 +1100,9 @@ public class SWFInputStream extends InputStream { notCompileTime = true; } prevIp = ip; + if (a.isExit()) { + break; + } } for (DisassemblyListener listener : listeners) { listener.progress("Reading", rri.getCount(), rri.length());