angr.analyses.decompiler.structuring.structurer_base¶
- class angr.analyses.decompiler.structuring.structurer_base.StructurerBase¶
Bases:
AnalysisThe base class for analysis passes that structures a region.
The current function graph is provided so that we can detect certain edge cases, for example, jump table entries no longer exist due to empty node removal during structuring or prior steps.
- __init__(region, parent_map=None, condition_processor=None, func=None, case_entry_to_switch_head=None, parent_region=None, jump_tables=None, ail_manager=None, **kwargs)¶
- static remove_redundant_jumps(seq, ail_manager)¶
Remove all redundant jumps.
- Parameters:
seq (SequenceNode) – The SequenceNode instance to handle.
ail_manager (
Manager) – The AIL manager to create new atoms if needed.
- Returns:
A processed SequenceNode.
- replace_nodes(graph, old_node_0, new_node, old_node_1=None, self_loop=True)¶
- static replace_node_in_node(parent_node, old_node, new_node)¶
- static is_a_jump_target(stmt, addr)¶
- Return type:
- Parameters:
stmt (ConditionalJump | Jump | Statement)
addr (int)