从0开始在代码层制作一份改版,并非贴图动画资源修改
所需软件,工具:
cheat engine7.5中文版(下文简称ce)
x32dbg
植物大战僵尸中文第二版(下文简称游戏)
植物大战僵尸偏移表(下文简称偏移表)
植物大战僵尸函数表(下文简称函数表)
1.打开游戏,打开ce 附加到游戏,打开x32dbg附加到游戏
2.根据函数表可得,吹飞僵尸函数为0x4665B0
3.打开x32dbg ctrl+g跳转至4665b0 简单分析代码
附僵尸遍历call
由此可知 在4665e0处程序已经遍历到了一只没有消失的僵尸 且ebx为此僵尸的指针 由偏移表可得僵尸指针+AC为减速倒计时 只需要在此处给僵尸指针+ac写入倒计时即可实现风吹僵尸减速
4.打开ce反汇编窗口 选择 工具,扫描代码洞 取消勾选只读内存 搜索256字节大小的代码洞
5.使用x32dbg 修改4665E0处mov eax,dword ptr ds:[ebx+0x28]为jmp 代码洞地址 跳转至代码洞
6.双击jmp指令跳转至代码洞进行编码
附更新动画call
至此修改完成,种植三叶草查看效果
7.在x32dbg中ctrl+p修补文件名PlantsVsZombies.exe到桌面 然后关闭游戏 移动桌面上修改过的游戏执行文件到游戏目录内进行替换 启动后即是修改过后的程序
x32dbg下载链接:https://sourceforge.net/projects/x64dbg/files/snapshots/
植物大战僵尸汉化第二版下载链接:https://pvz.lanzoux.com/iau42bc
ce修改器 偏移表 函数表:https://bxwl.lanzouw.com/b028kik1lc
密码:c72i