植物大战僵尸:实现灵魂收割者

植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。

所谓灵魂收割者,就是更改小推车的位置,用于控制小推车,不让其消失,或是编程控制小推车自由蠕动,实现类似灵魂收割的效果。

这里只是简单研究一下,你可以分别找到四个小车的基地址,然后通过编程控制小车的风骚走位,配合音乐的旋律,收割灵魂。

小推车基地址遍历技巧
1.首先打开游戏附加CE,首次扫描搜索未知初始化数据,注意搜索的是浮点数。
2.然后,等待僵尸触碰小车,小车每向前移动一下,搜索增加的数值一次。
4.一直重复这个过程,只要小车不消失,就好最终就能找到。

1.首先搜索未知初始化数值,等待僵尸踩到小车。

2.等待僵尸踩到小车,迅速切回CE搜索,增加的数值。

4.回到游戏,马上切回CE,搜索增加的数值,不断重复,最终找到一个数据,修改为0小车回归原位。

5.在该地址查找改写的地址,然后回到游戏,CE出现数据。 00458928 - D9 55 08 - fst dword ptr [ebp+08] <<

偏移是8 ,继续搜索 0B4898C0 ,选择4字节搜索。如果搜索不到可以搜索在两数之间的数据。

此处偏移是100 ,0041BD18 - 8B 86 00010000 - mov eax,[esi+00000100] << 继续搜索144E4F30

偏移是768 ,00487F6B - 8B 86 68070000 - mov eax,[esi+00000768] << 继续搜索 02839C88

找到了,00467B00 - 8B 0D C09E6A00 - mov ecx,[006A9EC0] << 基地址是 006aec0 =>

第一个小车的地址公式: 006aec0 + 768 + 100 +8 => 添加到CE验证。完美。。。。nice

继续搞,用同样的方法找到第二个小车的动态地址0B489910 使用0B489910减去0B4898C8 = 48 小车的属性长度是48.

这样我们通过基地址找到第一个小车的动态地址,然后每次加48就得到第二个小车动态地址。

以此类推,找到后全部锁定即可。

posted @   lyshark  阅读(1382)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

8951427 | 6896845
博客园 - 开发者的网上家园

点击右上角即可分享
微信分享提示