Python简易读写内存库Pymem
本帖最后由 阳光肥肥 于 2021-11-8 19:04 编辑python本身可以用ctypes等库进行内存的读写,如已经有dalao的Python64位游戏读写
但是可以看到直接使用ctypes的话,用起来比较麻烦。代码比较多
这里有一个封装过的库,写起代码来简单很多
安装
pip install pymem
使用示例
以经典的植物大战僵尸为例好了,CE找到的阳光的地址如图
使用python读写
from pymem import Pymem
# exe名称
pm = Pymem('PlantsVsZombies.exe')
print('Process id: %s' % pm.process_id)
# 直接读写
sun = pm.read_int(0x1A39E7E0)
print('阳光值是:' + str(sun))
print('写入阳光值10000...')
pm.write_int(0x1A39E7E0, 10000)
print('当前阳光值是:' + str(pm.read_int(0x1A39E7E0)))
# 使用指针读写
# == 0x1A39E7E0
# == 1A399280
# == 02761A10
base = 0x006A9EC0
ptr1 = pm.read_int(base)# == 02761A10
print(ptr1)
ptr2 = pm.read_int(ptr1 + 0x768)# == 1A399280
print(ptr2)
sun = pm.read_int(
ptr2 + 0x5560
)# == 0x1A39E7E0, 读取0x1A39E7E0内的值 即阳光值
print('使用指针读取到的阳光值是:' + str(sun))
更多使用方法请看pymem文档
本帖最后由 大兵马元帅 于 2021-11-8 19:14 编辑
要搞就搞网络游戏,单机游戏太没意思了,而且这个都是烂大街的东西了,十几年前别的语言早就做到了,现在没必要用python再搞一遍了 大兵马元帅 发表于 2021-11-8 19:07
要搞就搞网络游戏,单机游戏太没意思了,而且这个都是烂大街的东西了,十几年前别的语言早就做到了,现在没 ...
。。大部分python能干的活别的语言也能干,不过用python不就是想少写两行代码吗? 楼主强,学习好,感谢! 感谢分享,不明觉厉 可以,感谢楼主分享 也木有发现node js有时候比python还好用,尤其与web有关的 请问这个是可以更改所有版本的植物大战僵尸游戏吗 githubi 发表于 2021-11-8 21:40
请问这个是可以更改所有版本的植物大战僵尸游戏吗
不能,这里已经找到了地址
用python去读写这个地址而已。
一般情况还是得先用CE找到地址。 阳光肥肥 发表于 2021-11-8 22:07
不能,这里已经找到了地址
用python去读写这个地址而已。
一般情况还是得先用CE找到地址。
谢谢解答,请问用CE找这个地址好找吗,新人刚了解到CE这个软件