CheatMaker 论坛

注册

 

发新话题 回复该主题

如何用CM一次性处理大量偏移相同的静态地址? [复制链接]

1#
最近做的一个修改器需要修改多个静态文件,而这些文件需要处理的地址都类似于NDS、PSP等模拟器的压缩码,即:当前地址与下一个地址的偏移和对应的数值是固定的,但需要处理的地址却是大量的,少的有几百个,多的有上千个。简单来说,我想把CM当作一个16进制编辑器来使用。

举个实际例子:从地址00000004开始,往后偏移30H为下一个地址,每个地址的数值需要改动1个字节,数值改为63H(即10进制的99),地址共有100个。而第二个文件的地址可能是从00000008开始,偏移也变成了80H,每个地址需要改动4个字节,数值改为FF FF FF FF,地址共有200个,其它文件需要处理的地址大同小异。因此,像这种情况都有哪些方法可以使用(越多越好)?哪些方法又比较方便快捷呢?
分享 转发
TOP
2#

如果会编程或者会写批处理,自然就不会发这个求助帖了。正是由于这方面的不足,加上以前在查看CM相关资料时,依希记得CM的某个控件有类似的功能,自然而然会想到CM上来了。可是太长时间没有用过CM了,导致一些基本用法都想不起来了,重新翻看帮助文件也是一头雾水。目前只知道附加数据7好像能处理这样的数据,除此之外就是用CM自带的工具来自动生成偏移相同的地址了。

前者从没有用过,而后者生成的地址也需要用EXCEL等软件多次处理后才能使用,比较麻烦。因此,发这个帖子的主要目的就是想知道实现主帖要求的实例来做参考而已。
TOP
3#

太好了,居然等到天枫兄的回复了。由于帮助文件看的不甚明了,同样希望能用个实例再详细说明一下附加数据7的用法。
TOP
4#

经过一番探索,总算弄清了附加数据7的用法。不过还有是点小问题需要继续请教:我本来想用CM实现的功能就如银河大在7楼所说那样,附加数据的括号里写入需要跳转的偏移(目前所填入数值默认为10进制,不知是否支持直接填入16进制呢),地址则填入起始与结束地址,这中间需要改动数值的数量则由程序按偏移值自动完成,最后再设置一下需要改动的数值与字节大小即可。

而据现在所掌握的用法来看,用户需要自行先算出需要改动的数量,再生成用逗号分割的数值填入数值栏才行,而这两项恰恰是希望程序能自动处理的。而当前在数据量不大的时候还行,可本人需要处理的文件中,需要处理的地址数量少的有几百个,多的有几千个,就算自行来计算偏移数量,但却不知数值栏是否支持这么大量的数值写入呢?相关栏目的写入有上限吗?
TOP
5#

原来如此,把CM当16进制编辑器来使用果然有点“强人所难”了,可是我实在找不到能批量处理16进制数据的软件了,加之不懂编程,只有把CM当作最后的希望了。这下无意中给天枫兄增添了许多不必要的麻烦,我只能说声抱歉了,期待CM后续的版本能解决此类问题吧。
TOP
发新话题 回复该主题