娱乐

CE破解——植物大战僵尸无限阳光及无限CD

chenmo · 8月15日 · 2020年 · · 本文共3059个字 · 预计阅读11分钟4747次已读
CE破解——植物大战僵尸无限阳光及无限CD

前言

近日在网上冲浪时发现一个教程,引起了兴趣——使用CE修改植物大战僵尸的教程。于是自己也下载了练手尝试一番,发现体验不错,特写博客作为以后翻阅使用。

准备

基础概念

在第一期概念就不涉及太多,因为我们第一期也用不到,简单说几个就好,看不懂也没关系。

内存

内存,一切皆内存,我们操作的全部都是内存。

学习面向对象的时候,老师经常重复,万物皆对象。这里我们要说的,万物皆内存。也不难理解,电脑里的东西总要放在一个地方存储的。刚开始没运行的时候,放在硬盘里,等你运行的时候,就会放到内存中运行。我们通常所说的运行内存大小,也就是我们运行软件时放入的内存大小了,电脑运行内存越大,就可以同时运行越多软件。嗯,扯偏了。

其次,还有所谓的地址,而所有地址相关的概念,都可以理解为坐标,用来给我们做标记的而已。

如果实在搞不明白,你想想指南针为啥指向北边,为啥叫南北,只是定义,只是公认。

模块地址

简单理解,就是我们电脑的软件运行起来,加载到内存中的时候,系统分配给软件的首地址。(学过编程语言的人,应该不会陌生这个)

也可以理解为,内存是一个柜子,一共有40格,若软件运行时,系统把软件放到了第30格,那么模块地址就是30

指针

指针其实就可以理解成外号,你的外号叫二狗子,别人先知道你的外号,然后熟悉了才可以根据外号找到你的真名。

更多的用处是引用,就像别人往往更愿意叫你二狗子,而不愿意叫你真名一样。

例:一个指针叫做point,他指向内存的0xFF923200。那他就可以有两个作用,一个就是直接使用指向的内存地址FF923200;另一个可以直接查到FF923200里的值。

无限阳光功能实现

思想

找到阳光所在内存地址,然后修改内存地址的值,使软件运行时访问的是自己修改后的值。

步骤

  1. 打开植物大战僵尸中文版CE软件(Cheat Engine)。左边是游戏,右边是CE软件。 CE破解——植物大战僵尸无限阳光及无限CD
  2. 点击CE软件的左上角,将植物大战僵尸的进程添加到CE软件里。 CE破解——植物大战僵尸无限阳光及无限CD
  3. 开始游戏,随便选几个植物准备开始,记得选向日葵,然后开始游戏。(我演示的版本已经是玩通关了的) CE破解——植物大战僵尸无限阳光及无限CD
  4. 在CE软件的数值处输入阳光的起始值:50。然后开始首次扫描CE破解——植物大战僵尸无限阳光及无限CD 扫描结果有很多条,很正常。 CE破解——植物大战僵尸无限阳光及无限CD 由于内存是动态分配的,每次分配的结果可能不一样,所以我这里是428条,你那里可能就不止这么点了。
  5. 在游戏界面种下一颗向日葵。(别告诉我你不知道怎么种)可以看到,此时的阳光数为0。 CE破解——植物大战僵尸无限阳光及无限CD 因为阳光数发生了改变,所以在CE数值框里输入0,然后回车继续搜索。(此时的搜索是在上一次搜索结果的基础上搜索的) CE破解——植物大战僵尸无限阳光及无限CD 可以看到,这个时候只剩下3条了。(你的结果可能和我的不同,可能比我的还多或者还少)
  6. 再次使阳光数量变化。比如我这里捡到了一颗阳光。 CE破解——植物大战僵尸无限阳光及无限CD 现在变成25了,然后去CE里更改数值框里的值为25,再次搜索。 CE破解——植物大战僵尸无限阳光及无限CD 可以看到,现在只剩下一条地址了。(可能你的还有很多条,多尝试几次)
  7. 双击这个地址,下方就会出现详情。 CE破解——植物大战僵尸无限阳光及无限CD
  8. 双击当前值,将值改成9999。CE破解——植物大战僵尸无限阳光及无限CD 此时看看游戏界面的阳光是否更改成功。CE破解——植物大战僵尸无限阳光及无限CD 可以看到,游戏的阳光值也变成了9999。 而且容易发现,当游戏消耗阳光值时,CE软件的值也会随之改变。说明我们目前找到的这个地址存的就是阳光的数目。 CE破解——植物大战僵尸无限阳光及无限CD 因此,要想使阳光无限的话,锁定该值为9999即可。 在详情栏右键选择锁定。 CE破解——植物大战僵尸无限阳光及无限CD 可以看到,此时游戏内无论如何消耗阳光,阳光值也不会改变。 CE破解——植物大战僵尸无限阳光及无限CD 到此,无限阳光教程完成。

无CD功能实现

相信玩游戏的都知道CD是什么意思,通常指的是冷却时间,在这里指的当然是植物的冷却时间。玩过植物大战僵尸的都知道,不同植物的CD(即冷却时间)是不同的,有些好用的植物,冷却时间却长到怀疑人生,因此,嗯,教你如何使用CE解决无CD的效果!

思想

找到该植物CD所在内存地址,然后修改内存地址的值,使软件运行时访问的是自己修改后的值。

提示

这里需要注意的一点是,植物大战僵尸游戏有一个特点,植物的CD值在植物可选择时(也就是亮着时)是为0的,而在不可选择(也就是暗着时),是以一定的速度递增的。当增大到一定数值后,将重新赋值为0。

其实步骤还是和无限阳光一样的道理,我们只需要找到植物CD所在的地址就可以了。但是需要注意的是,此时我们搜索的模式会比无限阳光的模式丰富一些

步骤

  1. 由于刚才说到,植物在可选择的时候,初始CD值为0,因此,我们首先在CE软件里搜索0试试看。嗯,好多好多条。 CE破解——植物大战僵尸无限阳光及无限CD
  2. 将我们要修改的植物种下。我这里选的是寒冰射手。 CE破解——植物大战僵尸无限阳光及无限CD 可以看到,选下后,寒冰射手就在暗色状态(即恢复状态)。此时,将CE的扫描类型更改为变化值,然后再次扫描。(因为此时寒冰射手正在恢复,即CD值有变化,肯定不是0了CE破解——植物大战僵尸无限阳光及无限CD CE破解——植物大战僵尸无限阳光及无限CD 再次扫描后结果比第一次少了很多发现没有? 趁着寒冰射手还在恢复状态下,多扫描几次。(此时最好是继续游戏后立即“再次扫描”) CE破解——植物大战僵尸无限阳光及无限CD CE破解——植物大战僵尸无限阳光及无限CD 当寒冰射手恢复完之后,将扫描类型改为精准数值,并将值改为0,再次扫描。 CE破解——植物大战僵尸无限阳光及无限CD 多继续游戏,然后多扫描几次,等结果趋于稳定的时候,我们就可以再次种下一次植物试试了。 CE破解——植物大战僵尸无限阳光及无限CD 若最后出现总是不能变成一个地址,那么就选中该植物,不种下,看看CE结果中的值有什么变化。可以看到,此时只有最后一个还是0,而前三个的当前值都已经变化了。由于前面说过,植物大战僵尸的CD值,只有当植物种下的时候,才不为0,因此可以确定,最后一个才是真正的CD地址。
  3. 双击最后一个,然后修改当前值为1000。 CE破解——植物大战僵尸无限阳光及无限CD
  4. 鼠标右键锁定该地址的值。 CE破解——植物大战僵尸无限阳光及无限CD
  5. 此时,在游戏界面进行测试,看看是否还需要冷却。 CE破解——植物大战僵尸无限阳光及无限CD 可以看到,此时种植寒冰射手已经不需要冷却时间了!

总结

按道理教程到这里应该结束了,但是应该还是总结一下知识点。

软件运行时会将数据暂时存在内存中,当软件结束时,所存的数据就会随着软件的结束而销毁。本次教程所使用的的破解方法,就是修改了软件存储在内存中的数据,从而达到游戏里某种目的的效果。

虽然看似简单的几步操作,却包含了一些很重要的知识点,比如内存,地址,指针等。

实际电脑运行的过程中,并不会将值到处赋值,反而都是使用指针来作为引导

通俗来讲,大家玩解密游戏时,钥匙的最终所在地是由前面一系列的线索得知。线索不会直接告诉你钥匙在哪,只会告诉你相关信息,例如:存有钥匙的纸条的所在地。

如果大家思维拓展一下,就应该可以很容易的联想到百度网盘的运营模式。为什么你在上传下载某些资源的时候很慢很慢,然而在转存别人分享给你资源的时候,却是非常快?为什么有时候你上传一些资源的时候是秒传?而上传自己拍摄的视频,照片却是很慢?

其实都是一样的道理,网盘的资源大多都是存在一起,而每个人的网站存的,都是一个指向该资源的指针。如果转存的时候,服务器端有相同的数据,则不需要重新上传,直接把服务器端的地址保存在你的网盘即可。而你自己拍摄的图片和视频,服务器端大多都是没有的,所以就需要你慢慢地上传才行。

这之间的知识还很多,一下说太多自己也会被整晕,因此今天的教程就到这里。

问题

相信尝试过的伙伴们或者学过类似知识的伙伴们都知道,此时游戏存储数据使用的地址,都是动态地址。通俗点讲,这种修改,只有在本局游戏才有效,下一局游戏就无效了!

是的,由于内存存储时使用的是动态地址,所以我们修改的,也只是本次所用的地址,而下次可能就不用这个地址了,这个时候再修改这个地址的值,也就不管用了,也就是说,下次游戏开始了,也要重复上述操作。嗯,挺麻烦的。

但是这个问题并不是无法解决的,不然你们平时玩游戏用的破解器,他们怎么做到的?具体如何实现,下次再讲吧。

原博客地址:陈默的小站

——2020/05/05 16:00

0 条回应