Class JvmInvokeTaintSink
java.lang.Object
proguard.analysis.cpa.domain.taint.TaintSink
proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink
A
JvmTaintSink on a method invocation. This sinks can be sensitive to the instance, the
arguments, or the static fields. If a sink S is sensitive to X, then if X is tainted, we conclude
that the taint has reached S.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal booleanFields inherited from class proguard.analysis.cpa.domain.taint.TaintSink
IS_VALID_FOR_SOURCE_DEFAULT, isValidForSource, signature -
Constructor Summary
ConstructorsModifierConstructorDescriptionJvmInvokeTaintSink(Signature signature, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals) Create a taint sink.protectedJvmInvokeTaintSink(Signature signature, Predicate<TaintSource> isValidForSource, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals, Predicate<Call> callMatcher) Create a taint sink.JvmInvokeTaintSink(Signature signature, Predicate<Call> callMatcher, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns memory locations which trigger this taint sink.inthashCode()booleanmatchCfaEdge(JvmCfaEdge edge) Returns true if the edge is a call to the sink method.toString()Methods inherited from class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSink
convertSinksToMemoryLocations
-
Field Details
-
takesInstance
public final boolean takesInstance -
takesArgs
-
takesGlobals
-
callMatcher
-
-
Constructor Details
-
JvmInvokeTaintSink
public JvmInvokeTaintSink(Signature signature, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals) Create a taint sink.- Parameters:
signature- the signature of a sink methodtakesInstance- whether the sink is sensitive to the calling instancetakesArgs- a set of sensitive argumentstakesGlobals- a set of sensitive global variables
-
JvmInvokeTaintSink
@Deprecated public JvmInvokeTaintSink(Signature signature, Predicate<Call> callMatcher, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals) Deprecated.Create a taint sink.- Parameters:
signature- the signature of a sink methodcallMatcher- whether the call matches this taint sinktakesInstance- whether the sink is sensitive to the calling instancetakesArgs- a set of sensitive argumentstakesGlobals- a set of sensitive global variables
-
JvmInvokeTaintSink
protected JvmInvokeTaintSink(Signature signature, Predicate<TaintSource> isValidForSource, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals, Predicate<Call> callMatcher) Create a taint sink.- Parameters:
signature- the signature of a sink methodisValidForSource- predicate on whether the sink is valid for a given sourcetakesInstance- whether the sink is sensitive to the calling instancetakesArgs- a set of sensitive argumentstakesGlobals- a set of sensitive global variablescallMatcher- predicate on whether a call matches this taint sink
-
-
Method Details
-
getMemoryLocations
Returns memory locations which trigger this taint sink.- Specified by:
getMemoryLocationsin classJvmTaintSink
-
matchCfaEdge
Returns true if the edge is a call to the sink method.- Specified by:
matchCfaEdgein classJvmTaintSink
-
equals
- Overrides:
equalsin classJvmTaintSink
-
hashCode
public int hashCode()- Overrides:
hashCodein classJvmTaintSink
-
toString
-