【发布时间】:2012-12-25 03:32:15
【问题描述】:
我得到以下代码:
import subprocess
from ctypes import *
#-Part where I get the PID and declare all variables-#
OpenProcess = windll.kernel32.OpenProcess
ReadProcessMemory = windll.kernel32.ReadProcessMemory
processHandle = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
ReadProcessMemory(processHandle, address, buffer, bufferSize, byref(bytesRead))
所有这些都完美无缺,但由于某些进程使用所谓的BaseAddress 或StartAddress。在我的情况下,这个 BaseAddress 的大小不时是随机的。
正如here 建议的那样,我尝试使用以下代码:
BaseAddress = win32api.GetModuleHandle(None)
它所做的只是一遍又一遍地给出相同的十六进制值,即使我确定我的 BaseAddress 已经改变了。
链接线程的屏幕截图显示了我正在寻找的内容(左侧部分是基地址):
【问题讨论】:
-
有没有找到问题的答案?我自己也在寻找答案。
-
@DreamLane 不,仍然没有找到任何东西。决定改用c#。真可惜,因为我喜欢蟒蛇。
-
我也一直在争论改用 C++ 还是 C#。 Python 非常适合用于原型设计......
标签: python windows ctypes python-3.2