diff options
| author | Jordan Wiens <jordan@psifertex.com> | 2018-08-23 00:57:06 -0400 |
|---|---|---|
| committer | Jordan Wiens <jordan@psifertex.com> | 2018-08-23 00:57:06 -0400 |
| commit | ebed7129ba102453f04f99e2f78278ff8aeef6f9 (patch) | |
| tree | 74526b041d64c8f6945ef169b617875a7dcc24eb | |
| parent | 66fe3d6c8b6a09724ef9cb9e1c0c524258a71c85 (diff) | |
add support for original_filename property
| -rw-r--r-- | binaryninjaapi.h | 3 | ||||
| -rw-r--r-- | binaryninjacore.h | 3 | ||||
| -rw-r--r-- | filemetadata.cpp | 15 | ||||
| -rw-r--r-- | python/filemetadata.py | 11 |
4 files changed, 31 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index b00689e0..a3db346a 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -821,6 +821,9 @@ namespace BinaryNinja void SetNavigationHandler(NavigationHandler* handler); + std::string GetOriginalFilename() const; + void SetOriginalFilename(const std::string& name); + std::string GetFilename() const; void SetFilename(const std::string& name); diff --git a/binaryninjacore.h b/binaryninjacore.h index c2d9f9f7..45ffc077 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -1950,6 +1950,9 @@ extern "C" BINARYNINJACOREAPI bool BNSaveAutoSnapshotWithProgress(BNBinaryView* data, void* ctxt, void (*progress)(void* ctxt, size_t progress, size_t total)); + BINARYNINJACOREAPI char* BNGetOriginalFilename(BNFileMetadata* file); + BINARYNINJACOREAPI void BNSetOriginalFilename(BNFileMetadata* file, const char* name); + BINARYNINJACOREAPI char* BNGetFilename(BNFileMetadata* file); BINARYNINJACOREAPI void BNSetFilename(BNFileMetadata* file, const char* name); diff --git a/filemetadata.cpp b/filemetadata.cpp index dc08fe30..bbde5d72 100644 --- a/filemetadata.cpp +++ b/filemetadata.cpp @@ -208,6 +208,21 @@ void FileMetadata::SetNavigationHandler(NavigationHandler* handler) } +string FileMetadata::GetOriginalFilename() const +{ + char* str = BNGetOriginalFilename(m_object); + string result = str; + BNFreeString(str); + return result; +} + + +void FileMetadata::SetOriginalFilename(const string& name) +{ + BNSetOriginalFilename(m_object, name.c_str()); +} + + string FileMetadata::GetFilename() const { char* str = BNGetFilename(m_object); diff --git a/python/filemetadata.py b/python/filemetadata.py index cafe1d67..4d51f4d9 100644 --- a/python/filemetadata.py +++ b/python/filemetadata.py @@ -114,8 +114,17 @@ class FileMetadata(object): _FileMetadataAssociatedDataStore.set_default(name, value) @property + def original_filename(self): + """The original name of the binary opened if a bndb, otherwise reads or sets the current filename (read/write)""" + return core.BNGetOriginalFilename(self.handle) + + @original_filename.setter + def original_filename(self, value): + core.BNSetOriginalFilename(self.handle, str(value)) + + @property def filename(self): - """The name of the file (read/write)""" + """The name of the open bndb or binary filename (read/write)""" return core.BNGetFilename(self.handle) @filename.setter |
