angr.analyses.decompiler.counters

class angr.analyses.decompiler.counters.AILBlockCallCounter

Bases: AILBlockViewer

Helper class to count AIL calls and call-expressions in a block, or collect call statements and call expressions as well as their locations.

__init__(consider_conditions=False)
Parameters:

consider_conditions (bool)

class angr.analyses.decompiler.counters.BooleanCounter

Bases: AILBlockViewer

This class counts the number of Boolean operators an expression has. In the case of: if (a || (b && c)), it will count 2 Boolean operators.

__init__()
class angr.analyses.decompiler.counters.ControlFlowStructureCounter

Bases: SequenceWalker

Counts the number of different types of control flow structures found in a sequence of nodes. This should be used after the sequence has been simplified.

__init__(node)
class angr.analyses.decompiler.counters.OperatorCounter

Bases: AILBlockViewer

Count the occurrence of a given expression operator.

__init__(operator, expr_or_stmt)
Parameters:
class angr.analyses.decompiler.counters.RegisterExpressionCounter

Bases: AILBlockViewer

Count the occurrence of all register expressions in expr

__init__(expr_or_stmt)
Parameters:

expr_or_stmt (Expression | Statement)

class angr.analyses.decompiler.counters.SingleExpressionCounter

Bases: AILBlockViewer

Count the occurrence of subexpr in expr.

__init__(stmt, subexpr)

Submodules