[Soot-list] Help using InfoFlow under FlowDroid

Steven Arzt Steven.Arzt at cased.de
Mon Aug 4 11:40:57 EDT 2014


Hi Ashish,

 

Are you analyzing normal Java code or are you running FlowDroid on Android APK files?

 

The Infoflow class has a method “setSootConfig” which you can use to specify additional Soot options such as “-pp” if required. Placing the JAR files on the libPath should usually however be enough.  What do you mean by “system path”? You need to put the full path and file name there, only putting a path is not sufficient.

 

The message about FlowDroid finding any sources or sinks can have two reasons. Either your source/sink definition file does not contain any sources or sinks that are actually used inside your target application or FlowDroid could not find any classes for your target application. To fix the latter, make sure that your appPath is correct. It needs to point to the APK/JAR file of your target program (or the location where the class files reside). Does your target program have an entry point (a main method)? If not, you need to use an EntryPointCreator.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von ASHISH MISHRA
Gesendet: Montag, 4. August 2014 17:15
An: Steven Arzt
Cc: Soot List
Betreff: Re: [Soot-list] Help using InfoFlow under FlowDroid

 

Thanks Steven for the quick reply,

 

I passed my system path value concatenated with the path to  external jar dependencies as the libPath argument  to the computeInfoflow() , but i supose its wrong way to do this as the soot class path doesn't seem to be set and i am getting  warnings like 

 

 

Warning: java.lang.NoClassDefFoundError is a phantom class!

Warning: java.lang.StringBuffer is a phantom class!

Warning: java.lang.Boolean is a phantom class!

Warning: java.lang.Long is a phantom class!

Warning: java.lang.Integer is a phantom class!

Warning: java.lang.Short is a phantom class!

Warning: java.lang.Float is a phantom class!

...

...

[main] INFO soot.jimple.infoflow.Infoflow - Basic class loading done.

[main] ERROR soot.jimple.infoflow.Infoflow - Only phantom classes loaded, skipping analysis...

 

 

Is there an analogue to using "-pp" option of soot while running the Infoflow , In general while using soot i append system class path to soot class path so soot can see these files but in this case this doesn't seem to be possible.

 

How can I resolve this issue.

 

Thanks

Ashish

 

 

 

 

 

 

On Mon, Aug 4, 2014 at 7:22 PM, Steven Arzt <Steven.Arzt at cased.de> wrote:

Hi Ashish,

 

These two parameters help FlowDroid distinguish between what you actaully want to analyze (put that into appPath) and what is needed to load it (put that into libPath). So if you want to analyze a Java program, your own sources which you actually want to analyze go into appPath. If you have any library dependencies, put those into libPath.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von ASHISH MISHRA
Gesendet: Montag, 4. August 2014 15:25
An: Soot List
Betreff: [Soot-list] Help using InfoFlow under FlowDroid

 

Hi ,

 

I am trying to use the soot-Infoflow implementation to analyze information flow , given a method .

 

 I have confusion about the parameters to pass to 

 

computeInfoflow(String appPath, String libPath, String entryPoint,

                                   ISourceSinkManager sourcesSinks)

 

What should i pass to appPath (Is this the path to my class to be analyzed or some other class) 

What should i pass to libPath (I assume its the soot class path , is there a way i can use something like -pp option )

 

I browsed the source and could see how these parameters are used 

 

Options.v().set_soot_classpath(appPath + File.pathSeparator + libPath); 

 

But i can't see how the parameters passed  fit into this .

 

If anyone faced a similar problem and suggest a solution(probably an example ) , it will be a great help.

 

Regards

Ashish

 

 

 

 

 

Regards,
Ashish Mishra
Graduate Student,
Computer Science and Automation Department,IISc
Cell : +91-9611194714
Mailto : ashishmishra at csa.iisc.ernet.in





 

-- 
Regards,
Ashish Mishra
Graduate Student,
Computer Science and Automation Department,IISc
Cell : +91-9611194714
Mailto : ashishmishra at csa.iisc.ernet.in

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140804/6540997c/attachment-0001.html 


More information about the Soot-list mailing list