植物大战僵尸:实现自动收集阳光

news2024/9/20 6:03:29

植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。

1.首先我们找出阳光的动态地址,找到之后我们双击这个地址,将其加入到地址列表中,阳光的查找技巧相信你已经能够掌握了,这里就不再罗嗦了。

2.接着我们选择最下方的地址列表,然后按下F6键,也就是下一个硬件写入断点,然后回到游戏等待阳光出现并点击阳光,此时CE会出现以下代码,我们只需要记下00430A11这个内存地址,然后直接关闭CE吧,短期内用不到了。

3.打开OD,然后我们直接附加植物大战僵尸的游戏进程,点击文件然后点击附加选择植物大战僵尸进程就好。

4.附加完成后,我们的游戏会被OD暂停运行,此时我们直接按下F12让游戏正常的运行,默认情况下会停在系统领空,我们直接按下Ctrl + G输入00401000来到程序领空。

5.接着我们按下Ctrl + G输入00430A11跳转到刚才找到的代码位置,过去以后直接F2下一个断点

6.紧接着我们回到游戏,然后等待阳光的出现,当阳光出现后我们点击阳光,OD会自动断在00430A11的位置,其中ecx就是要增加的阳光数。

上图并没有CALL调用,应该是在外部,我们直接回朔到上一层Ctrl+F9执行到返回,F8直接出CALL.

7.我们在JNZ和CALL的两处位置下断点,然后运行程序,当我们点击阳光时会断在JNZ的位置,如果把JNZ用NOP填充的话,会发现当我们再次点击阳光的时候阳光会迅速的被回收没有了动画。

也就是说,JNZ如果成立的话则会有回收阳光的动画,当不成立的时候则会执行call 004309d0显然这就是回收阳光的关键CALL,但我们可猜测,再回收阳光的时候一定会判断是否回收,所以回收的判断应该在上一层。

8.首先我们回到游戏,等待出现阳光然后点击阳光,OD会断下,断下后我们取消这两处的断点,然后跟着OD单步F8向下走,直接出这个CALL,出CALL后会看到如下代码,我们直接下三个断点。

9.下好断点,回到游戏等待阳光下落我们回收,此时OD会断下,我们运行OD发现会一直被断在0043158F只要阳光没有收回就会一直断下,此处的跳转并没有实现,因为我们没有去点击阳光,这里可以得出如果点击了阳光JNZ则会跳转成立,否则不成立等待用户点击回收阳光。

10.我们取消所有的断点,然后尝试把JNZ跳转改成JMP无条件跳转,让其只要一出现阳光就自动的触发回收的CALL试试。

改完以后我们回到游戏,会发现只要阳光出现了会被立即回收。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Kafka Spring 集成

Apache Kafka Spring 集成 今天来学习Spring如何集成 Apache kafka,在Spring Boot中如何集成kafka客户端 生产、消费消息。首先介绍下各个组件的版本信息: Apache Kafka_2.13-3.3.1Spring Boot 3.0.0Apache-Maven-3.6.0JDK-17.0.5 启动Kafka # 进入k…

ArcGIS基础实验操作100例--实验38删除冗余节点

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验38 删除冗余节点 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…

免费分享在线设计工具,比ps还方便的贺卡设计工具!

元旦贺卡在线制作工具,不用自己设计,只需借助在线工具平台的模板就能轻松搞定的贺卡设计方法!跟着小编下面的设计步骤,使用在线工具乔拓云轻松设计活动贺卡,设计过程简单且一键生成分享链接,不用自己设计工…

推荐四款常见的电子教室软件,大家觉得哪款好用

现在越来越多的教学教室都在使用多媒体教学软件,不仅包括学校,还有一些培训机构和教堂。 那么,多媒体教学软件有哪些? 哪款多媒体教学软件好用? 在今天的文章中,小编挑选了4款流行的多媒体教学软件推荐给大…

【全网最细PAT题解】【PAT乙】1009 说反话(cin、getline、cin.getline三种输入格式)

题目链接 1009 说反话 题目描述 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词…

【Spring 入门教程2】

🌈博客主页:屠一乐的博客 📅 发文时间:2023.1.2 🎈 一定存在只有你才能做成的事 🌹 博主水平有限,如有错误,欢迎指正 欢迎各位👍收藏💎评论✉ Spring_day02 S…

C++ - opencv应用实例之矩形框检测

C++ - opencv应用实例之矩形框检测 现阶段下,目标检测在实际应用场景中的表现颇为重要,工业质检、移动机器人视觉伺服、作业、交通监控、安防领域等均需要通过目标检测来实现对目标的定位、测量或者统计、辅助控制等目前目标检测主要分为两个方向的发展,其一是基于传统图像处…

let、const、var关键字

1、let ES6中新增的用于声明变量的关键字。 (1)let声明的变量只在所处于的块级有效 if (true) { let a 10;} console.log(a) // a is not defined 注意:使用let关键字声明的变量才具有块级作用域,使用var声明的变量不具备块级…

计算机网络(二)Linux网络编程

layout: post title: 计算机网络(二)Linux网络编程 description: 计算机网络(二)Linux网络编程 tag: 计算机网络 文章目录POSIX概念POSIX网络相关APIsocket()bind()网络字节序与主机字节序(大小端设备)list…

TensorFlow之过拟合与欠拟合-2

1 基本概念 过度拟合(overfit) 正则化(regularization) L1正则化(L1 regularization) L2正则化(L2 regularization) 删除正则化(dropout regularization&#xff09…

植物大战僵尸:实现灵魂收割者

植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析&#…

【JavaSE成神之路】聊聊封装这件事

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是Java的封装。 1. 什么是封装 Java的封装是指,在一个类中把一些重要的信息隐藏起来,使得外部不能直接访问。 Java的封…

Java --- JUC之volatile

目录 一、volatile两大特点 二、volatile的内存语义 三、volatile内存屏障 四、volatile四大屏障 五、volatile的特性 六、volatile使用场景 一、volatile两大特点 1、可见性 2、有序性 二、volatile的内存语义 1、当写一个volatile变量时,JMM会把该线程对…

C语言入门系列 - 共用体union,枚举enum,宏定义#define,条件编译,const与指针

C语言入门系列 - 共用体union,枚举enum,宏定义#define,条件编译,const与指针 第一节 C 语言基础以及基本数据类型 第二节 C 语言运算符 第三节 C 语言控制语句 第四节 C 语言自定义函数 第五节 C 语言修饰变量的关键字 第六节 C 语言构造数据类型–数组 第七节 C 语…

创建型模式

创建型模式 创建型模式对类的实例化过程进行了抽象,能够将软件中对象的创建和使用分离,使整个系统的设计更加符合单一职责原则。 什么是对象的创建与对象的使用分离? 一个女生想吃苹果,怎么办? 对象的创建和对象的使用…

TC275——04Blinky-LED

项目工程框架 项目驱动文件这个见过,三个main文件真的是开了眼,一个main代表一个核吗? 按照以往对实现LED闪烁的流程,一般是先配置时钟、再配置IO、延时,实现反转效果。 Blinky_LED.c 在驱动文件里: /*…

数据分析 -Hive学习 Day5

HIVE 核心技能之窗口函数 大家好呀,这节课我们学习 Hive 核心技能中最难的部分——窗口函数。窗口函数我们之前在学 MySQL 的时候有学过一些,但是只学了三个排序的窗口函数。这节课我们会学习更多的窗口函数,包括累计计算、分区排序、切片排…

nvm中node包管理器在windows中的使用

你要使用的 1/nuvm 只能在Linux 和 OS X 2/推荐使用nvm-windows,git上,我认为还可以就使用 操作 1/下载的git地址nvm-windows 2/好像要清除掉所有node,是个注意点 3/安装 4/路径上不允许存在空格,否则后面会各种报错 5…

读书笔记《硬件十万个为什么——开发流程篇》

大家好,这里是大话硬件。 今天想给大家分享上周末在家写的读书笔记,内容来源于重读《硬件十万个为什么——开发流程篇》这本书的一些启发和总结。 1. 为什么我要重读这本书籍? 这本书收到快递的时间是2022.8.26,拆开快递的那个晚上大约花了2个小时从头到尾快速浏览了一次…

(创建失败)小米万兆路由器里的Docker安装Redis7.0

小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装Redis7.0。 创建失败,有时间时确认是否可以解决。 Server cant set maximum open files to 10032 because of OS error: Operation not permitted. Current m…