summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2022-09-28 18:21:13 -0400
committerKyleMiles <krm504@nyu.edu>2022-10-04 15:36:26 -0400
commit3104042adab833e73a71738f57070ab881ade615 (patch)
tree4e5280c162a3f681dab5be6c15dba749d5c30115 /python
parented820d2ab81470b3e5ac543d75211e87ff3bc738 (diff)
Rename and move `Analysis/Database Merge Tool` to `File/Merge Databases`; Add API bindings for `BinaryView::GetDebugInfo()`, `BinaryView::ApplyDebugInfo()`, and `BinaryView::SetDebugInfo()`; Remove `analysis.experimental.parseDebugInfo`
(in favor of `loader.debugInfoInternal` and `loader.debugInfoExternal`)
Diffstat (limited to 'python')
-rw-r--r--python/debuginfo.py2
-rwxr-xr-xpython/examples/debug_info.py2
-rw-r--r--python/examples/mappedview.py6
3 files changed, 5 insertions, 5 deletions
diff --git a/python/debuginfo.py b/python/debuginfo.py
index fc434bfd..153e450d 100644
--- a/python/debuginfo.py
+++ b/python/debuginfo.py
@@ -177,7 +177,7 @@ class DebugInfoParser(object, metaclass=_DebugInfoParserMetaClass):
bn.debuginfo.DebugInfoParser.register("debug info parser", is_valid, parse_info)
- :py:class:`DebugInfo` can then be automatically applied to valid binary views (via the "Parse and Apply Debug Info" setting), or manually fetched/applied as bellow::
+ :py:class:`DebugInfo` will then be automatically applied to binary views that contain debug information (via the load setting `loader.debugInfoInternal`), binary views that provide valid external debug info files (`loader.debugInfoExternal`), or manually fetched/applied as below::
valid_parsers = bn.debuginfo.DebugInfoParser.get_parsers_for_view(bv)
parser = valid_parsers[0]
diff --git a/python/examples/debug_info.py b/python/examples/debug_info.py
index 28175ba1..0dd25786 100755
--- a/python/examples/debug_info.py
+++ b/python/examples/debug_info.py
@@ -222,7 +222,7 @@ for p in bn.debuginfo.DebugInfoParser:
print(f" {bn.debuginfo.DebugInfoParser[p.name].name}")
# Test calling our `is_valid` callback
-bv = bn.open_view(filename, options={"analysis.experimental.parseDebugInfo": False})
+bv = bn.open_view(filename, options={"loader.debugInfoInternal": False})
if parser.is_valid_for_view(bv):
print("Parser is valid")
else:
diff --git a/python/examples/mappedview.py b/python/examples/mappedview.py
index 645096f5..cfefa87a 100644
--- a/python/examples/mappedview.py
+++ b/python/examples/mappedview.py
@@ -53,7 +53,7 @@ class MappedView(BinaryView):
def get_load_settings_for_data(cls, data):
# This method is optional. If provided this is where the Load Settings for a BinaryViewType are specified. Binary Ninja provides
# some default read-only load settings which are:
- # ["loader.architecture", "loader.platform", "loader.entryPointOffset", "loader.imageBase", "loader.segments", "loader.sections"]
+ # ["loader.architecture", "loader.platform", "loader.entryPointOffset", "loader.imageBase", "loader.segments", "loader.sections", "loader.debugInfoInternal", "loader.debugInfoExternal"]
# The default load settings are provided for consistency and convenience.
# The default load settings are always generated with a read-only indication which is respected by the UI.
# The read-only indication is a property that consists of a JSON name/value pair ("readOnly" : true).
@@ -76,8 +76,8 @@ class MappedView(BinaryView):
# Specify default load settings that can be overridden (from the UI).
overrides = [
- "loader.architecture", "loader.platform", "loader.entryPointOffset", "loader.imageBase", "loader.segments",
- "loader.sections"
+ "loader.architecture", "loader.platform", "loader.entryPointOffset", "loader.imageBase",
+ "loader.segments", "loader.sections", "loader.debugInfoInternal", "loader.debugInfoExternal"
]
for override in overrides:
if load_settings.contains(override):