游戏太难通关?教你用CE和Python写一个属于自己的植物大战僵尸修改器(无限阳光,无限金币,无冷却时间)
效果图
开局没过1分钟植物已经全部种满,可以明显的看到阳光数量为92074,几乎用不完,直接让僵尸毫无体验感,僵尸:“你礼貌吗?”。
目录
效果图
一、前言
二、工具和游戏安装
1. 工具安装
2. 游戏下载
三、实现思路
四、实战:修改阳光值
1. CE修改阳光值
2.代码实现得到窗口句柄
3.代码实现修改数据
4.实现修改阳光视频教程
五、实战:CE修改冷却值
1. 视频教程
2. 所有植物无冷却的教程
六、资源下载
七、结语
一、前言
玩过电脑的的小伙伴应该对外挂都不陌生,但小伙伴们想过自己有一天也能做一个外挂吗?C/C++语言最适合写这类项目了,但是作为当今主流的Python语言也不甘示弱,所有我们就来看一看如何用python来制作植物大战僵尸的外挂。
二、工具和游戏安装
1. 工具安装
首先需要下载一个可以查看程序句柄的工具
链接:https://pan.baidu.com/s/1922Peza1vTFHL73pVE2PdA
提取码:ghi2
然后我们需要下载修改工具,修改工具用很多,在这里我们选取一个比较方便和简单的一个修改工具CE(有关CE是什么可以看看下方的介绍),下方链接里的CE工具我是做过汉化的(原版是英文),如果想重新下载新版本可以去官网看一下:Cheat Engine
CE修改器(Cheat Engine)是一款内存修改编辑工具,CE允许你修改游戏。它包括16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了辅助工具制作工具,可以用它直接生成辅助工具。
链接:https://pan.baidu.com/s/1j5KO3hPli2Y3A6wRfWevcg
提取码:9hpq
2. 游戏下载
为了大家方便,最好下载我下方链接里的《植物大战僵尸》游戏,这样避免了版本不同而带来的差异
链接:https://pan.baidu.com/s/1TOmj_Lg5emB9ecw813Zzjg
提取码:ykgp
三、实现思路
游戏的本质是什么?我认为 游戏=程序=数据=数据地址(变量与数值的集合)
理论上来讲我们可以修改这些变量与数值。比如说我们玩一款游戏,人物等级为10级,血量为100,因为它们都不是存储到一个变量里的,所已我们只要找到这个10和100的这个变量,让它等于我们想要的数值,就实现了外挂的功能!
总而言之我们只需要用程序实现寻找游戏的数据地址,然后修改它就行了。
四、实战:修改阳光值
1. CE修改阳光值
先打开植物大战僵尸游戏,游戏里点击“开始冒险”进入关卡,然后打开下载好的CE,再点击“电脑图标”,找到植物大战僵尸进程,然后打开它。
把当前的游戏太阳值填到CE的“数值”那一行,然后在“扫描类型”中选择“进准扫描”,最后点击“首次扫描”
种下植物后,把当前的游戏太阳值填到CE的“数值”那一行,然后点击“再次扫描”(千万别点到左边的“新的扫描”上了,否则要重新搜索数值)
找的“结果”里的地址,双击地址,然后在下方的“地址栏”中双击数值下的“50”,最后修改数值
2.代码实现得到窗口句柄
打开下载好的“LookHandles”句柄查找工具,把工具里的“放大镜”拖到游戏窗口
代码:
首先下载pywin32库
pip install pywin32
在16行代码里的第二个参数填更改获取的窗口句柄
import win32gui # 界面模块
import win32process # 进程模块kernel32 = ctypes.windll.LoadLibrary(r"kernel32.dll") # 核心文件
PROCESS_ALL_ACCESS = (0x000F0000 | 0x00100000 | 0xFFF) # 调用最高权限执行
window_handle = win32gui.FindWindow(None, "Plants vs. Zombies GOTY ") # 找到窗口句柄
process_id = win32process.GetWindowThreadProcessId(window_handle)[1] # 获取进程ID
process_handle = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, process_id) # 得到进程句柄
3.代码实现修改数据
代码:
data1 = ctypes.c_long()
kernel32.ReadProcessMemory(int(process_handle), 0x0077959c, ctypes.byref(data1), 4, None)
data2 = ctypes.c_long()
kernel32.ReadProcessMemory(int(process_handle), data1.value + 0x950, ctypes.byref(data2),4, None)
kernel32.WriteProcessMemory(int(process_handle), data2.value + 0x50, ctypes.byref(ctypes.c_long(int(money_num))), 4,None)
4.实现修改阳光视频教程
利用Python制作植物大战僵尸游戏外挂,万能的Python
五、实战:CE修改冷却值
1. 视频教程
因为这个功能有些难,用图片和文字的方式教学比较难以理解,推荐下方的视频教程,建议大家从视频6分47秒看到12分41秒,因为那位老师的版本和我们的版本不一样。后面的我会带大家完成让所有植物无冷却的教程,所以推荐小伙伴们先看完下方视频。
植物大战僵尸CE修改阳光和卡槽冷却教程
2. 所有植物无冷却的教程
没看上方视频的小伙伴们一定看,这样我才好教大家让所有植物无冷却
根据上方视频,找出冷却值地址后,右键点击地址,如何点击“找出是什么改写...”
在弹出的窗口点击“Yes”或“是”
种下一颗植物后可以看到刚刚弹出的窗口上多了3个数据,双击击红框中的数据
在弹出的窗口中找到红框中的数据,然后双击它
双击进去后,先不要做如何操作,直接按照图片里的步骤进行,先点击“工具”然后找到“自动汇编”并点击
在弹出的窗口下点击“模板”然后点击“CT...”
如何在点击“模板”然后点击“代码注入”
然后在弹出的窗口下点击确定或OK
向下滑动,找的图中红框的代码,“,00”改成“,01”
再次向下滑动,找的图中红框的代码,“,00”改成“,01”
完成后点击“文件”然后点击“分配到...”
最后关闭所有窗口,发现多了一行“自动化脚本”
最后点击“激活”,等到变成“X”,所有植物都不用冷却了,在配点无限阳光就无敌了!
六、资源下载
链接:https://pan.baidu.com/s/1yj1HFI7iYuA6F5zAiCoCAw
提取码:uyha
注:
资源中修改冷却.CT文件只能在CE里运行,所有先请小伙伴们下载好CE工具,打开修改冷却.CT文件后要先点击带彩色光环的电脑图标,找到植物大战僵尸进程,然后打开,才能用。
打开进程后会弹出的窗口,一定要点击“Yes”或“是”,否则无法使用
一定不能两个同时打开!!!一定不能两个同时打开!!!一定不能两个同时打开!!!
只能一个打开,一个关闭才行
下图是错误示范!
七、结语
至此,就完成了Python实现植物大战僵尸功能!
制作外挂成功的小伙伴有木有一点小激动呢?如果在操作过程中有遇到什么问题,也欢迎向我反馈,喜欢的小伙伴可以点赞,收藏。之后小编会不定期更新一些博客,和分享自己的程序和经验。
游戏太难通关?教你用CE和Python写一个属于自己的植物大战僵尸修改器(无限阳光,无限金币,无冷却时间)相关推荐
- win10玩cf不能全屏_一些全屏游戏在Win10运行问题的解决(以植物大战僵尸+修改器为例)...
<植物大战僵尸>是一款十分经典的游戏,由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售. 问题解决 WindowsRegistryEditorVersion ...
- 手机版python3h如何自制游戏_教你如何用 Python 写一个小游戏
教你如何用 Python 写一个小游戏 引言 最近 python 语言大火, 除了在科学计算领域 python 有用武之地之外, 在游戏后台等方面, python 也大放异彩, 本篇博文将按照正规的项 ...
- python写游戏脚本-使用Python写一个小游戏
引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...
- python编程小游戏-使用Python写一个小游戏
引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...
- 使用python制作聊天框解谜游戏_使用Python写一个小游戏alien invasion!
最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的 ...
- 关于python小游戏的毕业论文_使用Python写一个小游戏
引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...
- python俄罗斯方块算法详解_用 Python 写一个俄罗斯方块游戏 (
@@ -2,34 +2,34 @@ > * 原文作者:[Dr Pommes](https://medium.com/@pommes) > * 译文出自:[掘金翻译计划](https://g ...
- 用python做一个简单的游戏,用python写一个小游戏
大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- python能制作游戏吗_如何用python写一个小游戏
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 引言最近python语言大火,除了在科学计算领域python有用武之地之外,在游 ...
最新文章
- 40 自动化运维工具Ansible
- 2011年春季 软件项目管理 实验安排
- 计网 - HTTP 协议_强制缓存和协商缓存的区别
- 现在竟然还有补丝袜的?
- MFC程序打开控制台
- [Android] Android统计Apk , jar包方法数
- 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心
- Android 创世纪 第三天
- hdu--1077--Catching Fish
- 终端出厂后自动化运维方案
- win10系统steam登陆计算机授权,Steam怎样取消电脑授权 设置里面有
- matlab地震动,MATLAB在结构地震动力分析中的应用
- SwiftUI教程第1章第13节:Divider
- python字典里存字符_python基础知识(三)字典、字符串
- 移动端H5强制页面横屏展示
- shell 小米system锁adb_忘记锁屏密码不用怕?支招小米手机解锁四种简单常用的方法...
- 超级App,风口浪尖的新机遇
- windows下maven打包镜像并推送docker服务器
- 【Java基础系列教程】第三章 Java变量与运算符
- 【HarmonyOS】鸿蒙3.0使用WebView进行链接跳转,告警“hwbr_engine_AwContentsClient: Denied starting an intent without a
热门文章
- Python编程案例:中文金额转换并计算
- python单位根检验平稳性怎么看是否平稳_Python ADF单位根检验查看结果实现方法...
- VScode markdown自动生成目录
- 【托福词汇句子语法】100个句子记完7000托福单词
- 25.龙贝格求积公式
- 【董天一】什么是IPFS(三)
- 低代码指南100方案:28高效HR如何做好面试管理,提高招聘效率?
- ztree 更新配置后重新渲染树_zTree 树形控件 ajax动态加载数据
- php怎么获取图片信息,PHP 获取图片信息exif
- 高端存储架构的前世今生