deobfuscation - readactionlistatpos fix

This commit is contained in:
Jindra Petk
2013-07-06 15:46:59 +02:00
parent a188de262f
commit 48f338501a

View File

@@ -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<GraphSourceItem>(), new ArrayList<Long>(), 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<GraphSourceItem>(), new ArrayList<Long>(), 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());