From ba72c577874c83567737d08ca64d3e52090763b7 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Mon, 28 Sep 2020 16:50:27 +0800 Subject: add unit test for deprecated BinaryViewType expose FileMetadata::GetExistingViews() --- python/binaryview.py | 5 +++++ python/filemetadata.py | 11 +++++++++++ 2 files changed, 16 insertions(+) (limited to 'python') diff --git a/python/binaryview.py b/python/binaryview.py index b7f5b745..e7c39641 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -731,6 +731,11 @@ class BinaryViewType(with_metaclass(_BinaryViewTypeMetaclass, object)): """BinaryView long name (read-only)""" return core.BNGetBinaryViewTypeLongName(self.handle) + @property + def is_deprecated(self): + """returns if the BinaryViewType is deprecated (read-only)""" + return core.BNIsBinaryViewTypeDeprecated(self.handle) + def create(self, data): view = core.BNCreateBinaryViewOfType(self.handle, data.handle) if view is None: diff --git a/python/filemetadata.py b/python/filemetadata.py index c5f6b0f9..bfcfff90 100644 --- a/python/filemetadata.py +++ b/python/filemetadata.py @@ -28,6 +28,7 @@ from binaryninja import _binaryninjacore as core from binaryninja import associateddatastore #required for _FileMetadataAssociatedDataStore from binaryninja import log from binaryninja.enums import SaveOption +from binaryninja import pyNativeStr class NavigationHandler(object): def _register(self, handle): @@ -433,3 +434,13 @@ class FileMetadata(object): if view is None: return None return binaryninja.binaryview.BinaryView(file_metadata = self, handle = view) + + @property + def existing_views(self): + length = ctypes.c_ulonglong() + result = core.BNGetExistingViews(self.handle, ctypes.byref(length)) + views = [] + for i in range(length.value): + views.append(pyNativeStr(result[i])) + core.BNFreeStringList(result, length) + return views \ No newline at end of file -- cgit v1.3.1