mirror of
https://gitlab.com/qemu-project/capstone.git
synced 2025-06-29 04:31:51 +08:00
support disassembling bytes from memoryview
This commit is contained in:
@ -1099,7 +1099,7 @@ class Cs(object):
|
|||||||
print(code)'''
|
print(code)'''
|
||||||
# Pass a bytearray by reference
|
# Pass a bytearray by reference
|
||||||
size = len(code)
|
size = len(code)
|
||||||
if isinstance(code, bytearray):
|
if isinstance(code, (bytearray, memoryview)):
|
||||||
code = ctypes.byref(ctypes.c_char.from_buffer(code))
|
code = ctypes.byref(ctypes.c_char.from_buffer(code))
|
||||||
res = _cs.cs_disasm(self.csh, code, size, offset, count, ctypes.byref(all_insn))
|
res = _cs.cs_disasm(self.csh, code, size, offset, count, ctypes.byref(all_insn))
|
||||||
if res > 0:
|
if res > 0:
|
||||||
@ -1127,7 +1127,7 @@ class Cs(object):
|
|||||||
all_insn = ctypes.POINTER(_cs_insn)()
|
all_insn = ctypes.POINTER(_cs_insn)()
|
||||||
size = len(code)
|
size = len(code)
|
||||||
# Pass a bytearray by reference
|
# Pass a bytearray by reference
|
||||||
if isinstance(code, bytearray):
|
if isinstance(code, (bytearray, memoryview) ):
|
||||||
code = ctypes.byref(ctypes.c_char.from_buffer(code))
|
code = ctypes.byref(ctypes.c_char.from_buffer(code))
|
||||||
res = _cs.cs_disasm(self.csh, code, size, offset, count, ctypes.byref(all_insn))
|
res = _cs.cs_disasm(self.csh, code, size, offset, count, ctypes.byref(all_insn))
|
||||||
if res > 0:
|
if res > 0:
|
||||||
|
Reference in New Issue
Block a user