public class TaintWrapperSet extends Object implements IReversibleTaintWrapper
| 构造器和说明 |
|---|
TaintWrapperSet() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addWrapper(ITaintPropagationWrapper wrapper)
Adds the given wrapper to the chain of wrappers.
|
Set<Abstraction> |
getAliasesForMethod(soot.jimple.Stmt stmt,
Abstraction d1,
Abstraction taintedPath)
Gets the aliases that a summarized method generates for the given
abstraction.
|
Set<Abstraction> |
getInverseTaintsForMethod(soot.jimple.Stmt stmt,
Abstraction d1,
Abstraction taintedPath)
Checks an invocation statement for black-box taint propagation.
|
Set<Abstraction> |
getTaintsForMethod(soot.jimple.Stmt stmt,
Abstraction d1,
Abstraction taintedPath)
Checks an invocation statement for black-box taint propagation.
|
int |
getWrapperHits()
Gets the number of times in which the taint wrapper was able to
exclusively model a method call.
|
int |
getWrapperMisses()
Gets the number of times in which the taint wrapper was NOT able to
exclusively model a method call.
|
void |
initialize(InfoflowManager manager)
This method is called before the taint propagation is started to give the taint wrapper
the chance to initialize required components once Soot is running, but before it is
queried for the first time.
|
boolean |
isExclusive(soot.jimple.Stmt stmt,
Abstraction taintedPath)
Gets whether the taints produced by this taint wrapper are exclusive, i.e. there are
no other taints than those produced by the wrapper.
|
boolean |
supportsCallee(soot.SootMethod method)
Checks whether this taint wrapper can in general produce artificial taints
for the given callee.
|
boolean |
supportsCallee(soot.jimple.Stmt callSite)
Checks whether this taint wrapper can in general produce artificial taints
for the given call site.
|
public void initialize(InfoflowManager manager)
ITaintPropagationWrapperinitialize 在接口中 ITaintPropagationWrappermanager - The manager object providing access to the data flow solver processing
the IFDS edges and the interprocedural control flow graphpublic void addWrapper(ITaintPropagationWrapper wrapper)
wrapper - The wrapper to add to the chain.public Set<Abstraction> getTaintsForMethod(soot.jimple.Stmt stmt, Abstraction d1, Abstraction taintedPath)
ITaintPropagationWrappergetTaintsForMethod 在接口中 ITaintPropagationWrapperstmt - The invocation statement which to check for black-box taint propagationd1 - The abstraction at the beginning of the method that calls the
wrapped methodtaintedPath - The tainted field or value to propagateStmt
has been executedpublic boolean isExclusive(soot.jimple.Stmt stmt,
Abstraction taintedPath)
ITaintPropagationWrapperisExclusive 在接口中 ITaintPropagationWrapperstmt - The call statement to checktaintedPath - The tainted field or value to propagatepublic boolean supportsCallee(soot.SootMethod method)
ITaintPropagationWrappersupportsCallee 在接口中 ITaintPropagationWrappermethod - The method to checkpublic boolean supportsCallee(soot.jimple.Stmt callSite)
ITaintPropagationWrappersupportsCallee 在接口中 ITaintPropagationWrappercallSite - The call site to checkpublic int getWrapperHits()
ITaintPropagationWrappergetWrapperHits 在接口中 ITaintPropagationWrapperpublic int getWrapperMisses()
ITaintPropagationWrappergetWrapperMisses 在接口中 ITaintPropagationWrapperpublic Set<Abstraction> getAliasesForMethod(soot.jimple.Stmt stmt, Abstraction d1, Abstraction taintedPath)
ITaintPropagationWrappergetAliasesForMethod 在接口中 ITaintPropagationWrapperstmt - The statement that calls the summarized methodd1 - The abstraction at the entry point of the method that calls the
wrapped methodtaintedPath - The abstraction for which the aliases shall be
computedpublic Set<Abstraction> getInverseTaintsForMethod(soot.jimple.Stmt stmt, Abstraction d1, Abstraction taintedPath)
IReversibleTaintWrappergetTaintsForMethod. It
obtains the taints that could have been tainted before a certain
statement was executed given a taint that was active after the call.getInverseTaintsForMethod 在接口中 IReversibleTaintWrapperstmt - The invocation statement which to check for black-box
taint propagationd1 - The abstraction at the beginning of the method that calls
the wrapped methodtaintedPath - The tainted field or value to propagate. Note that this
taint must be valid after the execution of the
black-box method.Stmt has been executedCopyright © 2022 Fraunhofer SIT. All rights reserved.