首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用pymem读取内存?

如何使用pymem读取内存?
EN

Stack Overflow用户
提问于 2022-05-27 21:45:01
回答 1查看 633关注 0票数 0

这段代码从程序中写入和读取内存。该程序是64位构建的。我使用mem.write_float没有问题,但是当使用mem.read时,会发生错误

代码语言:javascript
运行
复制
pymem.exception.MemoryReadError: Could not read memory at: 16, length: 8 - GetLastError: 29

有人有主意吗?

代码语言:javascript
运行
复制
from pymem import *
from pymem.process import *


mem = Pymem("###.exe")
game_module = module_from_name(mem.process_handle, "###.exe").lpBaseOfDll


def getPtrAddr(address, offsets):
    addr = mem.read_longlong(address)
    for offset in offsets:
        if offset != offsets[-1]:
            addr = mem.read_longlong(addr + offset)
    addr = addr + offsets[-1]
    return addr

while True:

    mem.write_float(getPtrAddr(game_module + 0x06D26780, [0x28, 0x20, 0X08, 0x08, 0x170, 0x10, 0xE8]), 1000.233)
    
    mem.read_longlong(getPtrAddr(game_module + 0x06D26780, [0x28, 0x20, 0X08, 0x08, 0x170,0x10, 0xE8]))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-22 16:20:44

在您的函数中,read_longlong正在读取整数。要从指针跳转到指针,需要读取指针值。您可以使用“ptype”(请参阅:https://pymem.readthedocs.io/en/latest/api.html#module-pymem.ptypes )来代替阅读int。

你可以像这样使用ptype;

代码语言:javascript
运行
复制
from pymem import Pymem
from pymem.ptypes import RemotePointer

pm = Pymem("###.exe")

def getPointerAddress(base, offsets):
    remote_pointer = RemotePointer(pm.process_handle, base)
    for offset in offsets:
        if offset != offsets[-1]:
            remote_pointer = RemotePointer(pm.process_handle, remote_pointer.value + offset)
        else:
            return remote_pointer.value + offset

pm.write_int(getPointerAddress(pm.base_address + 0x123ABC, offsets=[offset1, offset2, offset3]), 123456)

在你的代码中;

代码语言:javascript
运行
复制
game_module = module_from_name(mem.process_handle, "###.exe").lpBaseOfDll

代码语言:javascript
运行
复制
pm.base_address

基本上是一样的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72411354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档