angr.analyses.decompiler.optimization_passes.ite_expr_converter¶
- exception angr.analyses.decompiler.optimization_passes.ite_expr_converter.NodeFoundNotification¶
Bases:
ExceptionA notification that the target node has been found.
- class angr.analyses.decompiler.optimization_passes.ite_expr_converter.BlockLocator¶
Bases:
RegionWalkerRecursively locate block in a GraphRegion instance.
It might be reasonable to move this class into its own file.
- __init__(block)¶
- walk_node(region, node)¶
- class angr.analyses.decompiler.optimization_passes.ite_expr_converter.ExpressionReplacer¶
Bases:
AILBlockRewriterReplace expressions.
- __init__(block_addr, target_expr, callback)¶
- class angr.analyses.decompiler.optimization_passes.ite_expr_converter.ITEExprConverter¶
Bases:
OptimizationPassTransform specific expressions into If-Then-Else expressions, or tertiary expressions in C when given a single-use expression address. Requires outside analysis to provide the target expressions.
- ARCHES = ['X86', 'AMD64', 'ARMEL', 'ARMHF', 'ARMCortexM', 'MIPS32', 'MIPS64']¶
- PLATFORMS = ['windows', 'linux', 'cgc']¶
- STAGE: OptimizationPassStage = 10¶
- NAME = 'Transform single-use expressions that were assigned to in different If-Else branches into ternary expressions'¶
- DESCRIPTION = 'Transform specific expressions into If-Then-Else expressions, or tertiary expressions in C when\n given a single-use expression address. Requires outside analysis to provide the target expressions.'¶
- __init__(*args, ite_exprs=None, **kwargs)¶