public void setITPW(ITaintPropagationWrapper itpw){ assert(itpw instanceof EasyTaintWrapper); this.itpw = (EasyTaintWrapper) itpw; this.classList = this.itpw.getClassList(); this.excludeList = this.itpw.getExcludeList(); this.killList = this.itpw.getKillList(); this.includeSet = this.itpw.getIncludeList(); this.noRetWrapperList = new HashMap<String, List<String>>(); //temporarily, we add special cases at here ArrayList<String> mapMethods = new ArrayList<String>(); mapMethods.add("put"); this.noRetWrapperList.put("java.util.Map", mapMethods); ArrayList<String> listMethods = new ArrayList<String>(); listMethods.add("add"); this.noRetWrapperList.put("java.util.List", listMethods); ArrayList<String> urlMethods = new ArrayList<String>(); urlMethods.add("<init>"); this.noRetWrapperList.put("java.net.URL", urlMethods); }
public void setTaintWrapper(ITaintPropagationWrapper wrapper) { taintWrapper = wrapper; }
public void setTaintWrapper(ITaintPropagationWrapper wrapper){ taintWrapper = wrapper; }
@Override public void setTaintWrapper(ITaintPropagationWrapper wrapper) { taintWrapper = wrapper; }
@Override public ITaintPropagationWrapper getTaintWrapper() { return taintWrapper; }
/** * Creates a new instance of the {@link InterproceduralConstantValuePropagator} * class * @param icfg The interprocedural control flow graph to use * @param excludedMethods The methods that shall be excluded. If one of these * methods calls another method with a constant argument, this argument will * not be propagated into the callee. * @param sourceSinkManager The SourceSinkManager to be used for not * propagating constants out of source methods * @param taintWrapper The taint wrapper to be used for not breaking dummy * values that will later be replaced by artificial taints */ public InterproceduralConstantValuePropagator(IInfoflowCFG icfg, Collection<SootMethod> excludedMethods, ISourceSinkManager sourceSinkManager, ITaintPropagationWrapper taintWrapper) { this.icfg = icfg; this.excludedMethods = new HashSet<SootMethod>(excludedMethods); this.sourceSinkManager = sourceSinkManager; this.taintWrapper = taintWrapper; }
/** * Sets the taint wrapper to be used for propagating taints over unknown (library) callees. If this value is null, * no taint wrapping is used. * * @param taintWrapper * The taint wrapper to use or null to disable taint wrapping */ public void setTaintWrapper(ITaintPropagationWrapper taintWrapper) { this.taintWrapper = taintWrapper; }
/** * Gets the taint wrapper to be used for propagating taints over unknown (library) callees. If this value is null, * no taint wrapping is used. * * @return The taint wrapper to use or null if taint wrapping is disabled */ public ITaintPropagationWrapper getTaintWrapper() { return this.taintWrapper; }
/** * Sets the taint wrapper for deciding on taint propagation through black-box * methods * @param wrapper The taint wrapper object that decides on how information is * propagated through black-box methods */ public void setTaintWrapper(ITaintPropagationWrapper wrapper);
/** * Gets the taint wrapper for deciding on taint propagation through black-box * methods * @return The taint wrapper object that decides on how information is * propagated through black-box methods */ public ITaintPropagationWrapper getTaintWrapper();