public interface IInfoflow extends ITaintWrapperDataFlowAnalysis
| 限定符和类型 | 方法和说明 |
|---|---|
void |
abortAnalysis()
Aborts the data flow analysis.
|
void |
addResultsAvailableHandler(ResultsAvailableHandler handler)
Adds a handler that is called when information flow results are available
|
void |
computeInfoflow(String appPath,
String libPath,
Collection<String> entryPoints,
Collection<String> sources,
Collection<String> sinks)
Computes the information flow on a list of entry point methods.
|
void |
computeInfoflow(String appPath,
String libPath,
IEntryPointCreator entryPointCreator,
ISourceSinkManager sourcesSinks)
Computes the information flow on a list of entry point methods.
|
void |
computeInfoflow(String appPath,
String libPath,
IEntryPointCreator entryPointCreator,
List<String> sources,
List<String> sinks)
Computes the information flow on a list of entry point methods.
|
void |
computeInfoflow(String appPath,
String libPath,
String entryPoint,
Collection<String> sources,
Collection<String> sinks)
Computes the information flow on a single method.
|
void |
computeInfoflow(String appPath,
String libPath,
String entryPoint,
ISourceSinkManager sourcesSinks)
Computes the information flow on a single method.
|
Set<soot.jimple.Stmt> |
getCollectedSinks()
Gets the concrete set of sinks that have been collected in preparation for
the taint analysis.
|
Set<soot.jimple.Stmt> |
getCollectedSources()
Gets the concrete set of sources that have been collected in preparation for
the taint analysis.
|
InfoflowConfiguration |
getConfig()
Gets the configuration to be used for the data flow analysis
|
InfoflowResults |
getResults()
getResults returns the results found by the analysis
|
boolean |
isResultAvailable()
A result is available if the analysis has finished - so if this method
returns false the analysis has not finished yet or was not started (e.g. no
sources or sinks found)
|
void |
removeResultsAvailableHandler(ResultsAvailableHandler handler)
Removes a handler that is called when information flow results are available
|
void |
setBackwardsPropagationHandler(TaintPropagationHandler handler)
Sets a handler which is invoked whenever an alias is propagated backwards
|
void |
setConfig(InfoflowConfiguration config)
Sets the configuration to be used for the data flow analysis
|
void |
setExecutorFactory(IExecutorFactory executorFactory)
Sets the factory to be used for creating thread pool executors
|
void |
setIPCManager(IIPCManager ipcManager) |
void |
setMemoryManagerFactory(IMemoryManagerFactory factory)
Sets the factory to be used for creating memory managers
|
void |
setNativeCallHandler(INativeCallHandler handler)
Sets the handler class to be used for modeling the effects of native methods
on the taint state
|
void |
setPathBuilderFactory(IPathBuilderFactory factory)
Sets the path builder factory to be used in subsequent data flow analyses
|
void |
setPostProcessors(Collection<? extends PostAnalysisHandler> postprocessors)
Sets the set of post-processors that shall be executed after the data flow
analysis has finished
|
void |
setPreProcessors(Collection<? extends PreAnalysisHandler> preprocessors)
List of preprocessors that need to be executed in order before the
information flow.
|
void |
setPropagationRuleManagerFactory(IPropagationRuleManagerFactory ruleManagerFactory)
Sets the factory to be used for creating the propagation rule manager, which
can then add features to the core data flow engine
|
void |
setSootConfig(IInfoflowConfig config)
Sets the Soot configuration callback to be used for this analysis
|
void |
setTaintPropagationHandler(TaintPropagationHandler handler)
Sets a handler which is invoked whenever a taint is propagated
|
getTaintWrapper, setTaintWrapperInfoflowConfiguration getConfig()
void setConfig(InfoflowConfiguration config)
config - The configuration to be used for the data flow analysisvoid setNativeCallHandler(INativeCallHandler handler)
handler - The native call handler to usevoid setPreProcessors(Collection<? extends PreAnalysisHandler> preprocessors)
preprocessors - the pre-processorsvoid setPostProcessors(Collection<? extends PostAnalysisHandler> postprocessors)
postprocessors - The post-processors to execute on the resultsvoid computeInfoflow(String appPath, String libPath, IEntryPointCreator entryPointCreator, List<String> sources, List<String> sinks)
appPath - The path containing the client program's fileslibPath - The path to the main folder of the (unpacked)
library class filesentryPointCreator - the entry point creator to use for generating the
dummy main methodsources - list of source class+method (as string conforms to
SootMethod representation)sinks - list of sink class+method (as string conforms to
SootMethod representation)void computeInfoflow(String appPath, String libPath, Collection<String> entryPoints, Collection<String> sources, Collection<String> sinks)
appPath - The path containing the client program's fileslibPath - the path to the main folder of the (unpacked) library
class filesentryPoints - the entryPoints (string conforms to SootMethod
representation)sources - list of source class+method (as string conforms to
SootMethod representation)sinks - list of sink class+method (as string conforms to
SootMethod representation)void computeInfoflow(String appPath, String libPath, String entryPoint, Collection<String> sources, Collection<String> sinks)
appPath - The path containing the client program's fileslibPath - the path to the main folder of the (unpacked) library class
filesentryPoint - the main method to analyzesources - list of source class+method (as string conforms to
SootMethod representation)sinks - list of sink class+method (as string conforms to SootMethod
representation)void computeInfoflow(String appPath, String libPath, IEntryPointCreator entryPointCreator, ISourceSinkManager sourcesSinks)
appPath - The path containing the client program's fileslibPath - the path to the main folder of the (unpacked)
library class filesentryPointCreator - the entry point creator to use for generating the
dummy main methodsourcesSinks - manager class for identifying sources and sinks in
the source codevoid computeInfoflow(String appPath, String libPath, String entryPoint, ISourceSinkManager sourcesSinks)
appPath - The path containing the client program's fileslibPath - the path to the main folder of the (unpacked) library
class filesentryPoint - the main method to analyzesourcesSinks - manager class for identifying sources and sinks in the
source codeInfoflowResults getResults()
boolean isResultAvailable()
void setIPCManager(IIPCManager ipcManager)
void setSootConfig(IInfoflowConfig config)
config - The configuration callback to be used for the analysisvoid setPathBuilderFactory(IPathBuilderFactory factory)
factory - The path bilder factory to use for constructing path
reconstruction algorithmsSet<soot.jimple.Stmt> getCollectedSources()
Set<soot.jimple.Stmt> getCollectedSinks()
void addResultsAvailableHandler(ResultsAvailableHandler handler)
handler - The handler to addvoid removeResultsAvailableHandler(ResultsAvailableHandler handler)
handler - The handler to removevoid abortAnalysis()
void setTaintPropagationHandler(TaintPropagationHandler handler)
handler - The handler to be invoked when propagating taintsvoid setBackwardsPropagationHandler(TaintPropagationHandler handler)
handler - The handler to be invoked when propagating aliasesvoid setMemoryManagerFactory(IMemoryManagerFactory factory)
factory - The memory manager factory to usevoid setExecutorFactory(IExecutorFactory executorFactory)
executorFactory - The executor factory to usevoid setPropagationRuleManagerFactory(IPropagationRuleManagerFactory ruleManagerFactory)
ruleManagerFactory - The factory class for the propagation rule managerCopyright © 2022 Fraunhofer SIT. All rights reserved.