12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
三国霸业 战车-珍宝-觉醒-攻城掠地SF-全新玩法 免费玩新区 攻城掠地私服 进入游戏
手游私服盒子 各类免费游戏 0.1折送海量资源 各类手游私服 进入游戏
皇家MU2 《奇迹 2:传奇》韩国网禅公司《奇迹》正统续作。 3D锁视角Mmrpg 暗黑3+传奇+流放之路+奇迹 进入游戏
查看: 317|回复: 0

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

[复制链接]

63

主题

63

帖子

136

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
136
发表于 2021-5-7 23:20:02 | 显示全部楼层 |阅读模式
植物大战僵尸第一篇,阳光越用越多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-11-24 19:26 , Processed in 0.078125 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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