<div dir="ltr">I managed to solve the problem. I downgraded to Java 7. Recompiled all test classes and analyser classes and added missing jars. Now everything runs.<div><br></div><div>-earlence</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 26, 2015 at 3:49 PM, Earlence Fernandes <span dir="ltr"><<a href="mailto:earlenceferns@gmail.com" target="_blank">earlenceferns@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I neglected to mention that I'm on Java 1.8.<div>When I changed the project to use Jave 1.7, I get this error:</div><div><div>Exception in thread "main" java.lang.RuntimeException: Could not load classfile: java.util.Map$Entry</div><div><span style="white-space:pre-wrap">        </span>at soot.coffi.Util.resolveFromClassFile(Util.java:75)</div><div><span style="white-space:pre-wrap">        </span>at soot.CoffiClassSource.resolve(CoffiClassSource.java:39)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToHierarchy(SootResolver.java:215)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToSignatures(SootResolver.java:239)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToBodies(SootResolver.java:280)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.processResolveWorklist(SootResolver.java:150)</div><div><span style="white-space:pre-wrap">        </span>at soot.SootResolver.resolveClass(SootResolver.java:124)</div><div><span style="white-space:pre-wrap">        </span>at soot.Scene.forceResolve(Scene.java:1279)</div><div><span style="white-space:pre-wrap">        </span>at com.microsoft.smartthings.overprivilege.OverprivilegeAnalyser.main(OverprivilegeAnalyser.java:44)</div></div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Earlence</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 26, 2015 at 3:27 PM, Earlence Fernandes <span dir="ltr"><<a href="mailto:earlenceferns@gmail.com" target="_blank">earlenceferns@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have set the soot classpath to contain rt.jar, but I still get that message. I'm trying to use soot to analyse compiled groovy programs.<div><br><div>My setup looks like:<div><br></div><div><div> public static void main(String [] args)</div><div><span style="white-space:pre-wrap">        </span>{</div><div><span style="white-space:pre-wrap">                </span>System.out.println("Overprivilege Analyser");</div><div><span style="white-space:pre-wrap">                </span>Transform oat = new Transform("wjtp.OASceneTransformer", new OASceneTransformer());</div><div><span style="white-space:pre-wrap">                </span>PackManager.v().getPack("wjtp").add(oat);</div><div><span style="white-space:pre-wrap">                </span><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>//<a href="https://github.com/Sable/soot/wiki/Using-Soot-with-custom-entry-points" target="_blank">https://github.com/Sable/soot/wiki/Using-Soot-with-custom-entry-points</a></div><div><span style="white-space:pre-wrap">                </span>String classpath = "C:\\Program Files\\Java\\jre1.8.0_51\\lib\\rt.jar;"</div><div><span style="white-space:pre-wrap">                                </span>+ "C:\\Users\\t-earlef\\workspace\\SmartThingsCompilationShell\\bin\\;"</div><div><span style="white-space:pre-wrap">                                </span>+ "C:\\apps\\groovy-2.4.4\\lib\\groovy-2.4.4.jar";</div><div><span style="white-space:pre-wrap">                                </span></div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>String [] args2 = {</div><div><span style="white-space:pre-wrap">                                </span>"-soot-class-path", classpath, </div><div><span style="white-space:pre-wrap">                                </span>"-w",</div><div><span style="white-space:pre-wrap">                                </span>"-src-prec", "class",</div><div><span style="white-space:pre-wrap">                                </span>"-process-dir", "D:\\SamsungSmartApps\\sootclasstest\\",</div><div><span style="white-space:pre-wrap">                                </span>"-d", "D:\\SamsungSmartApps\\sootout",</div><div><span style="white-space:pre-wrap">                                </span>"-dump-cfg", "ALL"</div><div><span style="white-space:pre-wrap">                </span>};</div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>Options.v().parse(args2);</div><div><span style="white-space:pre-wrap">                                </span></div><div><span style="white-space:pre-wrap">                </span>System.out.println("Soot class path " + Scene.v().getSootClassPath());</div><div><span style="white-space:pre-wrap">                </span></div><div><span style="white-space:pre-wrap">                </span>SootClass c = Scene.v().forceResolve("REDACTED", SootClass.BODIES);</div><div><span style="white-space:pre-wrap">                </span>c.setApplicationClass();</div><div><span style="white-space:pre-wrap">                </span>Scene.v().loadNecessaryClasses();</div><div><span style="white-space:pre-wrap">                </span>List<SootMethod> entryPoints = new ArrayList<SootMethod>();</div><div><span style="white-space:pre-wrap">                </span>//entryPoints.add(c.getMethodByName("skeleton1"));</div><div><span style="white-space:pre-wrap">                </span>entryPoints.add(c.getMethodByName("installed"));</div><div><span style="white-space:pre-wrap">                </span>Scene.v().setEntryPoints(entryPoints);</div><div><span style="white-space:pre-wrap">                </span>PackManager.v().runPacks();</div><div><span style="white-space:pre-wrap">        </span>}</div></div><span><font color="#888888"><div><br></div><div><br></div><div>-Earlence</div></font></span></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>