summaryrefslogtreecommitdiff
path: root/python/__init__.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-07-11 04:44:55 -0400
committerRusty Wagner <rusty@vector35.com>2016-07-11 04:44:55 -0400
commitae7753487db7e3cbd4d4c5b0f464a6868da42817 (patch)
tree340de6b24c6e2941903866e057f8b8eebf074186 /python/__init__.py
parentca6d082528f1b4c6d8f66bed18fb2e70f4c87a74 (diff)
Add APIs for querying data and code before address, and add settings parameter to linear disassembly position API
Diffstat (limited to 'python/__init__.py')
-rw-r--r--python/__init__.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/python/__init__.py b/python/__init__.py
index cdced08c..ab45dfc0 100644
--- a/python/__init__.py
+++ b/python/__init__.py
@@ -1551,8 +1551,19 @@ class BinaryView(object):
def get_next_data_after(self, addr):
return core.BNGetNextDataAfterAddress(self.handle, addr)
- def get_linear_disassembly_position_at(self, addr):
- pos = core.BNGetLinearDisassemblyPositionForAddress(self.handle, addr)
+ def get_previous_function_start_before(self, addr):
+ return core.BNGetPreviousFunctionStartBeforeAddress(self.handle, addr)
+
+ def get_previous_start_of_data_before(self, addr):
+ return core.BNGetPreviousStartOfDataBeforeAddress(self.handle, addr)
+
+ def get_previous_data_before(self, addr):
+ return core.BNGetPreviousDataBeforeAddress(self.handle, addr)
+
+ def get_linear_disassembly_position_at(self, addr, settings):
+ if settings is not None:
+ settings = settings.handle
+ pos = core.BNGetLinearDisassemblyPositionForAddress(self.handle, addr, settings)
func = None
block = None
if pos.function:
@@ -1622,7 +1633,7 @@ class BinaryView(object):
self.settings = settings
def __iter__(self):
- pos = self.view.get_linear_disassembly_position_at(self.view.start)
+ pos = self.view.get_linear_disassembly_position_at(self.view.start, self.settings)
while True:
lines = self.view.get_next_linear_disassembly_lines(pos, self.settings)
if len(lines) == 0: