[Soot-list] FlowDroid exception encountered using Eclipse-generated soot.jar

Roy Liu royliudev at gmail.com
Tue Oct 7 23:02:21 EDT 2014


Hi All,

I'm currently experimenting running FlowDroid to analyze some Android
malware samples.
I've used Eclipse to import all the Java source packages required to run
FlowDroid as mentioned
in the FlowDroid's github page (
https://github.com/secure-software-engineering/soot-infoflow-android/wiki);
and then build the source packages to generate the corresponding JAR files,
which can be seen in the following command line.

   D:> java -Xmx1g -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 malware1.apk
   adt\sdk\platforms

The following exception, however, was encountered due to the
Eclipse-generated soot.jar:

   Exception in thread "main" java.lang.NoClassDefFoundError:
org/xmlpull/v1/XmlPullParserException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.privateGetMethodRecursive(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
   Caused by: java.lang.ClassNotFoundException:
org.xmlpull.v1.XmlPullParserException
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 7 more

If I replace the Eclipse-built soot.jar with the FlowDroid's nighly-built
soot-trunk.jar,
while keeping my other Eclipse-built JAR files soot-infoflow.jar and
soot-infoflow-android.jar,
then FlowDroid execution works fine and is able to produce the
privacy-leakage path results.

I was wondering what could be the cause of the exception when I used the
Eclipse-generated soot.jar.
No compilation errors were reported during the soot.jar building (i.e. JAR
exporting) process.
And the other two Eclipse-based JAR files (soot-infoflow.jar and
soot-infoflow-android.jar),
which were generated in the same way as soot.jar, work just fine with the
FlowDroid's
nighly-built soot-trunk.jar.

Any enlightenment on this exception issue will be much appreciated.

Thanks and regards,
Roy Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20141008/5a9e1406/attachment.html 


More information about the Soot-list mailing list