MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / get_instruction_text

Method get_instruction_text

python/function.py:3676–3695  ·  view source on GitHub ↗
(self, addr: int)

Source from the content-addressed store, hash-verified

3674 return result
3675
3676 def get_instruction_text(self, addr: int) -> Generator[Tuple[Optional['DisassemblyTextLine'], int], None, None]:
3677 count = ctypes.c_ulonglong()
3678 length = ctypes.c_ulonglong()
3679 lines = ctypes.POINTER(core.BNDisassemblyTextLine)()
3680 if not core.BNGetDisassemblyTextRendererInstructionText(self.handle, addr, length, lines, count):
3681 yield None, 0
3682 return
3683 il_function = self.il_function
3684 try:
3685 for i in range(0, count.value):
3686 addr = lines[i].addr
3687 if (lines[i].instrIndex != 0xffffffffffffffff) and (il_function is not None):
3688 il_instr = il_function[lines[i].instrIndex]
3689 else:
3690 il_instr = None
3691 color = _highlight.HighlightColor._from_core_struct(lines[i].highlight)
3692 tokens = InstructionTextToken._from_core_struct(lines[i].tokens, lines[i].count)
3693 yield DisassemblyTextLine(tokens, addr, il_instr, color), length.value
3694 finally:
3695 core.BNFreeDisassemblyTextLines(lines, count.value)
3696
3697 def get_disassembly_text(self, addr: int) -> Generator[Tuple[Optional['DisassemblyTextLine'], int], None, None]:
3698 count = ctypes.c_ulonglong()

Callers

nothing calls this directly

Calls 2

DisassemblyTextLineClass · 0.70
_from_core_structMethod · 0.45

Tested by

no test coverage detected