angr.concretization_strategies¶
- class angr.concretization_strategies.SimConcretizationStrategy
Bases:
objectConcretization strategies control the resolution of symbolic memory indices in SimuVEX. By subclassing this class and setting it as a concretization strategy (on state.memory.read_strategies and state.memory.write_strategies), SimuVEX’s memory index concretization behavior can be modified.
- __init__(filter=None, exact=True)
Initializes the base SimConcretizationStrategy.
- Parameters:
filter – A function, taking arguments of (SimMemory, claripy.AST) that determines if this strategy can handle resolving the provided AST.
exact – A flag (default: True) that determines if the convenience resolution functions provided by this class use exact or approximate resolution.
- concretize(memory, addr, **kwargs)
Concretizes the address into a list of values. If this strategy cannot handle this address, returns None.
- copy()
Returns a copy of the strategy, if there is data that should be kept separate between states. If not, returns self.
- merge(others)
Merges this strategy with others (if there is data that should be kept separate between states. If not, is a no-op.
- class angr.concretization_strategies.SimConcretizationStrategyAny
Bases:
SimConcretizationStrategyConcretization strategy that returns any single solution.
- class angr.concretization_strategies.SimConcretizationStrategyControlledData
Bases:
SimConcretizationStrategyConcretization strategy that constraints the address to controlled data. Controlled data consists of symbolic data and the addresses given as arguments. memory.
- class angr.concretization_strategies.SimConcretizationStrategyEval
Bases:
SimConcretizationStrategyConcretization strategy that resolves an address into some limited number of solutions. Always handles the concretization, but only returns a maximum of limit number of solutions. Therefore, should only be used as the fallback strategy.
- class angr.concretization_strategies.SimConcretizationStrategyMax
Bases:
SimConcretizationStrategyConcretization strategy that returns the maximum address.
- class angr.concretization_strategies.SimConcretizationStrategyNonzero
Bases:
SimConcretizationStrategyConcretization strategy that returns any non-zero solution.
- class angr.concretization_strategies.SimConcretizationStrategyNonzeroRange
Bases:
SimConcretizationStrategyConcretization strategy that resolves a range in a non-zero location.
- class angr.concretization_strategies.SimConcretizationStrategyNorepeats
Bases:
SimConcretizationStrategyConcretization strategy that resolves addresses, without repeating.
- class angr.concretization_strategies.SimConcretizationStrategyNorepeatsRange
Bases:
SimConcretizationStrategyConcretization strategy that resolves a range, with no repeats.
- class angr.concretization_strategies.SimConcretizationStrategyRange
Bases:
SimConcretizationStrategyConcretization strategy that resolves addresses to a range.
- class angr.concretization_strategies.SimConcretizationStrategySingle
Bases:
SimConcretizationStrategyConcretization strategy that ensures a single solution for an address.
- class angr.concretization_strategies.SimConcretizationStrategySolutions
Bases:
SimConcretizationStrategyConcretization strategy that resolves an address into some limited number of solutions.
- class angr.concretization_strategies.SimConcretizationStrategyUnlimitedRange
Bases:
SimConcretizationStrategyConcretization strategy that resolves addresses to a range without checking if the number of possible addresses is within the limit.
Submodules