教你制作自己的改版——卷心菜投手概率投出玉米加农炮


3楼猫 发布时间:2024-08-27 06:37:16 作者:a仙柒 Language

从0开始在代码层制作一份改版,并非贴图动画资源修改

所需软件,工具:

cheat engine7.5中文版(下文简称ce)

x32dbg

植物大战僵尸中文第二版(下文简称游戏)

植物大战僵尸偏移表(下文简称偏移表)

植物大战僵尸函数表(下文简称函数表)

1.打开游戏,打开ce 附加到游戏,打开x32dbg附加到游戏

2.查询函数表可得知发射子弹函数为40D620 使用x32dbg在40D620处下断

3.返回游戏 种植一棵卷心菜投手 等待卷心菜投手发射子弹后程序被断下

4.删除断点 然后利用调用堆栈窗口 跳转到调用函数40D620处 如图

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第0张

对比函数表可得push eax为子弹的id

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第1张

5.在push eax处下断 f9运行程序等待程序断下

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第2张

程序断下后 修改右上寄存器窗口eax的值为0 然后f9运行游戏

此时发现游戏内卷心菜投手刚刚发射的子弹变为了普通豌豆

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

这就证明这个地方的push就是子弹的id传参 我们只需要取一个随机数 然后判断随机数后push玉米炮子弹id进去即可实现随机投出炮弹

6.取消断点 f9运行游戏 打开ce反汇编窗口 选择 工具,扫描代码洞 取消勾选只读内存 搜索256字节大小的代码洞

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

7.右键扫描到的代码洞 复制 保存好 然后在x32dbg中修改push eax为jmp 代码洞起始地址 将程序跳转到空白区域

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张
教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

8.双击jmp指令 进入代码洞内

根据函数表可得游戏内自带一个随机数函数 

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

我们直接调用这个随机数函数 用来进行概率计算

在代码洞内汇编编码:

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

9.返回游戏查看效果

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

注:此处代码为公共代码段,会导致所有植物都随机发射出玉米加农炮 查询寄存器可知此处ebp为植物指针 所以可以在代码洞写代码前加入如下两行进行植物判断

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

此时 只有植物为卷心菜投手时才会进行随机发射玉米炮

至此修改结束 在x32dbg中ctrl+p修补文件名PlantsVsZombies.exe到桌面 然后关闭游戏 移动桌面上修改过的游戏执行文件到游戏目录内进行替换 启动后即是修改过后的程序

教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张
教你制作自己的改版——卷心菜投手概率投出玉米加农炮-第3张

x32dbg下载链接:https://sourceforge.net/projects/x64dbg/files/snapshots/

植物大战僵尸汉化第二版下载链接:https://pvz.lanzoux.com/iau42bc

ce修改器 偏移表 函数表:https://bxwl.lanzouw.com/b028kik1lc

密码:c72i


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com