首页 > 技术文章 > python修改植物僵尸

xiaochi 2019-04-02 22:24 原文

import win32process#进程模块
import win32con#系统定义
import win32api#调用系统模块
import ctypes#C语言类型
import win32gui#界面

#一个常量,标识最高权限打开一个进程
PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF)# |位运算,0x十六进制
#查找窗体
window=win32gui.FindWindow("MainWindow","Plants vs. Zombies 1.2.0.1073 【传智播客C++学院】")
#根据窗体抓取进程编号
hid,pid=win32process.GetWindowThreadProcessId(window)
#用最高权限打开进程编号
phand = win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)
#C语言的整数类型,读取数据
date=ctypes.c_long()
#加载内核模块
mydll=ctypes.windll.LoadLibrary("C:\\Windows\\System32\\kernel32.dll")
#读取内存,int(phand)打开的进程编号,663504288内存地址,写入结果ctypes.byref(date) 整数四个字节
mydll.ReadProcessMemory(int(phand),663504288,ctypes.byref(date),4,None)

newdata=ctypes.c_long(204008)#设定修改的数据为2048
mydll.WriteProcessMemory(int(phand),663504288,ctypes.byref(newdata),4,None)

需要安装:pywin32-221.win-amd64-py3.6.exe

推荐阅读