12558网页游戏私服论坛

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

植物大战僵尸基本修改器的制作思路

[复制链接]

59

主题

59

帖子

128

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
128
发表于 2020-7-7 20:33:07 | 显示全部楼层 |阅读模式
          直接先放出游戏的版本和修改器吧。
          链接: https://pan.baidu.com/s/1gDMGOncNva-38emRHw5n8Q 提取码: mdnw
          游戏的版本和相关环境介绍在我前帖子里有介绍。https://www.52pojie.cn/thread-1003887-1-1.html


     今天主要说说思路的问题!
     1.修改阳光
  可以直接上CE,找到阳光的地址,然后找到基址。至于说怎么找基址,我就不多说了,毕竟这又要说上很久。
  要是实在不会,就去练习下如何使用CE,这是基本功。
  我找到的基址是0x779618,当然一共有四个,我只是选取了这一个而已。再就是两级偏移,分别是0x868,0x5578.
  所以修改阳光就简单了。
     先打开进程,然后读取两级偏移,这个可以写个封装的读取函数,最后就是写到内存了。
     修改金钱和这个是差不多的,基址还是这个,偏移分别是0x950,0x50
   

     2.解除冷却
    冷却时间的查找,种下一棵植物,CE找未知的初始值或者两者间的int值,0到10000就够了,然后回到游戏,
再切回CE找增加的值,如果冷却了就找0,最后会找到几个地址。来回切换观察一下,就会找出你想要的结果
这个值好像在800以内,0表示冷却了。
     然后找出是什么改写这 个地址的值。查看汇编代码,可以看我到我NOP掉的原来那几行指令,就是载入
冷却时间,然后作出比较,再判断是否冷却。这里有多种改代码的方法,我是直接把mov计时的值给NOP了。
自己可以尝试下怎么修改可以达到效果而不出BUG。写程序的时候,直接按自己的想法去修改就 可以了。禁用冷却
清零就把代码改回原始代码就行了。



    3.秒杀
   秒杀就是找怪物的血量值,分为普通的僵尸和带装备的僵尸两种,分别用置零指令替换掉,
就可以达到秒杀和秒掉装备的效果。比如带装备僵尸的扣血指令是sub ecx,eax
就可以用sub ecx,ecx或者xor ecx,ecx替换掉就 可以了。


    4. 阳光出产的速率
   种下一棵向日葵,找出存放是否可生产出阳光的计时值的地址。其实和找冷却一样的原理。
找到以后找出改写的指令。如修改秒杀一样成xor eax,eax就OK了。


    5.自动拾取
    阳光的出产速率为0以后,会出现大量的未拾取阳光,所以修改了出产的速率一会后,一定
记得要把出产速率还原。要不程序会有太多未拾取的阳光最后程序应该会崩了。我是这样觉得,
没有尝试,有兴趣的可以去试下,哈哈。
     这个可以先CE找到阳光值的地址,再找是什么改写了,找到正确的代码后,关掉CE,用OD附加。
可以找到是否拾取阳光的判断,未拾取就不停的播放阳光动画,拾取就是另外一低点call。这个直接
改为条件跳转就可以了。
     我没有用OD截图,其实反汇编OD和CE的是差不多的,可以找到在OD中如多截图的那一行指令,
无条件跳转就可以自动拾取了。我这是修改后的截图。

  
      6.后台运行
     
     游戏只要一切换到其它的悬浮窗口或者窗口,游戏就会自动暂停。思考一下,游戏正在运行,可以给定
值为0或者1,切换出游戏,则会变成1或者0,这样就 可以用CE来搜索。通过搜索最后发现0为正在游戏中,
1为处 在非游戏窗口。对存放这个值的地址找什么改写了这个值。找到相对应的代码后,用OD附加。在OD中
跳转到该地址。



   显然这个call就是判断游戏是否为活动窗口的,所以找到开始的地方。
注意下面 的提示:



直接跳到提示的地方,观察上面的代码

看到了没有?有一个JCC指令作判断用的,直接无条件跳转即可。我是修改后的截图。
是灰色显示的。
      

    我最后测试了一下,后台运行,好像不可以最小化,这个说明还不完善。只能是打开游戏窗口后,

直接点击别的窗口为活动窗口来切换,这样后台是有效的。有兴趣的自己去完善吧。

     至此,这些功能就可以基本实现了。但是这些功能,应该用DLL会简单的多了,我能力有限,
怕做不出来那个效果,只有先加强学习了。
     路漫漫其修远兮。与君共勉!




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

本帖子中包含更多资源

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

x
楼主热帖
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 12:33 , Processed in 0.078125 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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