[Soot-list] Soot Class not founded creating dummy Main

Tanzirul Azim tanzir.buet at gmail.com
Tue Jul 26 03:08:16 EDT 2016


Hi, 
I am trying to get the CG for an APK using soot programmatically. But for every APK each time doing the CG creation in Eclipse I am encountering the error for my complete code: 
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;


import org.xmlpull.v1.XmlPullParserException;

import soot.*;
import soot.jimple.infoflow.android.SetupApplication;
import soot.jimple.toolkits.callgraph.CallGraph;
import soot.options.Options;
import soot.toolkits.graph.ExceptionalUnitGraph;
import soot.util.Chain;

//import oracle.jrockit.jfr.Options;

public class TestInside {

	//@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		soot.G.reset();
		Options.v().set_keep_line_number(true);
		

		Options.v().set_src_prec(Options.src_prec_apk);

		Options.v().set_process_dir(Collections.singletonList(Constants.APK_PATH));
		

		Options.v().set_android_jars(Constants.PLATFORM_PATH);

		Options.v().set_whole_program(true);

		Options.v().set_allow_phantom_refs(true);

		Options.v().set_keep_line_number(true);
		Options.v().set_allow_phantom_refs(true);
		List <String> list = new ArrayList<>();
		list.add(Constants.APK_PATH);
		Options.v().set_process_dir(Collections.singletonList(Constants.APK_PATH));

		Options.v().set_output_format(Options.output_format_none);

		Options.v().setPhaseOption("cg.spark verbose:true", "on");
		Scene.v().loadNecessaryClasses();
		
		SetupApplication app = new SetupApplication(Constants.PLATFORM_PATH, Constants.APK_PATH);
		try {

		app.calculateSourcesSinksEntrypoints(Constants.SOURCE_SINK_PATH);

		} catch (IOException e) {

		// TODO Auto-generated catch block

		e.printStackTrace();

		} catch (XmlPullParserException e) {

		// TODO Auto-generated catch block

		e.printStackTrace();

		}

//		
		
		SootMethod entryPoint = app.getEntryPointCreator().createDummyMain();

		Options.v().set_main_class(entryPoint.getSignature());

		Scene.v().setEntryPoints(Collections.singletonList(entryPoint));
		System.out.println(entryPoint.getActiveBody());

		PackManager.v().runPacks();

		System.out.println(Scene.v().getCallGraph().size());
		CallGraph cg = Scene.v().getCallGraph();
		//app.runInfoflow();
		

		

	}

}

Exception in thread "main" soot.SootResolver$SootClassNotFoundException: couldn't find class: com.dictionary.paid.Serp (is your soot-class-path set properly?)

I would like to know what things are messed up here. The error occurs in the line where I call createDummyMain() 
--
Tanzirul Azim






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


More information about the Soot-list mailing list