angr.analyses.decompiler.peephole_optimizations.base¶
- class angr.analyses.decompiler.peephole_optimizations.base.PeepholeOptimizationStmtBase¶
Bases:
objectThe base class for all peephole optimizations that are applied on AIL statements.
- NAME = 'Peephole Optimization - Statement'¶
- DESCRIPTION = 'Peephole Optimization - Statement'¶
- stmt_classes = None¶
- __init__(project, kb, ail_manager, func_addr=None, preserve_vvar_ids=None, type_hints=None)¶
- Parameters:
project (Project | None)
kb (KnowledgeBase | None)
ail_manager (Manager)
func_addr (int | None)
type_hints (list[tuple[VirtualVariable | MemoryLocation, str]] | None)
- kb: KnowledgeBase | None
- manager
- type_hints: list[tuple[VirtualVariable | MemoryLocation, str]]
- class angr.analyses.decompiler.peephole_optimizations.base.PeepholeOptimizationMultiStmtBase¶
Bases:
objectThe base class for all peephole optimizations that are applied on multiple AIL statements at once.
- NAME = 'Peephole Optimization - Multi-statement'¶
- DESCRIPTION = 'Peephole Optimization - Multi-statement'¶
- stmt_classes = None¶
- __init__(project, kb, ail_manager, func_addr=None, preserve_vvar_ids=None, type_hints=None)¶
- Parameters:
project (Project | None)
kb (KnowledgeBase | None)
ail_manager (Manager)
func_addr (int | None)
type_hints (list[tuple[VirtualVariable | MemoryLocation, str]] | None)
- kb: KnowledgeBase | None
- manager
- type_hints: list[tuple[VirtualVariable | MemoryLocation, str]]
- class angr.analyses.decompiler.peephole_optimizations.base.PeepholeOptimizationExprBase¶
Bases:
objectThe base class for all peephole optimizations that are applied on AIL expressions.
- NAME = 'Peephole Optimization - Expression'¶
- DESCRIPTION = 'Peephole Optimization - Expression'¶
- expr_classes = None¶
- __init__(project, kb, ail_manager, func_addr=None, preserve_vvar_ids=None, type_hints=None)¶
- Parameters:
project (Project | None)
kb (KnowledgeBase | None)
ail_manager (Manager)
func_addr (int | None)
type_hints (list[tuple[VirtualVariable | MemoryLocation, str]] | None)
- kb: KnowledgeBase | None
- manager
- type_hints: list[tuple[VirtualVariable | MemoryLocation, str]]
- optimize(expr, *, stmt_idx=None, block=None, **kwargs)¶
- Return type:
- Parameters:
stmt_idx (int | None)
- static find_definition(ail_expr, stmt_idx, block)¶
- Return type:
- Parameters:
ail_expr (Expression)
stmt_idx (int)
block (Block)
- static is_bool_expr(ail_expr)¶