[Soot-list] "Value $r0 of type .app.MainActivity previously had type android.os.Bundle"

H S aras_h1988 at yahoo.com
Wed Jul 16 13:13:59 EDT 2014


Hi,
First one creates the dummy Main method, it works fine, but then for runInfoFlow, it gives the following error : 

The Error:
Exception in thread "main" java.lang.RuntimeException: Value $r0 of type com.example.myapplication4.app.MainActivity previously had type android.os.Bundle

which comes after the following terminal output:

=======end of runPacks=====================================================================================
======================runInfoFlow======================================================================
Running data flow analysis on .\apks\app17.apk with 127 sources and 60 sinks...
Starting infoflow computation...
[main] INFO soot.jimple.infoflow.Infoflow - Resetting Soot...
Using 'C:\Users\a0r262s\AppData\Local\Android\android-sdk\platforms\android-17\android.jar' as android.jar
Warning: java.lang.ref.Finalizer is a phantom class!
...


Code :
	String apkInput=".\\apks\\app17.apk";

        String AndroidJar=System.getenv("ANDROID_HOME")+"\\platforms";
        String forcedPathAndroidJar=System.getenv("ANDROID_HOME")+"\\platforms\\android-17\\android.jar";
        // android-17
        Options.v().set_android_jars(AndroidJar);
        Options.v().set_force_android_jar(forcedPathAndroidJar);//
        SetupApplication setupApplication = new SetupApplication(forcedPathAndroidJar,apkInput);
        setupApplication.setTaintWrapper(new EasyTaintWrapper("EasyTaintWrapperSource.txt"));
        setupApplication.calculateSourcesSinksEntrypoints("SourcesAndSinks.txt");


        setupApplication.setEnableImplicitFlows(true);


        setupApplication.setEnableStaticFieldTracking(true);
        setupApplication.setFlowSensitiveAliasing(true);
        setupApplication.setEnableCallbacks(true);
        setupApplication.setEnableExceptionTracking(true);
        setupApplication.setComputeResultPaths(true);
        setupApplication.getSootConfig();//
        //
        soot.G.reset();
        Options.v().set_src_prec(Options.src_prec_apk);
        Options.v().set_process_dir(Collections.singletonList(apkInput));
        Options.v().set_android_jars(AndroidJar);
        Options.v().set_force_android_jar(forcedPathAndroidJar);//
        Options.v().set_whole_program(true);
        Options.v().set_allow_phantom_refs(true);
        Options.v().set_output_format(Options.output_format_class);
        Scene.v().setPhantomRefs(true);//
        Options.v().setPhaseOption("cg.spark", "on");
        Scene.v().loadNecessaryClasses();
        Scene.v().loadDynamicClasses();//
        Scene.v().loadBasicClasses();//


        SootMethod entryPoint = setupApplication.getEntryPointCreator().createDummyMain();
        Options.v().set_main_class(entryPoint.getSignature());
        Scene.v().setEntryPoints(Collections.singletonList(entryPoint));
        Options.v().set_whole_program(true);
        //System.out.println("<getActiveBody>             ===================================");
        //System.out.println(entryPoint.getActiveBody());
        System.out.println("=======runPacks=====================================================================================");
       PackManager.v().runPacks();
        System.out.println(Scene.v().getCallGraph().size());
        System.out.println("=======end of runPacks=====================================================================================");
        //


ResultsAvailableHandler resultsAvailableHandler = new ResultsAvailableHandler() {
    @Override
    public void onResultsAvailable(IInfoflowCFG iInfoflowCFG, InfoflowResults infoflowResults) {

    }
};
        System.out.println("======================runInfoFlow======================================================================");
      InfoflowResults infoflowResults = setupApplication.runInfoflow(resultsAvailableHandler);
        System.out.println("-----------------------end of runInfoFlow--------------------------------------------------------------------");
        infoflowResults.printResults();

        System.out.println("--------------------------end-of-printResults----------------------------------------------------------------");
       System.out.println(infoflowResults.getResults());
        System.out.println("--------------------------end-of-getResults----------------------------------------------------------------");

    }

    }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140716/92b7ccc3/attachment-0003.html 


More information about the Soot-list mailing list