angr.analyses.loop_analysis.loop_analysis¶
- class angr.analyses.loop_analysis.loop_analysis.ASTNodeBase¶
Bases:
objectThe base node for AST nodes used in loop analysis.
- class angr.analyses.loop_analysis.loop_analysis.VarNode¶
Bases:
ASTNodeBaseRepresents a variable node in the AST; corresponds to a virtual variable in AIL.
- class angr.analyses.loop_analysis.loop_analysis.ConstNode¶
Bases:
ASTNodeBaseRepresents a constant value.
- class angr.analyses.loop_analysis.loop_analysis.BinOpNode¶
Bases:
ASTNodeBaseRepresents a binary operation between a variable and a constant.
- class angr.analyses.loop_analysis.loop_analysis.AssignmentNode¶
Bases:
ASTNodeBaseRepresents an assignment operation in the AST.
- __init__(lhs, rhs)¶
- Parameters:
lhs (VarNode)
rhs (ASTNodeBase)
- class angr.analyses.loop_analysis.loop_analysis.AssignmentToASTVisitor¶
Bases:
CStructuredCodeWalkerA visitor that converts AIL assignments into AST nodes.
- handle_CAssignment(obj)¶
- Return type:
- Parameters:
obj (CAssignment)
- class angr.analyses.loop_analysis.loop_analysis.LoopBodyControlStatementCollector¶
Bases:
CStructuredCodeWalkerA visitor that determines if there are control statements (break, continue, goto) within a loop body.
- __init__()¶
- handle_CContinue(obj)¶
- handle_CGoto(obj)¶
- handle_CSwitchCase(obj)¶
- handle_CForLoop(obj)¶
- handle_CDoWhileLoop(obj)¶
- handle_CWhileLoop(obj)¶
- class angr.analyses.loop_analysis.loop_analysis.LoopBodyAssignmentCollector¶
Bases:
CStructuredCodeWalkerA visitor that collects assignments to specific variables within a loop body.
- handle_CAssignment(obj)¶
- Parameters:
obj (CAssignment)
- handle_CIfElse(obj)¶
- handle_CSwitchCase(obj)¶
- handle_CForLoop(obj)¶
- handle_CDoWhileLoop(obj)¶
- handle_CWhileLoop(obj)¶
- class angr.analyses.loop_analysis.loop_analysis.LoopVisitor¶
Bases:
CStructuredCodeWalkerA visitor that analyzes loop structures in CStructuredCode and collects relevant information for loops.
- __init__()¶
- handle_CIfElse(obj)¶
- handle_CStatements(obj)¶
- Parameters:
obj (CStatements)
- handle_CAssignment(obj)¶
- Parameters:
obj (CAssignment)
- handle_CWhileLoop(obj)¶
- Parameters:
obj (CWhileLoop)
- handle_CDoWhileLoop(obj)¶
- Parameters:
obj (CDoWhileLoop)