如何在 EXVSFB 上改机体生命,气槽,EX值

需注意事项

这教程需要已经设置完毕的 Cheat Engine,如果你还没看过之前的 Cheat Engine 设置教程,请点击下面的链接通往该教程。

Cheat Engine 设置教程

版本的不同会造成不一样的地址偏移,而这篇教程只会使用 1.10 版本的 Full Boost.

另外,RPCS3 版本不同也会造成不一样的地址偏移。我的版本是 0.0.6-7972。所以如果有出入我在这先说一声抱歉,也只能请你尽量把 RPCS3 版本带到和我差不多一样,以防止地址偏移。


解释 (建议你读一遍)

相信用过 Cheat Engine (CE) 的朋友都知道如何在一个游戏里搜寻生命值或者是武器弹数都相对的简单。当然 EXVSFB 也不列外,只要你有一个可以观察到的数值,在CE里搜寻和更改不是件难事。但是 EXVSFB 里除了弹数和生命有数值可以观察外,剩下的数值譬如气槽,EX槽则是没有游戏内数值可以参考。虽然如此,找到这些隐藏数值的地址还是有可能的,我们只需慢慢过滤一些地址直到地址里的数值会随着游戏里的数值一起变动。在我找了这么多的地址后,下面我会总结这些隐藏地址的真面目。


气槽值 – 满气槽的数值是 10000,用完气槽会使它降到 0。数值类型 – 逆向4字节

EX槽值 – 满EX槽的数值是 100, 用完EX槽会使它降到 0。数值类型 – 逆向4字节


但是这做法有一些问题,那就是这些地址不是永久的。这些地址是和关卡里的地图联系在一起的。换而言之,地图一换,地址也换。这现象也就是我们所说的地址偏移。这现象会导致我们所找的地址在完成一个关卡后便不能在下一个关卡使用,除非地图和出场的机体全部都一样。 如果过了每个关卡都需要重新寻找地址岂不是很麻烦?为了解决这一个问题,我在这篇教程中会使用字节数组搜寻的功能。但在此之前我必须谈谈 FB 系统是如何分配和管理这些机体地址的。

在 Full Boost 里,每个机体会在战斗开始后被赋予一个地址范围。这些地址范围里包含了这机体的生命值,气槽值,EX 值等等。在一个关卡里,系统也会随着场上的机体数量来分配机体的地址范围。玩家机体会被系统排在第一个,然后便是 CPU 机体了。每个机体的地址偏移都是在地址的第4和5个数字上变动。

aaaXXYYYY,XX = 机体地址偏移的数字

如果给个例子,命运 (玩家) vs ∀(CPU) 在实验地图,如果想要找命运生命值的地址,扫描后你会发现命运的地址是 341DF0164 ,而 ∀ 的生命值地址是 341E40164 。透过这两个地址我们不难看出这两者的地址差别只在地址的第4和5个数字上 。这 DF 和 E4 的排列也是证明了玩家的地址会拍在最前面,而接下来的便是 CPU 地址了 (字节排法把 DF 排在 E4 前)。

然而如果你去搜寻命运的气槽值你会发现地址是 341DF0998,而 ∀ 的气槽值地址则是 341E40998 。透过这两个地址我们也不难看出生命值,气槽值,EX槽值等等的数据的地址偏移发生在地址的最后4个数字上。

aaaXXYYYY, YYYY = 生命值,气槽值,EX槽值等等的数据地址偏移的数字

YYYY = 0000,机体地址范围的开始

YYYY = 0164,生命值 – 逆向4字节

YYYY = 0998,气槽值 – 逆向4字节

YYYY = 09D8,EX槽值 – 逆向浮游

了解完了地址配置后,我们现在就需要解决地址在每个关卡偏移的问题了。

如果拿上述的例子,把场地换成 Side 7,命运的生命地址则会变成 341E30164,而 ∀ 的生命值地址是 341E80164。这两者的地址和刚刚在实验地图的地址在 XX 上是有出入的。

解决这一个问题就得需要字节数组扫描的功能了。这功能能让 CE 随着字节排法搜寻相关的地址,而我们必须做的便是寻找可以辨别机体字节数组的地址。庆幸的是,在 YYYY = 0014,我们可以找到一个固定字节数组来辨认机体地址。

例如 命运 (341DF0014) 的24字节:

40 06 2C 00 00 00 00 01 00 00 00 01 3F 80 00 00 00 00 00 00 4F FF 2F 60

而 ∀ (341E40014) 的24字节 :

40 06 2C 00 00 00 00 01 00 00 00 01 3F 80 00 00 00 00 00 00 4F FF 2F C0

如果对比两个地址的差别,然后把差别变成 ??你会得到这组数组

40 06 2C 00 00 00 00 01 00 00 00 01 3F 80 00 00 00 00 00 00 4F FF 2F ??

但是如果你把这一组数组放进字节数组里扫描的话,你会搜寻不到任何相关地址。原因是上面两个机体例子的字节数组的差别只在最后一个字节 (C0 vs 60),但如果你去试一试不一样的机体,或者不一样的地图,你便会发现在这 24 个字节存在着不一样的差别。在我尝试了多个组合后,我得到了一个可以用在字节扫描的固定的字节数组。

40 06 ?? ?? 00 00 00 01 00 00 00 01 ?? ?? 00 00 00 00 00 ?? 4F FF ?? ??

这数组便可以被用在数组扫描里找出机体地址范围,然后把 (YYYY 换成你想要改的便可)。

虽然在每个关卡还是需要用这数组扫描的功能,但总比在每个关卡慢慢寻找相关地址来的容易。

解释完毕,我们便可以开始主教程。


主教程

寻找机体地址

这篇教程会使用 命运 vs ∀ 在实验地图,如图

进入战斗后,把你的数值类型换成字节数组

把下面这一排字节贴入数值盒子里 (请注意字节中的空格是需要的)

40 06 ?? ?? 00 00 00 01 00 00 00 01 ?? ?? 00 00 00 00 00 ?? 4F FF ?? ??

贴入后,将你的内存扫描选项换成

开始:300000000

停止:3ffffffff

换好后按下首次扫描即可。这时你的结果区域会出现一些地址,数量是随着场上的机体数量而定,而玩家本身的机体地址会是第一个。在命运 对 ∀ 的情况下,只会有两个地址,而在不同的环境下会有不同的地址,说以你所找到的地址会和我不同。如果你想知道怎么分辨请看上面的解释章节。

鼠标右击第一个地址,然后按下将选中的地址添加到地址列表。重复这动作3次。

这时你的地址列表里应该会有3个地址选项, 鼠标右击第一个然后选择更改记录 -> 地址。

在窗口开启后,把里面的地址后面4个数字改成0164,然后再把类型改成逆向4字节。

按下了确定后,回到地址列表,鼠标右击你刚刚换的地址,然后选择以十进制显示

重复同样的步骤在第二和第三个地址,只是需要换的最后4个数字可以参考下面:

生命值 – 0164, 逆向4字节

气槽值 – 0998, 逆向4字节

EX槽值 – 09D8, 逆向浮游

换好后,你便可以改变这些地址的数值,也可以激活他们来做到无限生命值/气槽值效果。

Leave a comment

Design a site like this with WordPress.com
Get started