python修改内存,(修改植物大战僵尸)

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

# 系统常量,标识最高权限打开一个进程
PROCESS_ALL_ACCESS = (0x000F0000|0x00100000|0xFFF) # |位运算, 0x 十六进制

window = win32gui.FindWindow("MainWindow","植物大战僵尸中文版") # 查找窗体

# 根据窗体抓取进程编号(pid 是进程编号 hid和pid一般描述一个进程信息)
hid,pid = win32process.GetWindowThreadProcessId(window)

# phand 打开一个进程(参数意思是使用最高权限非安全打这个进程)
phand = win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)
print(phand)
# c语言整数类型,读取数据
date = ctypes.c_long()

# 调用系统内核模块(Kerne123.dll windows内核)
mydll = ctypes.windll.LoadLibrary("C:\\Windows\\System32\\kernel32.dll")

while True:
    # 读取内存(“4”表示占4个字节,types.byref(date)表示转递地址信息,写入的结果到date中)
    # int(phand)打开的进程编号   “244866760”需要读取的内存的地址
    mydll.ReadProcessMemory(int(phand), 0x411410192, ctypes.byref(date), 4, None)

    # 读内存 (可以获取内存中对应的数据)
    print(date.value)

    if date.value <2450:

        newdata = ctypes.c_long(2450) # 设定修改的数据
        mydll.WriteProcessMemory(int(phand), 0x411410192, ctypes.byref(newdata), 4, None)
    time.sleep(1)

原文地址:https://www.cnblogs.com/sea-stream/p/10804187.html

时间: 2024-08-30 10:48:42

python修改内存,(修改植物大战僵尸)的相关文章

植物大战僵尸——任意阳光修改

简介 ??这是植物大战僵尸系列的第一个练习,目的是实现任意阳光修改功能. 原理 ??该功能的原理其实很简单,大致步骤就是: 1. 开始任意一局游戏: 2. 找到该局游戏的阳光值在内存中的地址: 3. 根据该地址,找到游戏阳光的基地址: 4. 编写一个手动修改该值的小程序. 准备 系统:Windows 7 SP1 x64 ultimate 游戏:植物大战僵尸 工具:CheatEngine v6.7.VisualStudio 2017 分析 确定阳光位置 ??启动游戏,打开任意一局游戏. 可以看到此

植物大战僵尸修改器DIY(二)CD详解[转]

前言 之前做星际的时候,就有兄弟们说,为啥不做一个原子弹无CD呀.好像大家对CD这个东西挺感兴趣,那我们这一篇就来研究一下,做无CD的思路吧. 这个植物大战僵尸系列呢,目前暂定想法就是3-4集的样子.主要就是针对于各种不同的功能,进行一个思路的引导和分析.最后一集的时候,会介绍如果使用易语言和AA引擎,将他直接制作成一个真正的修改器,尽情期待. PS:我讲的是思路,植物大战僵尸,只是一个例子,大家可以把思路拓展到别的方面去,注重思维灵活. 欢迎文明转载,请注明出处  丸子de爸爸 本文所有技术资

植物大战僵尸游戏内存地址

<植物大战僵尸内存地址> 英文原版 查找地址 一级基址:0x006A9EC0 阳光:  +768  +5560 金币:  +82c  +28 <模式> 冒险:  +82c  +24 其他模式:  +7f8 //16起 70结尾 <花园> 花肥  +82c  +1f8 杀虫剂 +82c  +1fc 巧克力 +82c  +228 树肥  +82c  +230 智慧树  +82c  +31*4 +30=f4 休闲花园花盆总数:  +82c  +350 花盆种类:  +82c 

MIR2修改内存地址实现免蜡烛

显血:7A0D3:75EB超负重:99A40:76EBoffset原改防石化:00466F80:759000466F81:2E90稳如泰山:0046959D:2044004695A9:1438如影随行:004634E2:0001战斗退出:004620E6:7490004620E7:0D9000462162:749000462163:0A90004914CA:7490004914CB:0E9000491576:749000491577:0E90相对不卡:--|00463A8D:9900|0049B

UWP游戏防内存修改器的方法

最近我一直在编写适用于Windows 10商店的游戏.这款游戏比较怕玩家用修改器改金钱,因为这种修改会导致某些内购失效并且损害公平性.于是我把自己见过的三种反修改器的方法给网友们介绍一下. 首先说明一下我总结的防止游戏作弊的理念: 1.预防修改,防患于未然,让可用的修改手段减少. 比如说,你让你的UWP在PC不可用,那么修改内存这个操作本身就变得十分艰难了. 用.NET Native编译(或者干脆用c++而不是.net语言),可有效防止反编译看你的加密和解密算法然后搜内存. 2.拦截修改,修改前

Jboss6内存修改

1.启动脚本:/home/jboss/jboss-eap-6.2/bin/standalone.sh -Djboss.bind.address.management=192.168.0.62 -Djboss.bind.address=192.168.0.62 1>>/home/jboss/logs/jboss6.2/jboss.out 2>>/home/jboss/logs/jboss6.2/jboss-eoms.err & 2. 内存修改standalone.conf

只需要一点点C++基础,新手也可以制作单机游戏内存修改器

声明:本文只是为了初学C++的,能够做出一些实用的东西,跳出管理系统的束缚,提升学习的兴趣,在这里选取了单机游戏,请不要尝试在线游戏,违发而已未必可行.序:首先我们需要一个Qt+VS环境Qt从http://download.qt.io/archive/中下载,第一个和第三个,在里面选择对应版本.然后就是配环境了,这里提供2013+Qt5.5.1的环境配置,如果环境不同,请自行百度.这点解决问题能力都没有,就别学C++了...我的环境是2013+Qt5.5.1,不同版本可能略有差异,不过大同小异.

Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口

Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年3月1日 http://www.cnblogs.com/fanshuyao/ JDK安

rapidxml 解析修改内存的值

1.使用rapidxml解析的时候,特别注意,rapidxml会修改内存的值,把右尖括号>修改为'\0',因此特别注意,如果char指针指向的内容还要使用,需要做个备份. 2.如果char指针指向的内容,不再使用,不需要做备份,rapidxml会直接修改内存.这个时候不要忘记delete []释放资源.delete释放内存,跟内存中的取值没有关系,取值为0,也会正确地释放内存.使用new分配内存8个字节,操作系统会多分配一些内存,额外的内存记录分配了多少内存,这样在释放的时候,就知道应该释放多少