python监听一个进程的内存_如何在Windows中读取Python中另一个进程的内存?

我正在尝试编写一个Python脚本来读取特定进程的一系列内存位置.

我怎么能用Python做到这一点?

如果重要的话我会使用Windows.我有我正在尝试读取/编辑的进程PID.

我是否必须恢复调用ReadProcessMemory()并使用ctypes?

解决方法:

我在标准的python库中没有看到任何内容,但我发现了一个使用ctypes的例子,就像你在另一个网站上建议的那样:

from ctypes import *

from ctypes.wintypes import *

OpenProcess = windll.kernel32.OpenProcess

ReadProcessMemory = windll.kernel32.ReadProcessMemory

CloseHandle = windll.kernel32.CloseHandle

PROCESS_ALL_ACCESS = 0x1F0FFF

pid = 4044 # I assume you have this from somewhere.

address = 0x1000000 # Likewise; for illustration I'll get the .exe header.

buffer = c_char_p("The data goes here")

bufferSize = len(buffer.value)

bytesRead = c_ulong(0)

processHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

if ReadProcessMemory(processHandle, address, buffer, bufferSize, byref(bytesRead)):

print "Success:", buffer

else:

print "Failed."

CloseHandle(processHandle)

标签:python

来源: https://codeday.me/bug/20190926/1818752.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值