时间:2014-10-17 09:51:14 来源: 复制分享
因为CM是同时支持PC与EMU类型的程序的 所以在操作说明过程中 若无特别指出说明 则对两者都有效.
主界面
如上图打开CheatMaker主程序后 我们先要从左边的"程序选择"中选择里面列出的程序("选项设置"里可以设置显示是进程名还是标题名 这里是显示进程名)也就是你要修改的程序名称.选择之后 CM将根据进程名称与EmuList.cml文件中的信息进行对比 来识别判断CM是否支持此程序.如果不支持此程序则将此程序视为普通PC程序 右下方的"名称选择"里就只会列出"PC"选项 而上方的"修改器选择"选项里 就会列出所有".\Data\PC"目录下的修改器文件.如果支持此程序 则此进程有可能是PC程序也可能是EMU程序 但一般都是EMU程序 这样的话"名称"选择项里 就会列出多个"支持程序"配置信息名称.你需要跟据你运行的程序或模拟器选择对应的配置名称才可以正常修改.而"修改器选择"也就会列出"类型"目录下的所有修改器.
使用CM修改器文件修改游戏将在后章说明.
◆ 数据搜索
数据地址的搜索是修改游戏的第一步 除非你手中已经有数据的地址信息了 否则 这是必需的.
数据地址也就是你在游戏中看到的某个数值在内存中的地址.比如你在游戏中看到了金币:200 则200就是数值 也就是你要修改的对象 而要修改则需要知道它在内存中的地址 这就要使用数据搜索功能了.
数据搜索
在主界面中选择了修改的程序后 点击"数据搜索"功能按钮(如上图).在"搜索数值"框中键入你所需要修改的数值 比如你在游戏想修改一个金币值 现在在游戏中看到的值是:200 那么 你得输入200 然后点击搜索(回车亦可).则在左边的"搜索结果"中将会列出内存中所有相符的记录 第一搜索一般会有很多条记录.接下来 你得回到游戏中 将这个金币值改变一下 买入物品或卖出物品 想办法让金币增加或减少 只要不同于原来的数值即可.比如现在已经花去了30金币 则现在游戏中金币还剩下170 然后你再输入170 再搜索一次 很快 搜索结果将会少很多很多.反复如此操作 直到结果只剩下一个为止 这一个就是游戏中金币值在内存中的地址(EMU程序为虚地址 PC程序为真实地址).
现在就可以快速改变这个值了 你可直接在列表中双击这个值 然后在弹出的对话框中直接改变里面的"数值"为你想要的值确定即可.现在回到游戏中 你可以看到金币的数值已经变成你刚刚输入的了.当然 前提是你查找到的数值地址没有错误.
功能中的"内存查看"可以直接在CM的"内存编辑"来操作这个地址中的数据.这需要你有一定的内存操作知识 否则容易引起程序的数据混乱.
"搜索设置"可以改变扫描内存的范围大小.对于PC程序 这个值会非常大 因此搜索会花费较长时间.对于EMU程序 这个值相对会小许多 一般来说机种级别越高 范围越大.对于支持的程序(一般是EMU程序) 在EmuList.cml文件都会设置长度 但超出这个长度的数据地址不一定规范 但是地址中存储的数据还是没有错误的 所以CM允许你动态的变更支持程序的搜索范围 但会有警告提示.搜索出来超过长度的地址只做为临时使用 因为很可能每次程序重运行后这个值都会改变.
搜索不到的数据 一般都是EMU程序 因为对于EMU程序 CM不是像PC程序一样搜索全部内存 只是搜索有游戏数据的那部分内存.所以对于EMU程序搜索不到数据可以使用上面说的扩大搜索范围方法.如果还不能搜索到 则可以将此EMU程序视为PC程序处理(改变模拟器程序名称再运行) 这时CM会将其视为不支持程序 当PC程序对待 搜索所有内存的数据 但有一点要注意的就是 这时搜索到的地址就是相对于PC程序的地址 是动态的 临时的 不确定的 这样的地址不能做为以后设计CM修改器来使用.正确的模拟器游戏地址是相对于模拟器.
自动计算字节除了不用手动选择十进制数据位大小外还有个好处.就是每次搜索它都会自动重新计算新值大小.让你每次搜索大小都没有第一次搜索值大小的限制.而字符,十六进制,二进制每次搜索时都会自动根据你的输入值重新计算大小.这样的话 对于逐渐变化长度的数据搜索非常有用.
对于应用了插件的程序来说 搜索时也会调用插件中相关处理来改变默认的搜索方式.如果搜索结果不是预期结果 可查看是否应用了相关插件.
对于一些未知数据的查询 例如血槽,不遇敌,关卡等一些隐藏数据 CM提供一般模糊查找功能.
在数据搜索的"搜索方式"栏中选择"模糊数值初始"化即可开始一个新的模糊搜索.因为隐藏数据我们并不知道其当前值与数据大小 所以选择初始化后 "搜索数值"栏将不能输入当前值 而"搜索类型"也需要手动设置大小 默认将为1字节.也可以在"搜索数值:"栏中输入"?"符号 则会自动使用模糊搜索项.
第一次搜索完成后 再进入游戏中 改变这个数据的状态.例如增加或减少这个数值 然后再到"搜索方式"栏中选择对应的项进行第二次搜索.然后一直重复这个动作直到最后 再对其结果尝试进行修改 确定其地址.
◆ 数据管理
上面最简单的搜索修改对于CM修改来说 不一定要学会 但是要制作自己满意的CM修改器的话 那就必需学会.在"数据搜索"里找到的结果你可以临时将其保存到"数据管理"功能中去 这样可以搜索新的数据 并不会影响到现在的这个数据.并且在"数据管理"功能中 可以锁定这个地址的数值 这样在游戏中 无论如何也不会改变 一直都会是锁定的这个值.
如果你手中有现成的数据地址 则可以直接使用"添加"按钮将其地址加入到管理中 不用搜索即可改变这个地址的数据.
数据管理
◆ 内存编辑
这个功能用于高级操作 修改数据方便 快捷 准确 但对于初级用户却不是很容易理解.因为它是直接修改程序在操作系统中分配的内存数据 所以 操作不当很容易导致程序出错而退出 尤其是PC程序.EMU数据相对好些 因为可以在内存编辑中看到的数据 基本上都是可修改的 并不像PC程序一样 显示所有数据.这里EMU程序显示的地址都是基于模拟器的虚地址 是CM修改器需要的地址 这点不同于PC程序.但是你还可以像操作实际内存地址一样来管理这些地址 只需要勾选MEMORY选项 则操作的地址即变为实际的内存地址.
你可以在右键的菜单中导出CM中显示的内存数据 以便用于高级分析.
内存编辑
"内存编辑"中点击撤消按钮时组合按下Ctrl键撤消当前所有已更改的内存数据(自动还原已变更的所有数据).组合按下Shift键将清除所有标记为已更改的红色标识(重新初始).