basicblock module

binaryninja.basicblock.BasicBlock(handle[, view])
binaryninja.basicblock.BasicBlockEdge(…)
binaryninja.basicblock.range(*args) A Python2 and Python3 Compatible Range Generator
class BasicBlock(handle, view=None)[source]

Bases: object

get_disassembly_text(settings=None)[source]

get_disassembly_text returns a list of binaryninja.function.DisassemblyTextLine objects for the current basic block.

Parameters:

settings (DisassemblySettings) – (optional) DisassemblySettings object

Example:
>>> current_basic_block.get_disassembly_text()
[<0x100000f30: _main:>, <0x100000f30: push    rbp>, ... ]
classmethod get_iterated_dominance_frontier(blocks)[source]
mark_recent_use()[source]
set_auto_highlight(color)[source]

set_auto_highlight highlights the current BasicBlock with the supplied color.

..warning:: Use only in analysis plugins. Do not use in regular plugins, as colors won’t be saved to the database.

Parameters:or highlight.HighlightColor color (HighlightStandardColor) – Color value to use for highlighting
set_user_highlight(color)[source]

set_user_highlight highlights the current BasicBlock with the supplied color

Parameters:

or highlight.HighlightColor color (HighlightStandardColor) – Color value to use for highlighting

Example:
>>> current_basic_block.set_user_highlight(highlight.HighlightColor(red=0xff, blue=0xff, green=0))
>>> current_basic_block.set_user_highlight(HighlightStandardColor.BlueHighlightColor)
annotations

List of automatic annotations for the start of this block (read-only)

arch

Basic block architecture (read-only)

can_exit

Whether basic block can return or is tagged as ‘No Return’ (read-only)

disassembly_text

disassembly_text property which returns a list of binaryninja.function.DisassemblyTextLine objects for the current basic block. :Example:

>>> current_basic_block.disassembly_text
[<0x100000f30: _main:>, ...]
dominance_frontier

Dominance frontier for this basic block (read-only)

dominator_tree_children

List of child blocks in the dominator tree for this basic block (read-only)

dominators

List of dominators for this basic block (read-only)

end

Basic block end (read-only)

function

Basic block function (read-only)

has_undetermined_outgoing_edges

Whether basic block has undetermined outgoing edges (read-only)

highlight

Gets or sets the highlight color for basic block

Example:
>>> current_basic_block.highlight = HighlightStandardColor.BlueHighlightColor
>>> current_basic_block.highlight
<color: blue>
immediate_dominator

Immediate dominator of this basic block (read-only)

incoming_edges

List of basic block incoming edges (read-only)

index

Basic block index in list of blocks for the function (read-only)

instruction_count
is_il

Whether the basic block contains IL

is_low_level_il

Whether the basic block contains Low Level IL

is_medium_level_il

Whether the basic block contains Medium Level IL

length

Basic block length (read-only)

outgoing_edges

List of basic block outgoing edges (read-only)

source_block

Basic block source block (read-only)

start

Basic block start (read-only)

strict_dominators

List of strict dominators for this basic block (read-only)

view

Binary view that contains the basic block (read-ony)

class BasicBlockEdge(branch_type, source, target, back_edge, fall_through)[source]

Bases: object