12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 281|回复: 0

植物大战僵尸CE实现无CD种植

[复制链接]

505

主题

505

帖子

1020

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
1020
发表于 2021-2-19 20:19:57 | 显示全部楼层 |阅读模式
植物大战僵尸第一篇,阳光越用越多https://www.52pojie.cn/thread-1370753-1-1.html
现在这个是第二篇,咱们实现种植无CD

图文关系:图片在上,笔墨在下,先图后笔墨!


版本依旧是 1.2.0.1073 版本。




游戏关卡我选择“冒险模式”,关卡1-4。

插曲
上篇我们说让阳光越用越多,方法是教给各人了,各人不觉得有点贫苦吗?每次想让阳光多点都要 搜索总阳光,变动之后再搜索,然后 sub 改 add
于是我为了偷懒,不想每次都去搜索阳光,然后 sub 修改 add 的情况下,学习了大佬 @wapjlover1 的文章,地址在这 :[原创] “植物大战僵尸”阳光基址寻找及外G编写有需要可以去自行学习,在这里先感谢大佬的文章!!!


由于想调试阳光方便,我删除了原来的冒险模式2-7关卡,重新玩到了 冒险模式1-4关卡


于是找到的阳光地址


[[PlantsVsZombies.exe+3794F8] + 868] + 5578
基地址:PlantsVsZombies.exe+3794F8
一级偏移:868
二级偏移:5578
竣事



下面开始正题,实现种植植物无CD。



为了方便实现种植无CD,咱们用上面说的基址+偏移修改阳光一步到位,修改为 5000



可以看到 种植之前可以被选择,种植之后就不能被选择了。
理论上应该是有个数据控制植物什么情况下可以选择,什么情况下不能选择,
真实情况是不是如许呢?暂时也不知道,所以先模糊搜索试试,看是不是这么实现的。



模糊搜索CE设置,扫描范例:未知的初始值,数值范例,4字节


我们举行第一次的未知初始值扫描工作。



扫描效果有 100464320个,数据太多CE不举行展示,此时我们要回到游戏中,让游戏举行一些变化,再次举行扫描。


我们对比豌豆射手的冷却条,可以看到冷却条发生了变化,也就是我们让游戏运行了一小段,此时我们要回到CE举行搜索。


将CE的扫描范例从 精确数值 改为 未变动的数值,这个时候有人会很好奇了,为什么豌豆射手的冷却明显动了,却要改为 未变动的数值 。
现在回到刚才分析的理论,植物可不可以选择,由两个状态控制,可以选择或者不可以选择。
虽然豌豆射手不选择可以时间在减少,但是依旧不可以选择,所以这里我们认为数据未发生变动。



改为 未变动的数值 ,点击 再次扫描,出现了很多的效果,这么多效果我们还是不知道哪个是对的,所以要回到游戏让游戏的 豌豆射手状态发生变化。


现在我们可以看到豌豆射手的状态从原来的不能选择,酿成了可以选择,所以我们要把CE的扫描范例改为 变动的数值,点击再次扫描 。


扫描之后,数量一下子只剩下一万多条记载了。


我们到游戏里面再种一个豌豆射手,豌豆射手的状态又从 可以选择酿成不可以选择,此时豌豆射手的选择状态发生了变化,我们认定数据发生了变动。
刚才已经设置好了 扫描范例为 变动的数值 ,所以我们直接点击 再次扫描 。


点击再次扫描之后,另有六千多条记载了怎么办呢?


这个时候没有好办法了,只能重复上面的操作:

  • 植物状态发生变化,CE设置改为 变动的数值植物状态没有发生变化,CE设置改为 未变动的数值




颠末我们上面的操作,反复多次之后,另有一千多条记载,而且这一千多条记载不管怎么扫描,都不发生变化,这个时候我们就可以看看这一千多条记载中哪些数据比较可疑!


颠末记载的粗略查看,发现其他的记载都是多个一连一样的值,但是末了一条,地址为 16FB5940 的数据比较可疑,于是我们将它拉下来,观察一下他的数据变化。


颠末观察,豌豆射手可用的时候 16FB5940 地址的数据是 1,豌豆射手不可用的时候 16FB5940 的数据是 256 ,因此我们猜疑这就是控制植物冷却的地址。


于是将 16FB5940 地址的数据修改为 1 并却锁定,回到游戏不停种植豌豆射手也不会产生冷却了。
种植植物无CD就如许实现了,游戏控制植物能不能被选择也确实是 通过控制某个数据来实现的。


现在实现了种植无CD,种植其他的植物发现还是有CD的,这不是坑爹吗?为啥只有豌豆射手是无冷却,而其他的不是无冷却呢?
从上拥有的植物来看,依次是:豌豆射手、向日葵、樱桃炸弹、土豆人。


猜想 拥有的这些植物在内存中是存放在数组里面的,换句话说他们在内存上应该是一连的。
刚才知道了,植物状态不可以被选择是 256,可以被选择是 1,所以我们要在内存上看看是不是有三个 256 存在。


选中记载,右键弹出 功能选择,使用蓝色背景的 浏览内存相关地区 功能,或者使用快捷键 Ctrl + B


在内存浏览窗口的下半部分 随便找个位置举行如下操作:
鼠标右键-->显示范例-->4字节(DEC)
这是将窗口的数据显示范例改为 4字节 十进制方式显示。


在打开的窗口中,刚好有三个 256也刚好对应我们的三个冷却中的植物,但是 这三个 256 到底是不是控制三个植物我们还不清楚,所以先把三个植物的地址依次添加到CE中,修改为 1 并锁定试试。



把 16FB5990 、16FB59E0、 16FB5A30 依次添加到CE并且锁定为 1 ,再去游戏种植之前有冷却的植物,这下也酿成了无冷却。


在CE里面我发现这三个地址的间隔好像是一连的,所以我盘算了一下,还真是一连的,每个之间歌50个偏移。
所以在我们知道第一个地址之后,就可以盘算出第二个、第三个、第四个,甚至更多个植物的冷却控制地址。



在CE里面我们可以如许写地址,根据第一个的地址,盘算出第二个、第三个、第四个等等地址,有多个我们就多添加几个地址并锁定为 1 就可以实现无冷却效果。




末了说点题外话,有些坛友让我去给他逆向XXX软件/游戏,非常抱歉,我没回你就是我不会。
如果你真的想找人PJ,你就在论坛发告急帖。


另外我也是个刚开始学习的小白,很多东西我也是边学边发教程。
主要目的是让更多人能够学习汇编的变得快乐,我自己也巩固学习的知识点。

来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-19 19:22 , Processed in 0.125000 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表