使用Cheat Engine与Pymem修改游戏计时器失败,遇内存读取错误
解决Pymem读取SHIFT.exe内存时的GetLastError:299错误
问题描述
使用Cheat Engine 7.4和Pymem库修改SHIFT.exe游戏计时器时,触发内存读取错误:
Could not read memory at: , length: 4 - GetLastError: 299
相关代码
from pymem import * from pymem.process import * pm = pymem.Pymem("SHIFT.exe") gameModule = module_from_name(pm.process_handle , "SHIFT.exe").lpBaseOfDll def GetptrAddr(base , offsets): addr = pm.read_int(base) for i in offsets: if i != offsets[-1]: addr = pm.read_int(addr + i) # 错误触发点:Could not read memory at: 1715211616, length: 4 - GetLastError: 299 return addr + offsets[-1] while True: pm.write_int(GetptrAddr(gameModule + 0x001F30AC, [0x8E4,0x2C,0x20,0x14,0x10,0x28,0x5C]),11)
补充信息
- Cheat Engine指针截图:显示静态基址为
SHIFT.exe + 0x001F30AC,偏移链为0x8E4 → 0x2C → 0x20 → 0x14 → 0x10 → 0x28 → 0x5C - Pymem报错截图:明确显示内存读取失败及错误码299
解决方法
1. 修正指针遍历逻辑
原函数对偏移链的处理存在逻辑漏洞,正确流程是:先读取基址+静态偏移的指针值,再依次遍历除最后一个外的偏移,每次读取指针+偏移后的内存值,最后加上最后一个偏移得到目标地址。
2. 匹配进程位数
错误码299常见于32位/64位不匹配:
- 检查SHIFT.exe是32位还是64位进程
- 若为64位,需用
read_longlong读取8字节指针,而非read_int(4字节);同时Python运行环境位数要与进程一致
3. 提升权限与检查反作弊
- 以管理员权限运行脚本,确保具备内存读写权限
- 确认游戏未启用反作弊机制(部分游戏会阻止外部进程读写内存)
4. 验证基址与偏移
核对Cheat Engine中的静态基址偏移0x001F30AC是否与代码一致,偏移链顺序是否完全匹配
5. 优化循环写入逻辑
无限高频写入可能触发内存保护,添加小延迟降低读写频率
修正后的完整代码
from pymem import Pymem from pymem.process import module_from_name import time pm = Pymem("SHIFT.exe") gameModule = module_from_name(pm.process_handle, "SHIFT.exe").lpBaseOfDll def GetptrAddr(base, offsets): try: # 根据进程位数选择读取方式 addr = pm.read_longlong(base) if pm.is_64bit else pm.read_int(base) # 遍历除最后一个外的所有偏移 for offset in offsets[:-1]: addr = pm.read_longlong(addr + offset) if pm.is_64bit else pm.read_int(addr + offset) if addr == 0: raise ValueError("无效的指针地址") return addr + offsets[-1] except Exception as e: print(f"指针遍历失败: {e}") return None while True: target_addr = GetptrAddr(gameModule + 0x001F30AC, [0x8E4, 0x2C, 0x20, 0x14, 0x10, 0x28, 0x5C]) if target_addr: try: pm.write_int(target_addr, 11) except Exception as e: print(f"写入失败: {e}") # 添加延迟避免高频操作 time.sleep(0.1)
内容的提问来源于stack exchange,提问作者Blare
相关产品推荐
相关产品推荐

