angr.engines.light.engine¶
- class angr.engines.light.engine.BlockProtocol¶
Bases:
ProtocolThe minimum protocol that a block an engine can process should adhere to. Requires just an addr attribute.
- addr: int
- __init__(*args, **kwargs)
- class angr.engines.light.engine.IRTop¶
Bases:
IRExprA dummy IRExpr used for intra-engine communication and code-reuse.
- result_type(tyenv)¶
- class angr.engines.light.engine.SimEngineLight¶
-
A full-featured engine base class, suitable for static analysis
- block: BlockType
- state: StateType
- stmt_idx: int
- ins_addr: int
- tmps: dict[int, DataType_co]
- abstractmethod process(state, *, block=None, **kwargs)¶
- lift(state)¶
- Return type:
TypeVar(BlockType, bound=BlockProtocol)- Parameters:
state (StateType)
- static extract_offset_to_sp(spoffset_expr)¶
Extract the offset to the original stack pointer.
- angr.engines.light.engine.longest_prefix_lookup(haystack, mapping)¶
- class angr.engines.light.engine.SimEngineLightVEX¶
Bases:
SimEngineLight[StateType,DataType_co,Block,ResultType],GenericA mixin for doing static analysis on VEX
- tyenv: IRTypeEnv
- static unop_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.expr.Unop], DataType_co])
- static binop_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.expr.Binop], DataType_co])
- static binopv_handler(f)¶
- static triop_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.expr.Triop], DataType_co])
- static qop_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.expr.Qop], DataType_co])
- static ccall_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.expr.CCall], DataType_co])
- static dirty_handler(f)¶
- Return type:
- Parameters:
f (Callable[[T, pyvex.stmt.Dirty], StmtDataType])
- __init__(*args, **kwargs)¶
- class angr.engines.light.engine.SimEngineNostmtVEX¶
Bases:
SimEngineLightVEX[StateType,DataType_co,ResultType,None],GenericA base class of SimEngineLightVEX that has default handlers for statements if they just need to return None, so you don’t have to implement every single statement handler as
return None.
- class angr.engines.light.engine.SimEngineLightAIL¶
Bases:
SimEngineLight[StateType,DataType_co,Block,ResultType],GenericA mixin for doing static analysis on AIL
- __init__(*args, **kwargs)¶
- class angr.engines.light.engine.SimEngineNostmtAIL¶
Bases:
SimEngineLightAIL[StateType,DataType_co,StmtDataType|None,ResultType],GenericA base class of SimEngineLightAIL that has default handlers for statements if they just need to return None, so you don’t have to implement every single statement handler as
return None.
- class angr.engines.light.engine.SimEngineNoexprAIL¶
Bases:
SimEngineLightAIL[StateType,DataType_co|None,StmtDataType,ResultType],GenericA base class of SimEngineLightAIL that has default handlers for expressions if they just need to return None, so you don’t have to implement every single expression handler as
return None.