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

Method get_basic_blocks_starting_at

python/binaryview.py:5218–5237  ·  view source on GitHub ↗

``get_basic_blocks_starting_at`` get a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects which start at the provided virtual address. :param int addr: virtual address of BasicBlock desired :return: a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects :rtype: list(B

(self, addr: int)

Source from the content-addressed store, hash-verified

5216 core.BNFreeBasicBlockList(blocks, count.value)
5217
5218 def get_basic_blocks_starting_at(self, addr: int) -> List['basicblock.BasicBlock']:
5219 """
5220 ``get_basic_blocks_starting_at`` get a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects which start at the provided virtual address.
5221
5222 :param int addr: virtual address of BasicBlock desired
5223 :return: a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects
5224 :rtype: list(BasicBlock)
5225 """
5226 count = ctypes.c_ulonglong(0)
5227 blocks = core.BNGetBasicBlocksStartingAtAddress(self.handle, addr, count)
5228 assert blocks is not None, "core.BNGetBasicBlocksStartingAtAddress returned None"
5229 result = []
5230 try:
5231 for i in range(0, count.value):
5232 block_handle = core.BNNewBasicBlockReference(blocks[i])
5233 assert block_handle is not None, "core.BNNewBasicBlockReference returned None"
5234 result.append(basicblock.BasicBlock(block_handle, self))
5235 return result
5236 finally:
5237 core.BNFreeBasicBlockList(blocks, count.value)
5238
5239 def get_recent_basic_block_at(self, addr: int) -> Optional['basicblock.BasicBlock']:
5240 block = core.BNGetRecentBasicBlockForAddress(self.handle, addr)

Callers

nothing calls this directly

Calls 2

BasicBlockMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected