[Soot-list] Multiple runtime exceptions when analyzing Android APKs

dingsun xyz031702 at hotmail.com
Fri Jul 26 09:10:27 EDT 2013


Hi all,
We are recently using soot's android package to analyze Android apks.  We followed the online tutorial to generate jimple files from apks. 
We analyzed 40 apks (randomly picked from Google Play), average file size is 5 to 8 MB and the maximum is 25 MB. However we encountered several problems, which may be caused by soot bugs.(1) 25% apk analysis stopped due to java.lang.OutOfMemoryError, although we have allocated 8GB memory for the analysis.(2) 35% apk analysis crashed due to various soot internal exceptions:” java.lang.RuntimeException: Unhandled type bottom_type”,“soot.AbstractSootFieldRef$FieldResolutionFailedException: Class android.content.pm.ActivityInfo doesn't have field parentActivityName : java.lang.String; failed to resolve in superclasses and interfacesLooking in android.content.pm.ActivityInfo”,“java.lang.ClassCastException: soot.RefType cannot be cast to soot.ArrayType”,“java.lang.ClassCastException”,“Unexpected type null”,“java.lang.RuntimeException: Trying to create interface invoke expression for non-interface type: com.android.vending.billing.IMarketBillingService Use JVirtualInvokeExpr or JSpecialInvokeExpr instead!”soot.RefType cannot be cast to soot.ArrayType
Our analyzing program only contains the following code:                              //////////////////////////////                       public String[] sootArgs={"-allow-phantom-refs", "-p", "jb"			            , "use-original-names:true", "-w", "-p", "cg", "all-reachable:true", 			             "-p", "cg", "verbose:true", "-include-all",			              "-android-jars","D:\\soot_android\\Soot_android-platforms-master",			              "-process-dir","D:\\soot_android\\app.apk"};
                        G.v().reset();			Options.v().set_src_prec(Options.src_prec_apk);			Options.v().set_output_format(Options.output_format_J);  //output as Jimple			Options.v().set_output_dir("D:\\soot_android\\processedResult");			soot.Main.main(sootArgs);                        //////////////////////////////The soot and android package is downloaded from Github (develop branch). We can share the complete program and the apks.
We would like to cut down the error rate, likely say down to 15 to 20%. We would highly appreciate if you could give us suggestions.
Best regards,Ding Sun
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130726/8438e81c/attachment.html 


More information about the Soot-list mailing list