Class JvmTaintSource

java.lang.Object
proguard.analysis.cpa.domain.taint.TaintSource
proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource

public class JvmTaintSource extends TaintSource
A JvmTaintSource 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 Details

  • Constructor Details

    • JvmTaintSource

      public JvmTaintSource(Signature signature, Predicate<Call> callMatcher, boolean taintsThis, boolean taintsReturn, Set<Integer> taintsArgs, Set<String> taintsGlobals)
      Create a taint source.
      Parameters:
      signature - the signature a source method
      callMatcher - whether the call matches this taint source
      taintsThis - whether the source taints the calling instance
      taintsReturn - whether the source taints its return
      taintsArgs - a set of tainted arguments
      taintsGlobals - a set of tainted global variables
    • JvmTaintSource

      public JvmTaintSource(Signature signature, boolean taintsThis, boolean taintsReturn, Set<Integer> taintsArgs, Set<String> taintsGlobals)
      Create a taint source.
      Parameters:
      signature - the signature a source method
      taintsThis - whether the source taints the calling instance
      taintsReturn - whether the source taints its return
      taintsArgs - a set of tainted arguments
      taintsGlobals - a set of tainted global variables
    • JvmTaintSource

      public JvmTaintSource(Signature signature, Optional<Predicate<Call>> callMatcher, boolean taintsThis, boolean taintsReturn, Set<Integer> taintsArgs, Set<String> taintsGlobals)
      Create a taint source.
      Parameters:
      signature - the signature a source method
      callMatcher - an optional predicate on whether the call matches this taint source
      taintsThis - whether the source taints the calling instance
      taintsReturn - whether the source taints its return
      taintsArgs - a set of tainted arguments
      taintsGlobals - a set of tainted global variables
  • Method Details