| 限定符和类型 | 方法和说明 |
|---|---|
protected IInfoflowSolver |
Infoflow.createDataFlowSolver(InterruptableExecutor executor,
AbstractInfoflowProblem problem,
InfoflowConfiguration.SolverConfiguration solverConfig)
Creates the instance of the data flow solver
|
IInfoflowSolver |
InfoflowManager.getForwardSolver()
Gets the IFDS solver that propagates edges forward
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
Infoflow.onBeforeTaintPropagation(IInfoflowSolver forwardSolver,
IInfoflowSolver backwardSolver)
Callback that is invoked when the main taint propagation is about to start
|
protected void |
Infoflow.onTaintPropagationCompleted(IInfoflowSolver forwardSolver,
IInfoflowSolver backwardSolver)
Callback that is invoked when the main taint propagation has completed.
|
void |
InfoflowManager.setForwardSolver(IInfoflowSolver solver)
Sets the IFDS solver that propagates edges forward
|
| 构造器和说明 |
|---|
InfoflowManager(InfoflowConfiguration config,
IInfoflowSolver forwardSolver,
IInfoflowCFG icfg,
ISourceSinkManager sourceSinkManager,
ITaintPropagationWrapper taintWrapper,
soot.FastHierarchy hierarchy,
AccessPathFactory accessPathFactory,
GlobalTaintManager globalTaintManager) |
| 限定符和类型 | 方法和说明 |
|---|---|
IInfoflowSolver |
PtsBasedAliasStrategy.getSolver() |
IInfoflowSolver |
NullAliasStrategy.getSolver() |
IInfoflowSolver |
LazyAliasingStrategy.getSolver() |
IInfoflowSolver |
ImplicitFlowAliasStrategy.getSolver() |
IInfoflowSolver |
FlowSensitiveAliasStrategy.getSolver() |
IInfoflowSolver |
IAliasingStrategy.getSolver()
If this aliasing strategy uses an additional IFDS solver, it is returned
by this method.
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
PtsBasedAliasStrategy.injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1) |
void |
NullAliasStrategy.injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1) |
void |
LazyAliasingStrategy.injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1) |
void |
ImplicitFlowAliasStrategy.injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1) |
void |
FlowSensitiveAliasStrategy.injectCallingContext(Abstraction d3,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1) |
void |
IAliasingStrategy.injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1)
Notifies the aliasing strategy that a method has been called in the
taint analysis.
|
| 构造器和说明 |
|---|
FlowSensitiveAliasStrategy(InfoflowManager manager,
IInfoflowSolver backwardsSolver) |
| 构造器和说明 |
|---|
GlobalTaintManager(Set<IInfoflowSolver> solvers) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected IInfoflowSolver |
AbstractInfoflowProblem.solver |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AbstractInfoflowProblem.setSolver(IInfoflowSolver solver) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected Set<IInfoflowSolver> |
SolverPeerGroup.solvers |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SolverPeerGroup.addSolver(IInfoflowSolver solver)
Adds a data flow solver to this peer group
|
void |
IInfoflowSolver.injectContext(IInfoflowSolver otherSolver,
soot.SootMethod callee,
Abstraction d3,
soot.Unit callSite,
Abstraction d2,
Abstraction d1) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
InfoflowSolver.injectContext(IInfoflowSolver otherSolver,
soot.SootMethod callee,
Abstraction d3,
soot.Unit callSite,
Abstraction d2,
Abstraction d1) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
InfoflowSolver
We are subclassing the JimpleIFDSSolver because we need the same executor for
both the forward and the backward analysis Also we need to be able to insert
edges containing new taint information
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
InfoflowSolver.injectContext(IInfoflowSolver otherSolver,
soot.SootMethod callee,
Abstraction d3,
soot.Unit callSite,
Abstraction d2,
Abstraction d1) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
InfoflowSolver.injectContext(IInfoflowSolver otherSolver,
soot.SootMethod callee,
Abstraction d3,
soot.Unit callSite,
Abstraction d2,
Abstraction d1) |
Copyright © 2022 Fraunhofer SIT. All rights reserved.