diff options
| author | Ryan Snyder <ryan@vector35.com> | 2019-06-13 14:30:10 -0400 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2019-06-13 14:31:49 -0400 |
| commit | 5502500f2a605af47523847db67b4c506d8f16e4 (patch) | |
| tree | e95da57bff3e0baac412ff55dc03573c2ac44579 /python/binaryview.py | |
| parent | e4fd9c426f60544960d66080093292e146abed5e (diff) | |
python: fix StringReference, add .raw property
Diffstat (limited to 'python/binaryview.py')
| -rw-r--r-- | python/binaryview.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index d68b8b24..04f0e2dc 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -93,6 +93,13 @@ class BinaryDataNotification(object): def type_undefined(self, view, name, type): pass +_decodings = { + StringType.AsciiString: "ascii", + StringType.Utf8String: "utf-8", + StringType.Utf16String: "utf-16", + StringType.Utf32String: "utf-32", +} + class StringReference(object): def __init__(self, bv, string_type, start, length): @@ -103,7 +110,11 @@ class StringReference(object): @property def value(self): - return binaryninja.pyNativeStr(self._view.read(self._start, self._length)) + return self._view.read(self._start, self._length).decode(_decodings[self._type]) + + @property + def raw(self): + return self._view.read(self._start, self._length) def __repr__(self): return "<%s: %#x, len %#x>" % (self._type, self._start, self._length) |
