效果图

开局没过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写一个属于自己的植物大战僵尸修改器(无限阳光,无限金币,无冷却时间)相关推荐

  1. win10玩cf不能全屏_一些全屏游戏在Win10运行问题的解决(以植物大战僵尸+修改器为例)...

    <植物大战僵尸>是一款十分经典的游戏,由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售. 问题解决 WindowsRegistryEditorVersion ...

  2. 手机版python3h如何自制游戏_教你如何用 Python 写一个小游戏

    教你如何用 Python 写一个小游戏 引言 最近 python 语言大火, 除了在科学计算领域 python 有用武之地之外, 在游戏后台等方面, python 也大放异彩, 本篇博文将按照正规的项 ...

  3. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  4. python编程小游戏-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  5. 使用python制作聊天框解谜游戏_使用Python写一个小游戏alien invasion!

    最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的 ...

  6. 关于python小游戏的毕业论文_使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  7. python俄罗斯方块算法详解_用 Python 写一个俄罗斯方块游戏 (

    @@ -2,34 +2,34 @@ > * 原文作者:[Dr Pommes](https://medium.com/@pommes) > * 译文出自:[掘金翻译计划](https://g ...

  8. 用python做一个简单的游戏,用python写一个小游戏

    大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...

  9. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  10. python能制作游戏吗_如何用python写一个小游戏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 引言最近python语言大火,除了在科学计算领域python有用武之地之外,在游 ...

最新文章

  1. 40 自动化运维工具Ansible
  2. 2011年春季 软件项目管理 实验安排
  3. 计网 - HTTP 协议_强制缓存和协商缓存的区别
  4. 现在竟然还有补丝袜的?
  5. MFC程序打开控制台
  6. [Android] Android统计Apk , jar包方法数
  7. 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心
  8. Android 创世纪 第三天
  9. hdu--1077--Catching Fish
  10. 终端出厂后自动化运维方案
  11. win10系统steam登陆计算机授权,Steam怎样取消电脑授权 设置里面有
  12. matlab地震动,MATLAB在结构地震动力分析中的应用
  13. SwiftUI教程第1章第13节:Divider
  14. python字典里存字符_python基础知识(三)字典、字符串
  15. 移动端H5强制页面横屏展示
  16. shell 小米system锁adb_忘记锁屏密码不用怕?支招小米手机解锁四种简单常用的方法...
  17. 超级App,风口浪尖的新机遇
  18. windows下maven打包镜像并推送docker服务器
  19. 【Java基础系列教程】第三章 Java变量与运算符
  20. 【HarmonyOS】鸿蒙3.0使用WebView进行链接跳转,告警“hwbr_engine_AwContentsClient: Denied starting an intent without a

热门文章

  1. Python编程案例:中文金额转换并计算
  2. python单位根检验平稳性怎么看是否平稳_Python ADF单位根检验查看结果实现方法...
  3. VScode markdown自动生成目录
  4. 【托福词汇句子语法】100个句子记完7000托福单词
  5. 25.龙贝格求积公式
  6. 【董天一】什么是IPFS(三)
  7. 低代码指南100方案:28高效HR如何做好面试管理,提高招聘效率?
  8. ztree 更新配置后重新渲染树_zTree 树形控件 ajax动态加载数据
  9. php怎么获取图片信息,PHP 获取图片信息exif
  10. 高端存储架构的前世今生