binaryninja.architecture.CoreArchitecture

class CoreArchitecture(handle)[source]
__init__(handle)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(handle)

Initialize self.

always_branch(data, addr)

always_branch reads the instruction(s) in data at virtual address addr and returns a string of bytes of the same length which always branches.

assemble(code[, addr])

assemble converts the string of assembly instructions code loaded at virtual address addr to the byte representation of those instructions.

convert_to_nop(data, addr)

convert_to_nop reads the instruction(s) in data at virtual address addr and returns a string of nop instructions of the same length as data.

get_associated_arch_by_address(addr)

get_default_flag_condition_low_level_il(…)

param LowLevelILFlagCondition cond

get_default_flag_write_low_level_il(op, …)

param LowLevelILOperation op

get_flag_by_name(flag)

get_flag_by_name get flag name for flag index.

get_flag_condition_low_level_il(cond, …)

param LowLevelILFlagCondition cond

Flag condition to be computed

get_flag_index(flag)

get_flag_name(flag)

get_flag_name gets a flag name from a flag number.

get_flag_role(flag[, sem_class])

get_flag_role gets the role of a given flag.

get_flag_write_low_level_il(op, size, …)

param LowLevelILOperation op

get_flag_write_type_by_name(write_type)

get_flag_write_type_by_name gets the flag write type name for the flag write type.

get_flag_write_type_name(write_type)

get_flag_write_type_name gets the flag write type name for the given flag.

get_flags_required_for_flag_condition(cond)

get_instruction_info(data, addr)

get_instruction_info returns an InstructionInfo object for the instruction at the given virtual address addr with data data.

get_instruction_low_level_il(data, addr, il)

get_instruction_low_level_il appends LowLevelILExpr objects to il for the instruction at the given virtual address addr with data data.

get_instruction_low_level_il_instruction(bv, …)

get_instruction_text(data, addr)

get_instruction_text returns a list of InstructionTextToken objects for the instruction at the given virtual address addr with data data.

get_intrinsic_index(intrinsic)

get_intrinsic_name(intrinsic)

get_intrinsic_name gets an intrinsic name from an intrinsic number.

get_low_level_il_from_bytes(data, addr)

get_low_level_il_from_bytes converts the instruction in bytes to il at the given virtual address

get_modified_regs_on_write(reg)

get_modified_regs_on_write returns a list of register names that are modified when reg is written.

get_reg_index(reg)

get_reg_name(reg)

get_reg_name gets a register name from a register number.

get_reg_stack_for_reg(reg)

get_reg_stack_index(reg_stack)

get_reg_stack_name(reg_stack)

get_reg_stack_name gets a register stack name from a register stack number.

get_semantic_flag_class_by_name(sem_class)

get_semantic_flag_class_by_name gets the semantic flag class index by name.

get_semantic_flag_class_index(sem_class)

get_semantic_flag_class_name(class_index)

get_semantic_flag_class_name gets the name of a semantic flag class from the index.

get_semantic_flag_group_by_name(sem_group)

get_semantic_flag_group_by_name gets the semantic flag group index by name.

get_semantic_flag_group_index(sem_group)

get_semantic_flag_group_low_level_il(…)

param str sem_group

get_semantic_flag_group_name(group_index)

get_semantic_flag_group_name gets the name of a semantic flag group from the index.

get_view_type_constant(type_name, const_name)

get_view_type_constant retrieves the view type constant for the given type_name and const_name.

invert_branch(data, addr)

invert_branch reads the instruction(s) in data at virtual address addr and returns a string of bytes of the same length which inverts the branch of provided instruction.

is_always_branch_patch_available(data, addr)

is_always_branch_patch_available determines if the instruction data at addr can be made to always branch.

is_invert_branch_patch_available(data, addr)

is_always_branch_patch_available determines if the instruction data at addr can be inverted.

is_never_branch_patch_available(data, addr)

is_never_branch_patch_available determines if the instruction data at addr can be made to never branch.

is_skip_and_return_value_patch_available(…)

is_skip_and_return_value_patch_available determines if the instruction data at addr is a call-like instruction that can be made into an instruction returns a value.

is_skip_and_return_zero_patch_available(…)

is_skip_and_return_zero_patch_available determines if the instruction data at addr is a call-like instruction that can be made into an instruction returns zero.

is_view_type_constant_defined(type_name, …)

param str type_name

the BinaryView type name of the constant to query

perform_always_branch(data, addr)

Deprecated method provided for compatibility.

perform_assemble(code, addr)

Deprecated method provided for compatibility.

perform_convert_to_nop(data, addr)

Deprecated method provided for compatibility.

perform_get_associated_arch_by_address(addr)

Deprecated method provided for compatibility.

perform_get_flag_condition_low_level_il(…)

Deprecated method provided for compatibility.

perform_get_flag_role(flag, sem_class)

Deprecated method provided for compatibility.

perform_get_flag_write_low_level_il(op, …)

Deprecated method provided for compatibility.

perform_get_flags_required_for_flag_condition(…)

Deprecated method provided for compatibility.

perform_get_instruction_info(data, addr)

Deprecated method provided for compatibility.

perform_get_instruction_low_level_il(data, …)

Deprecated method provided for compatibility.

perform_get_instruction_text(data, addr)

Deprecated method provided for compatibility.

perform_get_semantic_flag_group_low_level_il(…)

Deprecated method provided for compatibility.

perform_invert_branch(data, addr)

Deprecated method provided for compatibility.

perform_is_always_branch_patch_available(…)

Deprecated method provided for compatibility.

perform_is_invert_branch_patch_available(…)

Deprecated method provided for compatibility.

perform_is_never_branch_patch_available(…)

Deprecated method provided for compatibility.

perform_is_skip_and_return_value_patch_available(…)

Deprecated method provided for compatibility.

perform_is_skip_and_return_zero_patch_available(…)

Deprecated method provided for compatibility.

perform_skip_and_return_value(data, addr, value)

Deprecated method provided for compatibility.

register_calling_convention(cc)

register_calling_convention registers a new calling convention for the Architecture.

set_view_type_constant(type_name, …)

set_view_type_constant creates a new binaryview type constant.

skip_and_return_value(data, addr, value)

skip_and_return_value reads the instruction(s) in data at virtual address addr and returns a string of bytes of the same length which doesn’t call and instead return a value.

Attributes

address_size

calling_conventions

Dict of CallingConvention objects (read-only)

default_int_size

endianness

flag_conditions_for_semantic_flag_group

flag_roles

flag_write_types

flags

flags_required_for_flag_condition

flags_required_for_semantic_flag_group

flags_written_by_flag_write_type

full_width_regs

List of full width register strings (read-only)

global_regs

instr_alignment

intrinsics

link_reg

list

max_instr_length

name

next_address

opcode_display_length

reg_stacks

regs

semantic_class_for_flag_write_type

semantic_flag_classes

semantic_flag_groups

stack_pointer

standalone_platform

Architecture standalone platform (read-only)