2.3 CE修改器:浮点数扫描

简介: 本关需要使用 Cheat Engine 工具对浮点数进行扫描,完成修改任务。浮点数是一种带有小数点的数值,通过“浮点数”扫描方式进行修改。本关中,健康值为单精度浮点数,弹药值为双精度浮点数,需要将这两项数值都修改为 5000 或更高。提示建议禁用“快速扫描”功能,以获取更准确的扫描结果。

本关需要使用 Cheat Engine 工具对浮点数进行扫描,完成修改任务。浮点数是一种带有小数点的数值,通过“浮点数”扫描方式进行修改。本关中,健康值为单精度浮点数,弹药值为双精度浮点数,需要将这两项数值都修改为 5000 或更高。提示建议禁用“快速扫描”功能,以获取更准确的扫描结果。

这里首先科普一下,单精度浮点数与双精度浮点数是计算机中常用的两种浮点数数据类型,它们之间的主要区别在于所占用的内存大小和表示的数据范围。

  • 单精度浮点数 [float] 是一种32位的浮点数数据类型,由一位符号位、8位阶码和23位有效数字组成,可以表示的数值范围大约为1.4E-45到3.4E38,精度为6-7位,适用于大多数的科学计算和工程领域。
  • 双精度浮点数 [double] 是一种64位的浮点数数据类型,由一位符号位、11位阶码和52位有效数字组成,可以表示的数值范围大约为4.9E-324到1.8E308,精度为15-16位,拥有更高的精度和更广的表达范围,适用于需要更高精度计算的场景,例如大量数据的数学计算、天文学、物理学等领域。

因为双精度浮点数要占用更多的内存,所以在内存受限的场景下,单精度浮点数更为利于使用。同时,在性能要求更高的场合(例如计算机图形学和游戏开发等领域),单精度浮点数的运算速度也更快。

浮点数的搜索功能与精确扫描完全一致,唯一的区别在于在扫描上,需要使用浮点数格式对数据进行扫描,正如本关中的健康和弹药,两者都以浮点方法储存数据,唯一不同的的是:

  • 健康值为单精度浮点数,点击"打我"将减少一些健康值。
  • 弹药值为双精度浮点数,点击"开火"则消耗掉 0.5 的弹药。

浮点数在游戏开发中应用十分广泛,在多数游戏中,人物坐标,弹药等都会使用浮点数进行存储,我们以单精度浮点数为例,用户在CE菜单中的数值类型上选择单浮点按钮,并输入需要扫描的数据,

此时根据需求,将数据改为5000本关也就通过了。

目录
相关文章
|
4月前
|
Dart
Dart之常用数据类型(字符串、数值、布尔、集合、映射)
Dart之常用数据类型(字符串、数值、布尔、集合、映射)
|
5月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
57 0
|
11月前
2.2 CE修改器:未知数值扫描
本关需要扫描未知数只扫描,要在不知道初始值的情况下找到一个在0到500之间的数值。首先,选择“未知的初始值”扫描方式,在数值类型中选择 4 字节,并点击“首次扫描”以开始扫描。扫描结束后,点击“打我”按钮进行一些操作,回到 Cheat Engine,选择“减少的数值”作为扫描类型,点击“再次扫描”并重复操作直到检索出很少的几个地址。由于该数值在0到500之间,可以挑出最为相似地址,并将其加入到下方的地址列表。接着,将健康值更改为 5000 以便进入下一关。需要记住的重点是,在开始新的扫描之前,务必要先点击“新的扫描”按钮。
88 0
2.2 CE修改器:未知数值扫描
|
11月前
|
存储
2.5 CE修改器:寻找数值指针
上一步阐述了如何使用代码替换功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,所以我们需要学习如何利用指针,在本关的`Tutorial.exe`窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。接下来我们将找到内存中的基址,为什么要找指针,在前面的教程中,如果各位细心观察的话就会发现 在笔者截图中的出现地址和你的地址并不相同。也就是说,这些地址是一直在变化的,我们把它叫做动态地址,我们必须寻找到该动态地址的基址,并以此来保证唯一性。
78 0
2.5 CE修改器:寻找数值指针
|
5月前
|
算法 Java
Java【算法分享 03】实用算法分享(拼写inStr、去掉字符串后边特定值、三者最小、计算表达式的值)不断增加中ing
Java【算法分享 03】实用算法分享(拼写inStr、去掉字符串后边特定值、三者最小、计算表达式的值)不断增加中ing
38 0
|
11月前
|
存储 监控
2.4 CE修改器:代码替换功能
代码替换功能,需要使用 Cheat Engine 工具的“代码查找”功能,来查找游戏数据存储在内存中的地址。首先找到当前数值的存储地址,并将其添加到下方地址列表中。然后右键单击该地址,并选择“找出是什么改写了这个地址”,将弹出一个空白窗口。接着,点击本教程窗口上的“改变数值”按钮,并返回 Cheat Engine,如果操作没有问题,在空白窗口中将出现一些汇编代码。选中代码并点击“替换”按钮,将其替换为什么也不做的代码(空指令),同时,修改后的代码也将放置在“高级选项”的代码列表中保存。点击“停止”,游戏将以正常方式继续运行,关闭窗口。现在,再次点击教程窗口上的“改变数值”,如果锁定速度足够快,
184 0
2.4 CE修改器:代码替换功能
|
11月前
|
存储 编译器 C语言
2.7 CE修改器:多级指针查找
在本步骤中,你需要使用多级指针的概念来查找健康值真正的地址并修改它。多级指针就是一个指针的指针,也就是第一个指针指向第二个指针,第二个指针指向第三个指针,以此类推,最终指向你想要访问的地址。
67 0
2.7 CE修改器:多级指针查找
|
11月前
|
存储
2.1 CE修改器:精确数值扫描
本关是CE修改器的第一关,用户需要通过 `Cheat Engine` 工具完成精确扫描值。在这个练习中,需要将一个特定的数值(健康值)改变为 1000。首先,要确保数值类型设置正确,默认的是2字节或4字节。接着,选择“精确数值”扫描类型,将健康值填入数值输入框中,点击“首次扫描”。在扫描结果中,如果出现多个地址,可以继续点击打我按钮并输入变更后的健康值来进行“再次扫描”,确定正确的地址。双击左侧列表中的地址可以将其移动到下方的地址列表中并显示其当前值。接着,双击下方地址列表中的数值(或者选择它,按下回车),填写你要修改的数值1000。如果操作正确,"下一步"按钮将变成可点击的状态,本关就算完成
165 0
|
12月前
|
SQL
解决SQLServerException: 转换 varchar 值 '12345678901' 时溢出了整数列的bug
解决SQLServerException: 转换 varchar 值 '12345678901' 时溢出了整数列的bug
291 0
|
存储 数据安全/隐私保护
CE修改器入门:浮点数的扫描
在前面的教程中我们使用`4字节`的方式`进行扫描`,但有些游戏使用了`"浮点数"`来存储数值,浮点数是带有小数点的数值(如 5.12 或 11321.1),正如本关中的健康和弹药,两者都以浮点方法储存数据,不同的是,健康值为单精度浮点数,而弹药值为双精度浮点数。
653 0
CE修改器入门:浮点数的扫描