diff options
Diffstat (limited to 'python/demangle.py')
| -rw-r--r-- | python/demangle.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/python/demangle.py b/python/demangle.py index 11673263..2fa1028f 100644 --- a/python/demangle.py +++ b/python/demangle.py @@ -21,8 +21,12 @@ import ctypes # Binary Ninja components -import _binaryninjacore as core -import types +from binaryninja import _binaryninjacore as core +from binaryninja import types + +# 2-3 compatibility +from binaryninja import range +from binaryninja import pyNativeStr def get_qualified_name(names): @@ -61,8 +65,8 @@ def demangle_ms(arch, mangled_name): outSize = ctypes.c_ulonglong() names = [] if core.BNDemangleMS(arch.handle, mangled_name, ctypes.byref(handle), ctypes.byref(outName), ctypes.byref(outSize)): - for i in xrange(outSize.value): - names.append(outName[i]) + for i in range(outSize.value): + names.append(pyNativeStr(outName[i])) core.BNFreeDemangledName(ctypes.byref(outName), outSize.value) return (types.Type(handle), names) return (None, mangled_name) @@ -74,8 +78,8 @@ def demangle_gnu3(arch, mangled_name): outSize = ctypes.c_ulonglong() names = [] if core.BNDemangleGNU3(arch.handle, mangled_name, ctypes.byref(handle), ctypes.byref(outName), ctypes.byref(outSize)): - for i in xrange(outSize.value): - names.append(outName[i]) + for i in range(outSize.value): + names.append(pyNativeStr(outName[i])) core.BNFreeDemangledName(ctypes.byref(outName), outSize.value) if not handle: return (None, names) |
