[Soot-list] AxmlVisitor class not found

Bernhard Berger berber at tzi.de
Fri May 2 00:29:02 EDT 2014


Hi Stefan,

the file is included in axml-2.0.jar that can be found here: https://github.com/secure-software-engineering/soot-infoflow-android/tree/develop/lib. It seems that you have to fix your class path settings.

Regards,

Bernhard

Am 30.04.2014 um 03:06 schrieb Stefan Gommer <gommeriphone at googlemail.com>:

> Hello,
> 
> i’m quite new to soot and (unfortunately) java. I’ve tried to analyze an android app that does nothing with flowdroid.
> I downloaded the files from the nightly build and startet the file with the following command line:
> 
> java -cp soot.jar:soot-infoflow.jar:soot-infoflow-android.jar:slf4j-api-1.7.5.jar:slf4j-simple-1.7.5.jar:axml-2.0.jar soot.jimple.infoflow.android.TestApps.Test "Apps/nothing.apk" ../android\ sdk/sdk/platforms/ 
> 
> I’m getting this output:
> 
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/Users/neji/Documents/Uni%20Stuff/Master%20Thesis/FlowDroid/soot.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/Users/neji/Documents/Uni%20Stuff/Master%20Thesis/FlowDroid/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
> [main] INFO soot.jimple.infoflow.taintWrappers.EasyTaintWrapper - Loaded wrapper entries for 52 classes and 4 exclusions.
> [main] INFO soot.jimple.infoflow.android.SetupApplication - ARSC file parsing took 0.018594 seconds
> warning: Android API version '15' not available, using minApkVersion '1' instead
> warning: Android API version '15' not available, using minApkVersion '1' instead
> Using '../android sdk/sdk/platforms//android-3/android.jar' as android.jar
> Warning: java.lang.ref.Finalizer is a phantom class!
> [main] INFO soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Generated main method:
>     public static void dummyMainMethod()
>     {
>         int $i0;
>         my.app.does.nothing.Nothing $r0;
>         android.os.Bundle $r1;
> 
>         $i0 = 0;
> 
>      label0:
>         if $i0 == 0 goto label4;
> 
>         $r0 = new my.app.does.nothing.Nothing;
>         specialinvoke $r0.<my.app.does.nothing.Nothing: void <init>()>();
>         if $i0 == 1 goto label4;
> 
>      label1:
>         $r1 = new android.os.Bundle;
>         specialinvoke $r1.<android.os.Bundle: void <init>()>();
>         virtualinvoke $r0.<my.app.does.nothing.Nothing: void onCreate(android.os.Bundle)>($r1);
>         $r1 = null;
> 
>      label2:
>         if $i0 == 3 goto label1;
> 
>         if $i0 == 4 goto label3;
> 
>         if $i0 == 5 goto label1;
> 
>         if $i0 == 6 goto label2;
> 
>      label3:
>         if $i0 == 7 goto label4;
> 
>      label4:
>         if $i0 == 8 goto label0;
> 
>         return;
>     }
> 
> [Call Graph] For information on where the call graph may be incomplete, use the verbose option to the cg phase.
> [Spark] Pointer Assignment Graph in 0.2 seconds.
> [Spark] Type masks in 0.0 seconds.
> [Spark] Pointer Graph simplified in 0.0 seconds.
> [Spark] Propagation in 0.1 seconds.
> [Spark] Solution found in 0.1 seconds.
> Callback analysis done.
> Exception in thread "main" java.lang.NoClassDefFoundError: pxb/android/axml/AxmlVisitor$NodeVisitor
> 	at soot.jimple.infoflow.android.resources.LayoutFileParser$1$1.handleResourceFile(Unknown Source)
> 	at soot.jimple.infoflow.android.resources.AbstractResourceParser.handleAndroidResourceFiles(Unknown Source)
> 	at soot.jimple.infoflow.android.resources.LayoutFileParser$1.internalTransform(Unknown Source)
> 	at soot.SceneTransformer.transform(SceneTransformer.java:39)
> 	at soot.Transform.apply(Transform.java:90)
> 	at soot.ScenePack.internalApply(ScenePack.java:43)
> 	at soot.Pack.apply(Pack.java:116)
> 	at soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(Unknown Source)
> 	at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(Unknown Source)
> 	at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(Unknown Source)
> 	at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Unknown Source)
> 	at soot.jimple.infoflow.android.TestApps.Test.main(Unknown Source)
> Caused by: java.lang.ClassNotFoundException: pxb.android.axml.AxmlVisitor$NodeVisitor
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> 	... 12 more
> 
> 
> It seems that the AxmlVisitor class cannot be found. Is this a bug or is it an error caused by me? Do I have to put this file somewhere?
> 
> Any help appreciated
> 
> Regards,
> Stefan
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140502/b452a2f4/attachment.html 


More information about the Soot-list mailing list