我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python如何修改游戏内存

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python如何修改游戏内存

这篇文章将为大家详细讲解有关Python如何修改游戏内存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

游戏的安装

关于安装的这一块....我以前是在网站上下载的,现在再去找估计随便百度下载一个就可以了,这里就用我之前的吧

链接:https://pan.baidu.com/s/1Ydiy1Q9QqKNxoyAkIlzp7Q
提取码:1234

Python如何修改游戏内存

安装下载后切记要避免点到一些广告上去,和一些浏览器的锁定勾选记得取消掉。 进入游戏是全屏,不方便我们观察效果以及编写程序,可以在选项中取消勾选全屏

Python如何修改游戏内存

思路

一句话总结

我的理解就是,所有的程序的本质都是变量与数值的集合。

比如说咱们玩的游戏它也是一个程序吧,游戏的角色血量、蓝条是不是都是一个数值储存在变量内,那么如果我们找到存放这个数值的变量(也可以叫做地址),修改这个变量的值,那么是不是就可以做到给咱们得人物加血量、修改人物等级的一系列操作。

大概的思路

首先确定修改哪一款游戏的数据,然后确定修改游戏的哪一个数据,然后去寻找这个游戏内这个数据的地址,然后去修改这个数据。

听起来有点绕。好吧,是我的语文学习的太差啦

实战

确定修改哪一款游戏的数据

这里需要利用到一个句柄查看工具这里我给大家已经下载好了。

链接:https://pan.baidu.com/s/1ubpe7bmIsojbcX3z_24CxA
提取码:1234

把放大镜拖动到游戏的标题上,就可以查看到这个窗口的所有信息

Python如何修改游戏内存

可以看下咱们任务管理器中的进程ID是否也是39156

Python如何修改游戏内存

代码
import win32process# 进程模块import win32gui# 界面# none  窗口的类名                窗口的IDwindow_handle = win32gui.FindWindow(None, "植物大战僵尸中文版") #Pyspy++  窗口句柄win32gui.print(window_handle)process_id = win32process.GetWindowThreadProcessId(window_handle)[1] #取进程IDprint(process_id)process_handle = win32api.OpenProcess(0x1F0FFF, False, process_id)#进程句柄# 进程句柄是否可以被子进程继承,一般选false(不可被继承)# #这种是用线程内核对象的默认安全属性, 子进程不能继承父进程的句柄,不可以继承,# 则子进程是不可以通过句柄访问改内核对象。print(process_handle)

关于这个代码我讲解一下 ,如何确定一款游戏是由进程的句柄来判断的,而我们手动取到游戏的窗口ID 与类名后,可以得到进程ID,由进程ID可以得到游戏句柄。

地址的寻找

阳光总值150, 种植一个豌豆需要100,非常不够用。咱们现在需要实现的功能是无限阳光,达到无限种植豌豆的效果。这里需要用到CE软件,我给大家提供。

链接:https://pan.baidu.com/s/1mkEmVUonDBS6zBjJjYDFSQ
提取码:1234

Python如何修改游戏内存

视频教程

Python永远的神,实战开发游戏内存辅助!

修改数据

由于咱们是用Python这门编程语言来实现的,这里需要用Python去调C,用到动态链接库,所以要配置一下内核模块(动态链接库kernel32.dll),C:\Windows\System32\kernel32.dll放到这个目录下,我这里也给大家下载好了。

链接:https://pan.baidu.com/s/1kAwg7PE_zZP_sqkaluD4QA
提取码:1234

代码
import win32api# 系统模块import win32process# 进程模块import win32gui# 界面import ctypes# C语言调用类型# python中使用ctypes模块可以在python中直接调用C/C++。首先要将C/C++编译成动态库# (.dl或.so),之后python中调用即可。# C类型 调用约定# kernel32.WriteProcessMemory(int(process_handle),0x1C0A4F98,byref(c_int(1000)),4,byref(c_int(0)))kernel32 = ctypes.windll.LoadLibrary(r"C:\Windows\System32\kernel32.dll ")#加载内核模块  动态链接库date1 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),0x006A9EC0,ctypes.byref(date1),4,None)#None读取的一个数据的大小 尺寸 长度# 缓冲区,各种语言的文本要求不一样,为了兼容,那么自定义一个文本# 地址会变,但是里面存储的数据不会变。print(date1.value)date2 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),date1.value+0x768,ctypes.byref(date2),4,None)print(date2.value)date3 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(date3),4,None)print(date3.value)sun = input("请输入你要改变的阳光值:")# kernel32.WriteProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(ctypes.c_long(int(sun))),4,None)kernel32.WriteProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(ctypes.c_long(int(sun))), 4, None)# 关闭进程kernel32.CloseHandle(int(process_handle))

效果

Python如何修改游戏内存

完整的源码

#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time    : 2019/4/30 16:00# @Author  : 善念 import win32api# 系统模块import win32process# 进程模块import win32gui# 界面import ctypes# C语言调用类型# python中使用ctypes模块可以在python中直接调用C/C++。首先要将C/C++编译成动态库# (.dl或.so),之后python中调用即可。# none  窗口的类名                窗口的IDwindow_handle = win32gui.FindWindow(None, "植物大战僵尸中文版") #Pyspy++  窗口句柄win32gui.print(window_handle)process_id = win32process.GetWindowThreadProcessId(window_handle)[1] #取进程IDprint(process_id)process_handle = win32api.OpenProcess(0x1F0FFF, False, process_id)#进程句柄# 进程句柄是否可以被子进程继承,一般选false(不可被继承)# #这种是用线程内核对象的默认安全属性, 子进程不能继承父进程的句柄,不可以继承,# 则子进程是不可以通过句柄访问改内核对象。print(process_handle)# C类型 调用约定# kernel32.WriteProcessMemory(int(process_handle),0x1C0A4F98,byref(c_int(1000)),4,byref(c_int(0)))kernel32 = ctypes.windll.LoadLibrary(r"C:\Windows\System32\kernel32.dll ")#加载内核模块  动态链接库date1 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),0x006A9EC0,ctypes.byref(date1),4,None)#None读取的一个数据的大小 尺寸 长度# 缓冲区,各种语言的文本要求不一样,为了兼容,那么自定义一个文本# 地址会变,但是里面存储的数据不会变。print(date1.value)date2 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),date1.value+0x768,ctypes.byref(date2),4,None)print(date2.value)date3 = ctypes.c_long()kernel32.ReadProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(date3),4,None)print(date3.value)sun = input("请输入你要改变的阳光值:")# kernel32.WriteProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(ctypes.c_long(int(sun))),4,None)kernel32.WriteProcessMemory(int(process_handle),date2.value+0x5560,ctypes.byref(ctypes.c_long(int(sun))), 4, None)kernel32.CloseHandle(int(process_handle))# 关闭进程

关于“Python如何修改游戏内存”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python如何修改游戏内存

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python如何修改游戏内存

这篇文章将为大家详细讲解有关Python如何修改游戏内存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。游戏的安装关于安装的这一块....我以前是在网站上下载的,现在再去找估计随便百度下载一个就可以了,这里
2023-06-25

Tomcat如何修改内存配置

这篇文章将为大家详细讲解有关Tomcat如何修改内存配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、配置Tomcat/conf/server.xml修改配置2023-06-02

详解Cocos2D-X游戏的内存如何优化

编程学习网:讲到内存优化,这估计是新手最最烦恼的问题之一了,那么在游戏开发中要如何解决内存优化问题呢?本篇教程将带你详细了解怎样优化Cocos2D-X游戏的内存。
详解Cocos2D-X游戏的内存如何优化
2024-04-23

怎么用python分析游戏内存数据

要使用Python分析游戏内存数据,你需要了解以下几个步骤:安装所需的模块:首先,你需要安装一些用于分析游戏内存数据的Python模块,如`pywin32`、`psutil`和`struct`。你可以使用pip命令安装这些模块,例如:`pi
2023-10-26

如何修改eclipse下tomcat的内存

本文将为大家详细介绍“如何修改eclipse下tomcat的内存”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“如何修改eclipse下tomcat的内存”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,
2023-06-26

win10玩游戏闪退内存不足如何解决

本篇内容介绍了“win10玩游戏闪退内存不足如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10玩游戏闪退内存不足解决方法:1、
2023-07-01

如何在Ubuntu中调试Pygame游戏内存泄漏

在Ubuntu中调试Pygame游戏内存泄漏可以通过以下步骤进行:安装必要的工具:首先,确保你已经安装了Python和Pygame库。然后,你需要安装一些用于内存调试的工具,如valgrind和python-valgrind。你可以使用以下
如何在Ubuntu中调试Pygame游戏内存泄漏
2024-10-15

如何修改win7系统虚拟内存

在设备提示“内存不足”时,很多人会选择增加内存条。此外,用户还有机会改变电脑的虚拟内存,从而提升运行内存!然而,并不是每个用户都了解如何进行虚拟内存的修改。如何修改win7系统虚拟内存?以下小编将与大家分享具体做法。如何修改win7系统虚拟
2023-07-10

win11如何修改虚拟内存大小

要修改Windows 11的虚拟内存大小,可以按照以下步骤操作:1. 打开“设置”菜单。可以通过点击任务栏上的“开始”按钮,然后点击左侧列表中的“设置”图标,或者使用快捷键Win + I来打开“设置”菜单。2. 在“设置”菜单中,点击左侧列
2023-09-05

如何在Ubuntu中优化Pygame游戏的内存使用

在Ubuntu中优化Pygame游戏的内存使用可以通过以下几种方法:减少图像和资源的大小:使用较小的图像格式(如PNG的压缩版本)和资源,或者只加载游戏所需的图像和资源,而不是一次性加载所有内容。使用对象池:对象池是一种创建和管理游戏对象
如何在Ubuntu中优化Pygame游戏的内存使用
2024-10-15

如何使用Gitee来进行原神的游戏修改

原神是一款热门的游戏,对于一些喜欢进行游戏修改的玩家来说,使用Gitee(码云)可以提供方便快捷的代码托管和版本控制服务。在本文中,我们将介绍如何使用Gitee来进行原神的游戏修改。一、创建Gitee账户首先,我们需要在Gitee官网注册一
2023-10-22

Linux下Tomcat8如何修改JVM内存配置

目录Tomcat8如何修改JVM内存配置所以如果我们想要修改jvm的内存配置设置之后在Tomcat启动总结Tomcat8如何修改JVM内存配置 Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(
2023-04-14

python小游戏如何运行

运行Python小游戏的方法有多种,以下是其中几种常见的方式:1. 使用IDE(集成开发环境):可以使用类似PyCharm、Spyder等Python开发工具,在其中打开游戏代码文件,然后点击运行按钮即可开始游戏。2. 使用命令行:在命令行
2023-10-18

Python如何实现Hangman游戏

这篇“Python如何实现Hangman游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何实现Hangman
2023-06-27

游戏开发中资源管理与内存优化技术(如何实现游戏资源的高效管理与内存优化?)

本文详细介绍了游戏开发中的资源管理与内存优化技术,旨在帮助开发者高效管理游戏资源,优化内存使用。文中介绍了一系列策略,包括资源池管理、引用计数、内存池、资源打包和CDN分发。此外,还提供了内存泄漏检测、内存分析、对象池、延迟加载和内存压缩等内存优化技术。文章强调了最佳实践,例如严格管理资源生命周期、优化内存分配和释放,以及分析内存使用情况。通过采用这些技术,开发者可以降低游戏内存消耗,提升游戏性能,为玩家提供更好的游戏体验。
游戏开发中资源管理与内存优化技术(如何实现游戏资源的高效管理与内存优化?)
2024-04-02

python写的游戏如何打开

想要运行Python编写的游戏,你可以按照以下步骤操作:1. 安装Python编程语言:首先,确保你已经在计算机上安装了Python。你可以从Python官方网站(https://www.python.org)下载并安装最新版本的Pytho
2023-10-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录