[Soot-list] Could not load classfile: java.util.Arrays

Earlence Fernandes earlenceferns at gmail.com
Sun Jul 26 19:38:17 EDT 2015


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.

-earlence

On Sun, Jul 26, 2015 at 3:49 PM, Earlence Fernandes <earlenceferns at gmail.com
> wrote:

> I neglected to mention that I'm on Java 1.8.
> When I changed the project to use Jave 1.7, I get this error:
> Exception in thread "main" java.lang.RuntimeException: Could not load
> classfile: java.util.Map$Entry
> at soot.coffi.Util.resolveFromClassFile(Util.java:75)
> at soot.CoffiClassSource.resolve(CoffiClassSource.java:39)
> at soot.SootResolver.bringToHierarchy(SootResolver.java:215)
> at soot.SootResolver.bringToSignatures(SootResolver.java:239)
> at soot.SootResolver.bringToBodies(SootResolver.java:280)
> at soot.SootResolver.processResolveWorklist(SootResolver.java:150)
> at soot.SootResolver.resolveClass(SootResolver.java:124)
> at soot.Scene.forceResolve(Scene.java:1279)
> at
> com.microsoft.smartthings.overprivilege.OverprivilegeAnalyser.main(OverprivilegeAnalyser.java:44)
>
> -Earlence
>
> On Sun, Jul 26, 2015 at 3:27 PM, Earlence Fernandes <
> earlenceferns at gmail.com> wrote:
>
>> 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.
>>
>> My setup looks like:
>>
>>         public static void main(String [] args)
>> {
>> System.out.println("Overprivilege Analyser");
>> Transform oat = new Transform("wjtp.OASceneTransformer", new
>> OASceneTransformer());
>> PackManager.v().getPack("wjtp").add(oat);
>>  //https://github.com/Sable/soot/wiki/Using-Soot-with-custom-entry-points
>> String classpath = "C:\\Program Files\\Java\\jre1.8.0_51\\lib\\rt.jar;"
>> + "C:\\Users\\t-earlef\\workspace\\SmartThingsCompilationShell\\bin\\;"
>> + "C:\\apps\\groovy-2.4.4\\lib\\groovy-2.4.4.jar";
>>  String [] args2 = {
>> "-soot-class-path", classpath,
>> "-w",
>> "-src-prec", "class",
>> "-process-dir", "D:\\SamsungSmartApps\\sootclasstest\\",
>> "-d", "D:\\SamsungSmartApps\\sootout",
>> "-dump-cfg", "ALL"
>> };
>>  Options.v().parse(args2);
>>  System.out.println("Soot class path " + Scene.v().getSootClassPath());
>>  SootClass c = Scene.v().forceResolve("REDACTED", SootClass.BODIES);
>> c.setApplicationClass();
>> Scene.v().loadNecessaryClasses();
>> List<SootMethod> entryPoints = new ArrayList<SootMethod>();
>> //entryPoints.add(c.getMethodByName("skeleton1"));
>> entryPoints.add(c.getMethodByName("installed"));
>> Scene.v().setEntryPoints(entryPoints);
>> PackManager.v().runPacks();
>> }
>>
>>
>> -Earlence
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150726/27a0aa0d/attachment-0001.html 


More information about the Soot-list mailing list