summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-07-20 18:54:57 -0400
committerRusty Wagner <rusty@vector35.com>2016-07-20 18:54:57 -0400
commit5e15a16c95dd3e0b48ea0b319a813720f14fec5a (patch)
treee71fb0710bafbe7bcfe0bb87eea7266427410346
parent5fe41897d085a4fe39135fdcc7ec60a24d1799cd (diff)
Add API for previous start of basic block
-rw-r--r--binaryninjaapi.h1
-rw-r--r--binaryninjacore.h1
-rw-r--r--binaryview.cpp6
-rw-r--r--python/__init__.py3
4 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 94e888d3..b4606596 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -877,6 +877,7 @@ namespace BinaryNinja
uint64_t GetNextDataAfterAddress(uint64_t addr);
uint64_t GetNextDataVariableAfterAddress(uint64_t addr);
uint64_t GetPreviousFunctionStartBeforeAddress(uint64_t addr);
+ uint64_t GetPreviousBasicBlockStartBeforeAddress(uint64_t addr);
uint64_t GetPreviousBasicBlockEndBeforeAddress(uint64_t addr);
uint64_t GetPreviousDataBeforeAddress(uint64_t addr);
uint64_t GetPreviousDataVariableBeforeAddress(uint64_t addr);
diff --git a/binaryninjacore.h b/binaryninjacore.h
index d667d12a..ac4fa0a3 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1430,6 +1430,7 @@ extern "C"
BINARYNINJACOREAPI uint64_t BNGetNextDataAfterAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetNextDataVariableAfterAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetPreviousFunctionStartBeforeAddress(BNBinaryView* view, uint64_t addr);
+ BINARYNINJACOREAPI uint64_t BNGetPreviousBasicBlockStartBeforeAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetPreviousBasicBlockEndBeforeAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetPreviousDataBeforeAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetPreviousDataVariableBeforeAddress(BNBinaryView* view, uint64_t addr);
diff --git a/binaryview.cpp b/binaryview.cpp
index 6c84a69b..ab519297 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -1224,6 +1224,12 @@ uint64_t BinaryView::GetPreviousFunctionStartBeforeAddress(uint64_t addr)
}
+uint64_t BinaryView::GetPreviousBasicBlockStartBeforeAddress(uint64_t addr)
+{
+ return BNGetPreviousBasicBlockStartBeforeAddress(m_object, addr);
+}
+
+
uint64_t BinaryView::GetPreviousBasicBlockEndBeforeAddress(uint64_t addr)
{
return BNGetPreviousBasicBlockEndBeforeAddress(m_object, addr);
diff --git a/python/__init__.py b/python/__init__.py
index 7564ee98..fd4af520 100644
--- a/python/__init__.py
+++ b/python/__init__.py
@@ -1638,6 +1638,9 @@ class BinaryView(object):
def get_previous_function_start_before(self, addr):
return core.BNGetPreviousFunctionStartBeforeAddress(self.handle, addr)
+ def get_previous_basic_block_start_before(self, addr):
+ return core.BNGetPreviousBasicBlockStartBeforeAddress(self.handle, addr)
+
def get_previous_basic_block_end_before(self, addr):
return core.BNGetPreviousBasicBlockEndBeforeAddress(self.handle, addr)