From 902750648579d32cc83fbd91181ecea2c9e0c9e5 Mon Sep 17 00:00:00 2001 From: Ryan Snyder Date: Mon, 11 Mar 2019 21:01:47 -0400 Subject: api: update to support getting source blocks from IL blocks --- python/basicblock.py | 8 ++++++++ python/lowlevelil.py | 3 +++ 2 files changed, 11 insertions(+) (limited to 'python') diff --git a/python/basicblock.py b/python/basicblock.py index 849d529f..661eefd5 100644 --- a/python/basicblock.py +++ b/python/basicblock.py @@ -175,6 +175,14 @@ class BasicBlock(object): self._arch = binaryninja.architecture.CoreArchitecture._from_cache(arch) return self._arch + @property + def source_block(self): + """Basic block source block (read-only)""" + block = core.BNGetBasicBlockSource(self.handle) + if block is None: + return None + return BasicBlock(block, self._view) + @property def start(self): """Basic block start (read-only)""" diff --git a/python/lowlevelil.py b/python/lowlevelil.py index a88182a7..430e5934 100644 --- a/python/lowlevelil.py +++ b/python/lowlevelil.py @@ -780,6 +780,9 @@ class LowLevelILFunction(object): arch = self.arch core.BNLowLevelILSetCurrentAddress(self.handle, arch.handle, value) + def set_current_source_block(self, block): + core.BNLowLevelILSetCurrentSourceBlock(self.handle, block.handle) + @property def temp_reg_count(self): """Number of temporary registers (read-only)""" -- cgit v1.3.1