pyDBGeng的一个bug,折腾了几天,终于在一个网站上找到了答案:
def read_virtual_memory(self, address, length):
offset=c_ulonglong(address)
cp_read_buf=create_string_buffer(length)
read_buf = cast(cp_read_buf,c_void_p)
bytes_read = c_ulong(0)
buffer_size=c_ulong(length)
self.idebug_data_spaces.ReadVirtual(offset, read_buf, buffer_size, pointer(bytes_read))
if (bytes_read.value != length):
raise DebuggerException("read_virtual_memory(): ReadVirtual() failed")
return cp_read_buf.raw