Class JvmMethodTaintSource
java.lang.Object
proguard.analysis.cpa.jvm.domain.taint.JvmMethodTaintSource
- All Implemented Interfaces:
TaintSource
A
JvmMethodTaintSource specifies a method which can taint any (subset) of the following:
the instance, the return value, the argument objects, or static fields. The callMatcher
decides whether the call (already filtered by its Signature) should trigger this source.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionJvmMethodTaintSource(Signature signature, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source.JvmMethodTaintSource(Signature signature, Predicate<Call> callMatcher, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source.JvmMethodTaintSource(Signature signature, Optional<Predicate<Call>> callMatcher, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source. -
Method Summary
-
Field Details
-
callMatcher
-
-
Constructor Details
-
JvmMethodTaintSource
public JvmMethodTaintSource(Signature signature, Predicate<Call> callMatcher, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source.- Parameters:
signature- the signature a source methodcallMatcher- whether the call matches this taint sourcetaintThis- whether the source taints the calling instancetaintReturn- whether the source taints its returntaintArgs- a set of tainted argumentstaintGlobals- a set of tainted global variables
-
JvmMethodTaintSource
public JvmMethodTaintSource(Signature signature, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source.- Parameters:
signature- the signature a source methodtaintThis- whether the source taints the calling instancetaintReturn- whether the source taints its returntaintArgs- a set of tainted argumentstaintGlobals- a set of tainted global variables
-
JvmMethodTaintSource
public JvmMethodTaintSource(Signature signature, Optional<Predicate<Call>> callMatcher, boolean taintThis, boolean taintReturn, Set<Integer> taintArgs, Set<String> taintGlobals) Create a taint source.- Parameters:
signature- the signature a source methodcallMatcher- an optional predicate on whether the call matches this taint sourcetaintThis- whether the source taints the calling instancetaintReturn- whether the source taints its returntaintArgs- a set of tainted argumentstaintGlobals- a set of tainted global variables
-
-
Method Details
-
getSignature
Description copied from interface:TaintSourceReturns the signature of the program location this taint source refers to.- Specified by:
getSignaturein interfaceTaintSource
-
getTaintsThis
public boolean getTaintsThis() -
getTaintsReturn
public boolean getTaintsReturn() -
getTaintArgs
-
getTaintGlobals
-
equals
-
hashCode
public int hashCode() -
toString
-