【发布时间】:2020-09-24 08:50:09
【问题描述】:
我正在尝试使用 python 脚本通过 trace32 从内存中读取。我找到了以下文档:https://www2.lauterbach.com/pdf/api_remote.pdf
我管理了以下代码:
local_buffer = ctypes.POINTER(ctypes.c_uint32)
t32api.T32_ReadMemory(byteAddress=addr, access=0x0, buffer=local_buffer, size=size)
print(local_buffer)
当然,有一个 t32api 对象的初始化 - 有效。但是我在这里粘贴的代码会导致以下python错误:
Traceback (most recent call last):
File "<path_to_python_script>", line 599, in <module>
main()
File "<path_to_python_script>", line 590, in main
process()
File "<path_to_python_script>", line 269, in process
NumberOfEmpr = read_addr(0xf0083100)
File "<path_to_python_script>", line 148, in read_addr
return read_addr_t32(addr, size)
File "<path_to_python_script>", line 137, in read_addr_t32
t32api.T32_ReadMemory(byteAddress=addr, access=0x0, buffer=local_buffer, size=size)
OSError: exception: access violation writing 0xXXXXXXXX
当然0xXXXXXXXX是某个地址的占位符,我猜是local_buffer的地址。
如果有人知道如何解决这个问题,我将不胜感激。
【问题讨论】:
-
这里是如何通过 Python 中的经典远程 API 写入 到内存的指南:stackoverflow.com/a/47717395/4727717(阅读方式基本相同,在底部简要显示答案。)
标签: python python-3.x memory trace32