angr.analyses.decompiler.structured_codegen.base¶
- class angr.analyses.decompiler.structured_codegen.base.CConstantType¶
Bases:
EnumDescribes the value type of a CConstant class.
- INT = 0¶
- FLOAT = 1¶
- STRING = 2¶
- class angr.analyses.decompiler.structured_codegen.base.FunctionRef¶
Bases:
objectA function a parsed decompilation refers to, carried by address until it is first needed, so that parsing a decompilation does not load functions.
- addr
- class angr.analyses.decompiler.structured_codegen.base.PositionMappingElement¶
Bases:
object- __init__(start, length, obj)¶
- start: int
- length: int
- obj
- class angr.analyses.decompiler.structured_codegen.base.PositionMapping¶
Bases:
object- DUPLICATION_CHECK = True¶
- __init__()¶
- items()¶
- values()¶
- add_mapping(start_pos, length, obj)¶
- class angr.analyses.decompiler.structured_codegen.base.InstructionMappingElement¶
Bases:
object- __init__(ins_addr, posmap_pos)¶
- ins_addr: int
- posmap_pos: int
- class angr.analyses.decompiler.structured_codegen.base.InstructionMapping¶
Bases:
object- __init__()¶
- items()¶
- values()¶
- add_mapping(ins_addr, posmap_pos)¶
- class angr.analyses.decompiler.structured_codegen.base.BaseStructuredCodeGenerator¶
Bases:
object- __init__(flavor=None, notes=None, expr_comments=None, stmt_comments=None, const_formats=None)¶
- map_ast_to_pos: dict[SimVariable, set[PositionMappingElement]] | None
- version: str
- timestamp: int
- static adjust_mapping_positions(offset, pos_to_node, pos_to_addr, addr_to_pos)¶
Adjust positions in the mappings to account for the notes that are prepended to the text.
- Parameters:
offset (
int) – The length of the notes to prepend.pos_to_node (
PositionMapping) – The position to node mapping.pos_to_addr (
PositionMapping) – The position to address mapping.addr_to_pos (
InstructionMapping) – The address to position mapping.
- Return type:
- Returns:
Adjusted mappings.
- reapply_options(options)¶
- angr.analyses.decompiler.structured_codegen.base.vector_convert_name(expr)¶
Intrinsic-style name for a lane-wise conversion, e.g.
ConvF32toI32Sx4forIop_F32toI32Sx4.
- angr.analyses.decompiler.structured_codegen.base.variable_display_name(v)¶
The name of a variable that variable naming did not reach (e.g. a stack variable not in any unified group), as an identifier rather than the SimVariable repr.
- Return type:
- Parameters:
v (SimVariable)
- angr.analyses.decompiler.structured_codegen.base.register_display_name(arch, reg_offset, size)¶
The architectural name of a register, or reg_<offset> when the architecture has none.
- class angr.analyses.decompiler.structured_codegen.base.CodegenNode¶
Bases:
objectMarker base of every structured-codegen node kind shared across flavors.
- class angr.analyses.decompiler.structured_codegen.base.ExpressionNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.VariableNode¶
Bases:
CodegenNodeA variable access; has
variableandunified_variable.
- class angr.analyses.decompiler.structured_codegen.base.IndexedVariableNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.VariableFieldNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.StructFieldNode¶
Bases:
CodegenNodeA struct field name; has
struct_type,offset, andfield.
- class angr.analyses.decompiler.structured_codegen.base.FunctionNode¶
Bases:
CodegenNodeThe function being decompiled; has
addrandname.
- class angr.analyses.decompiler.structured_codegen.base.FunctionCallNode¶
Bases:
CodegenNodeA call; has
callee_func(a Function or None) andcallee_target.
- class angr.analyses.decompiler.structured_codegen.base.ConstantNode¶
Bases:
CodegenNodeA constant; has
valueandreference_values.
- class angr.analyses.decompiler.structured_codegen.base.LabelNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.BinaryOpNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.UnaryOpNode¶
Bases:
CodegenNode
- class angr.analyses.decompiler.structured_codegen.base.ClosingObjectNode¶
Bases:
CodegenNodeA closing bracket, brace, or parenthesis.