本文相關:
CE修改器:Cheat Engine(5 指针与基址)
點擊即可跳轉至關聯頁面。
关于Cheat Engine
Cheat Engine 是一款強大的遊戲修改器,
有关获取Cheat Engine,请参照:
首先解决上一篇文章评论中遇到的问题:
一、RPG Maker 常见的搜不到数值。
Rpg Maker游戏的数值经常做了一些处理,例如下图:
金幣數量是4999,可關聯的數值卻是9999,
這個值應該是4999×2+1=9999(N×2+1)。
经常会有这样的情况,在搜不到数据的时候不妨尝试一些模糊搜索。
(这个游戏非常不建议大家玩,不过手上刚好有这个例子)
二、没有正确找到游戏程序
反正你就一个个试,这游戏tyranoscript开发的,你在Applications里面看到的那个就一个壳子,要在Processes里面找到正确的游戏进程。
改几个数值试试,
金钱和天数、左下角数、属性页。
应该是没问题。
三、RPG Maker MV
用CE改很麻烦,不过用其他的方法可以修改。
摘要:
如果你能找到绿色的指针,那么在下一次打开游戏的时候就不需要再查找一次了!
不管你找不找得到,我是找不到(笑)
没必要和我改同一个游戏,你可以参考着做CE自带教程的:
步骤 6: 指针: (密码=098712)
以及,
步骤 8: 多级指针: (密码=525927)
一、什么是指针
指针也是一个内存地址(包括它所储存的值),它所储存的值是代表另一段内存空间的内存地址。
P->指针等价于指针所指向的内存地址。
例如地址1BC51458的值为9876,
存在一个地址2CA2100A的值为1BC51458,
假设2CA2100A是一个指针,那么就说2CA2100A指向1BC51458的地址,
用P->2CA2100A代表2CA2100A所指向的内存地址1BC51458,这个操作称作解指针。
二、怎样搜索指针
先正常搜索到地址,然后右键选择查找是什么改写了此地址。
然后回游戏让数值变动,这里就会有代码,
选中,点详细信息。
我们主要关注这两项
勾选Hex,表示我们将输入16进制数,输入的数就是详细信息中间那个地址。
把搜索到的结果保存到下方代码区,双击地址那列。
弹出的窗口勾选指针,下面的偏移量填写[]中除去原始地址(不管ecx,就是刚刚搜索的那个16进制值)
再双击类型那页,去掉16进制的选项,他就会显示被指向地址的值了,修改一个,另一个也会同样变化,因为他们所指向的是同一片内存空间。
三、什么是基地址
可以注意到在左侧搜索到的数据中,无论数据如何变化,仅有先前值和当前值会被染上红色,而左边的地址列只分为绿色地址和黑色地址。
其中绿色表示静态地址,黑色表示动态地址。
每当您加载应用程序时,静态地址地址将保持相同的值。这些绿色地址在列表中显示为绝对地址,但实际上是进程地址空间中已加载模块之一的基地址的偏移量。所以当你有静态(绿色)地址 4075FFB0 并且模块的基地址是 40000000 时,它被计算为 40000000+75FFB0,Cheat Engine 经常显示为 Test.exe+75FFB0。
无论何时加载应用程序,甚至在应用程序运行时,动态地址处的变量都会改变它们的地址。使用指针,您可以找到这些动态地址的静态地址。
可以发现我们刚刚找到的地址都不是基址。
普通指针是基址其实是可能的,而且几率还相当大,
而像这种初次搜索到的都是普通指针的情况,如果五次以内无法搜索到对应的基址,那基址就一定是很难找了。
四、寻找基地址
在首次搜索无法找到基地址的情况下,我们可以尝试着寻找一下基地址,
搜索的方法是和刚才差不多的,
其实所谓基址,就是一个指针的指针。
首先,基址指向一个指针,第一个指针再指向第二个指针,再由第二个指针指向第三个指针,由第三个指针指向第四个指针……最终才会指向他所关联的的真正地址。
找出是什么访问了这个地址,然后分析汇编指令,查找指针地址中的数值,以及它的偏移量,将它们记下来。但这次你按数值找出的仍然是一个指针,你得依据这些数值,使用同样的操作方法找出指向这个指针的指针。看看是什么访问了你发现的那个指针地址,分析汇编指令,留意可能的代码和偏移量,并加以利用。 持续这种过程,直到不能更进一步查找为止(通常基址为静态时,地址将以绿色标示)。
五、總結
在這一章節,我們
- 了解了寻找指针的方法
十三、實戰
- 完成CE自带教程的:步骤 6: 指针: (密码=098712)
以及,
步骤 8: 多级指针: (密码=525927)
- 自行完成步骤 5:
下一篇:CE修改器:Cheat Engine(6 代码注入)
盡請期待。
710268220LV2
感谢