[Soot-list] Null Pointer Exception when Creating Dummy Main Method for APK

Steven Arzt Steven.Arzt at cased.de
Wed Aug 5 08:36:46 EDT 2015


Hi,


This is very strange. Your APK file contains classes that implement interfaces which are not actually interfaces, but proper classes. This should normally not be possible. Nevertheless, I have patched Soot to handle such cases. The code is on Github, a new nightly build will be available tomorrow.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von R.F.
Gesendet: Dienstag, 4. August 2015 16:41
An: soot-list at CS.McGill.CA
Betreff: [Soot-list] Null Pointer Exception when Creating Dummy Main Method for APK

 

Hi,

 

First of all, please forgive me for reporting so many issues with FlowDroid, since I am studying and testing it heavily recently as a newbie. To Steven and all the contributors of Soot, I cannot be more grateful. I'm glad to see Soot keep getting better and better.

 

I was analyzing  another APK using the given test class of FlowDroid.

 

https://drive.google.com/file/d/0B0ceYAgUVEZbZmVmbnZWTEY5T0E/view?usp=sharing

 

However, the following exception is thrown:

Exception in thread "main" java.lang.NullPointerException

     at soot.Hierarchy.<init>(Hierarchy.java:128)

     at soot.Scene.getActiveHierarchy(Scene.java:957)

     at soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator.getComponentType(AndroidEntryPointCreator.java:448)

     at soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator.createDummyMainInternal(AndroidEntryPointCreator.java:180)

     at soot.jimple.infoflow.entryPointCreators.BaseEntryPointCreator.createDummyMainInternal(BaseEntryPointCreator.java:122)

     at soot.jimple.infoflow.entryPointCreators.BaseEntryPointCreator.createDummyMain(BaseEntryPointCreator.java:107)

     at soot.jimple.infoflow.android.SetupApplication.createMainMethod(SetupApplication.java:598)

     at soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(SetupApplication.java:447)

     at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:378)

     at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:344)

     at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Test.java:521)

     at soot.jimple.infoflow.android.TestApps.Test.main(Test.java:215)

 

 

My setup is the latest source code on the develop branch (or default branch on GitHub) of Jasmin (https://github.com/Sable/jasmin), Heros (https://github.com/Sable/heros), Soot (https://github.com/Sable/soot), Soot Infoflow (https://github.com/secure-software-engineering/soot-infoflow) and Soot Infoflow Android (https://github.com/secure-software-engineering/soot-infoflow-android). My arguments are "/PATH/TO/APK /PATH/TO/android-platforms". The "android-platform" directory is also a clone of https://github.com/Sable/android-platforms. The JRE used by Eclipse is Oracle Java 7 on Ubuntu 15.04 64-bit (/usr/lib/jvm/java-7-oracle).

 

Can you reproduce the issue?

 

Thanks so much.

 

 

 

Best Regards,

R.F. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150805/cfe7eb65/attachment.html 


More information about the Soot-list mailing list