diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-07-20 18:54:57 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-07-20 18:54:57 -0400 |
| commit | 5e15a16c95dd3e0b48ea0b319a813720f14fec5a (patch) | |
| tree | e71fb0710bafbe7bcfe0bb87eea7266427410346 | |
| parent | 5fe41897d085a4fe39135fdcc7ec60a24d1799cd (diff) | |
Add API for previous start of basic block
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 | ||||
| -rw-r--r-- | binaryview.cpp | 6 | ||||
| -rw-r--r-- | python/__init__.py | 3 |
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) |
