Trying to see if I can run pme on client init. Failing between unequal number of java string invokes

This commit is contained in:
Adam
2016-01-17 20:29:23 -05:00
parent c632beac50
commit d328551750
3 changed files with 10 additions and 2 deletions

View File

@@ -102,6 +102,12 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
frame.addInstructionContext(ins);
}
@Override
public String toString()
{
return "invokespecial " + method + " in " + this.getInstructions().getCode().getAttributes().getMethod();
}
@Override
public String getDesc(Frame frame)

View File

@@ -85,11 +85,13 @@ public class ParallellMappingExecutor
if (p1.getInstruction() instanceof InvokeStatic && !(p2.getInstruction() instanceof InvokeStatic))
{
f1 = stepInto(f1);
f1 = popStack(f1);
p1 = f1.getInstructions().get(f1.getInstructions().size() - 1);
}
else if (p2.getInstruction() instanceof InvokeStatic && !(p1.getInstruction() instanceof InvokeStatic))
{
f2 = stepInto(f2);
f2 = popStack(f2);
p2 = f2.getInstructions().get(f2.getInstructions().size() - 1);
}

View File

@@ -68,8 +68,8 @@ public class MapStaticTest
ClassGroup group1 = JarUtil.loadJar(new File("d:/rs/07/adamin1.jar"));
ClassGroup group2 = JarUtil.loadJar(new File("d:/rs/07/adamin2.jar"));
Method m1 = group1.findClass("class107").findMethod("method2427");
Method m2 = group2.findClass("class107").findMethod("method2344");
Method m1 = group1.findClass("client").findMethod("init");
Method m2 = group2.findClass("client").findMethod("init");
ParallelExecutorMapping mappings = MappingExecutorUtil.map(m1, m2);
}