|
楼主 |
发表于 2018-12-23 16:12
|
显示全部楼层
本帖最后由 含烟 于 2018-12-23 16:14 编辑
◆ 常规信息
DEC 表示转换成十进制
HEX 表示转换成十六进制
(HEX)表示值为十六进制格式
浮点数操作的有效位是7位.包括小数点符号.符号位不算.可负数.例: 9.87655,-9876.55,9887655
浮点数数据长度固定为4字节
二进制数据长度固定为1字节
图像文件的透明掩码是RGB(255,0,255).这样能让使用的图像背景透明.
设计器撤消的有效数量为128个操作.
设计器历史文档的列表总数为10个.
多值数据/地址:
格式为(十进制表示): 23,157,99,1,77.(十六进制表示): 000CB051,0157,00EF,200001,F0177.
为了方便处理连续的数据 CM加入了多值数据功能.使用一个单一控件就可以完成连续地址不同数据的操作.以,号为分隔符 依次处理每个分隔符的数据 下一个数据操作的地址需要以控件中"数值大小"来决定递增.
地址属性也是支持多值数据操作方式的.所有拥有"地址"属性的数据控件都可以接受连续的多值地址设置 格式与"数值"属性设置一样.
在新版本中.加入了简易的地址属性多值方式(不支持多值数据).格式如: 10000-20000
地址常见数据格式:
一般格式: 10000
多值格式: 10000,10001,10002
简化多值格式: 10000-20000
数值常见数据格式:
十进制格式: 100
十六进制格式: C7
二进制格式: 1010
字符格式: A
小数点格式: 1.2
以上格式全部可加逗号,分隔符为多值格式.例十六进制格式: FF,AA,C7
数值大小常见数据格式:
一般格式: 4
使用二进制格式: 1,2,4,5
◆ 常见问题
1.不能够显示已经运行的程序.
这很可能是"选项设置"中视觉显示的设置问题 将里面的是否筛选程序和显示进程名/标题勾选去掉即可.另外也有一些特殊的程式被保护不能被修改 CM会将其屏蔽掉.
2.修改器不能正确读取到数据.
如果是PC程序 则先确认搜索到的地址是否是动态地址(每次程序重运行后会改变).对于这种程序 建议使用存档修改或文件修改 否则需要专业知识来搜索相关的相对基址来进各高级操作.将其加入到"支持程序"文件中.
如果是EMU程序的话 要确认当前运行的模拟器版本是否与选择的模拟器版本一致 如果不一致 一般都会有警告提示.还有就是要确认模拟器是否已经载入并且运行了游戏 否则也会有这样的问题.一个支持多类型的模拟器载入不同的游戏类型需要正确的选择"类型"否则也不能获取正确的地址.
3.不能够查找到数值的地址.
对于PC程序来说 这种情况很少见 因为CM是支持程序全内存搜索的 除非程序是对数据加密或数据的地址是动态的.首先 你要确认"选项设置"中的搜索选项是否设置正确.对于EMU程序则比较常见.最大可能就是数据超出支持程序设定的范围 但是这个范围在搜索中是可以更改的.而且 你也可以将EMU程序当PC程序对待 对全内存进行搜索来解决这个问题 一般在"修改器管理"的"类型"选项中都有PC类型选择.还有一种可能就是此模拟器数据存储结构不一样 这时你不能使用十进制搜索数据 你可以使用十六进制方式来搜索.但也有的数据格式是需要深入研究规律的.知道这种格式的操作方法后 那么就可以使用十六进制搜索了.或者自己制作一个插件来支持它.
4.不能识别支持程序或模拟器.
CM是根据程序的类名与程序名两者来识别{支持程序}的.一般默认的EMU程序会根据官方编译的名称来加入到系统列表中.CM优先判断类名是否符合条件 否则判断程序名是否符合.如果CM是支持此程序但没有被识别 那么请检查这个程式是否是官方版本或被修改过.你可以尝试将其文件名改为官方原.exe文件名.
如果你需要自定义支持程序 请使用主界面中进程右键功能加入到"支持程序"中.
5.为什么读取不到数据 控件没有反映?
检查你数据控件的地址属性设置是否正确.大多数可能是因为此控件使用了多数据.并且确认按钮控件功能是否设置为"读取数据".
6.每次重新打开或重启电脑后.查找出来的内存地址不一样
最大的可能就是因为此程式地址是动态变化的.一般PC程式才会这样.EMU模拟器程式则不会.这种情况则需要将其加入[支持程式]中.详细说明请参考帮助文档中的[支持程序]章节.
◆ 进阶说明
1.如果是PC程序类型 其所使用的修改器地址 将被视为内存实际地址.如果程序加入到了支持程序列表中 则使用修改器的地址为CM虚拟地址.当你要修改的程序地址是动态地址时 你就要在修改器中使用CM虚拟地址来指定基址修改它;如果数据的地址是固定不变的 则可以使用内存地址.
2.当不能获取支持程序中的基址时 那么CM将会自动将此程序视为PC程式.
3.数据控件中的"数值大小"设置 在多值情况下 还有一个很有用的功能.
例如:
多值数据:257,9,9999,14 数值大小=8
写入内存则为:
01 01 00 00 00 00 00 00 09 00 00 00 00 00 00 00
0F 27 00 00 00 00 00 00 0E 00 00 00 00 00 00 00
......
也就是说 它写值的时候与平时没什么不同 只是在处理下一个数据的时候 它会根据你设置的"数值大小"大小来自动跳位.
4.如果你需要修改EMU游戏 但CM又不支持此模拟器 那么还可以在使用PC类型进行一般的搜索来修改它的数据.只是搜索结果的地址不能够用来制作修改器.如果"类型"选项中没有PC类型 则可以直接右键选择此进程 在弹出的菜单中选择添加到"支持程序"即可.
5.动态调节搜索数据长度.如果在搜索时 搜索类型选择"自动计算字节位" 则第二次搜索也会重新计算数据长度.这对动态变化长度的数据是很有用的.
6.当你使用PC类型搜索数据时 查找到的数据要以内存地址为参考.而CM地址则是会动态变化的.不仅是在搜索中 其它任何地方 你都应当以内存地址为参考.而对[支持程序]中的程序操作 则应当使用CM地址为参考.
7."控制功能"属性的控件中 "附加值"属性的增量值(1)也可为负数.这样不但可以使用增量偏移地址 也可以处理负偏移地址.
8.改变"Plugins"目录下的插件名称顺序可以改变插件的实际的使用顺序.这样可以达到按自定义顺序使用多插件的功能.
9.在程序根目录下放置一个BackImage.jpg文件 则CM会自动将其作为设计器的背景显示.
10.1.40版本开始支持命令参数启动.暂时只支持是从管理器启动还是设计器启动.如下图 在快捷方式命令后面加入 manager或designer 则表示是从管理器或设计器启动."选项设置"里面也有这个功能的设置 有冲突时候 以参数设置为准.
11.二进制(Binary)数据操作时 可以设置"数值大小"属性为多值方式(可同时操作多个bit位)
12.如果控件"地址"属性使用多值方式.那么在读取时.CM自动使用第一个地址进行操作.而写入时则是使用全部地址.如果使用了"数据集合"属性.则读取时也是取第一条记录为判断基准.
13.修改器运行时.直接在ListBox控件中输入中文/英文/数字/字符可自动快速匹配首字相同的记录.这样对有很多记录的控件来说非常有用.
14.生成的exe独立修改器程式不能运行 一打开就报错误.这种情况一般有三种可能.首先就是确认你的电脑是否已安装相应的运行库 这个可以到CM官网上下载.然后就是确认你要修改的程序或游戏是否已经运行 否则会报找不到进程信息.最后就是确认这个修改器是否已被人为修改过 这样会导致运行器内部错误运行不了.
◆ 快捷键列表(设计器)
新建项目 Ctrl+N
新建文档窗体 Ctrl+Shift+N
打开 Ctrl+O
保存 Ctrl+S
另存为 Ctrl+Shift+S
生成修改器程序 Ctrl+E
撤消 Ctrl+Z
剪切 Ctrl+X
复制 Ctrl+C
粘贴 Ctrl+V
删除 DELETE
全局复制 Ctrl+Shift+C
全选 Ctrl+A
调整顺序 Ctrl+D
属性 Alt+Enter
按钮控件 Ctrl+1
文本控件 Ctrl+2
标签控件 Ctrl+3
选择控件 Ctrl+4
组合控件 Ctrl+5
框架控件 Ctrl+6
图像控件 Ctrl+7
列表控件 Ctrl+8
多选列表 Ctrl+9
进度控件 Ctrl+Alt+1
多标框架 Ctrl+Alt+2
单选按钮 Ctrl+Alt+3
运行管理器 F5
自动数据生成 F7
资源管理 F8
运行计算器 F9
打开记事本 F10
帮助 F1
所选控件相等大小 Ctrl+B
所选控件上对齐 Ctrl+↑
所选控件下对齐 Ctrl+↓
所选控件左对齐 Ctrl+←
所选控件右对齐 Ctrl+→
◆ 模拟器支持
所有支持的模拟器及游戏类型信息(支持大多数模拟器全版本且兼容一些较早版本)
[ARC]
==========
FB Alpha,FBA Shuffle [CPS1],[CPS2],[CPS3],[NEOGEO],[PGM],[CAVE],[TOAPLAN]
Nebula [CPS1],[CPS2],[NEOGEO],[NEOGEOCD],[PGM]
WinKawaks [CPS1],[CPS2],[NEOGEO]
NeoRAGEx [NEOGEO]
Callus95 v0.42 [CPS1]
Rainew32 [CPS1],[CPS2],[CAVE] (v0.51.7,v0.51.0,v0.50.17,v0.50.7 Test)
NeoRaine32 [NEOGEOCD]
NeoGeoCD [NEOGEOCD]
Zinc [ZN]
Impact [ZN]
Mame32 Plus [CPS1],[CPS2],[PGM],[ZN]
MAME-CPS3 [CPS3]
Mame32 v0.120 [CPS1],[CPS2],[NEOGEO],[CAVE]
CPS3 Emulator [CPS3]
[DC/NAOMI]
==========
Chankast [DC]
NullDC [DC],[NAOMI]
DEmul,DEmul All [DC],[NAOMI]
Makaron [NAOMI]
[DOS]
==========
DOSBox [DOS]
DOSBox v1.72 [DOS]
DOSBox v1.73 [DOS]
[FC]
==========
VirtuaNES [FC]
Smynes [FC]
NNNesterJ [FC]
RockNES [FC]
RockNES v5.00 Beta [FC]
RockNESX v2.0 Final [FC]
Nintendulator [FC]
Jnes [FC]
Famtasia [FC]
FCE Ultra [FC]
FCEUX [FC]
[GBA/GBC/GB]
==========
VisualBoyAdvance [GBA],[GBC],[GB]
VBA Link [GBA]
VBA-M [GBA]
Rew v1.2 [GBC],[GB],[FC],[PCE]
[MD]
==========
Gens&G.Surreal [MD],[SEGACD]
Gens Plus [MD],[SMS],[SEGACD]
DGen v1.21 [MD]
Fusion [MD],[SMS],[SEGACD] (v3.63,v3.62,v3.6,v3.511 Test)
Regen [MD],[SMS] (v0.97,v0.96,v0.95 Test)
[N64]
==========
Project64 [N64]
1964 All,1964 [N64]
Mupen64 [N64]
[NDS]
==========
NO$GBA [NDS]
iDeaS [NDS] (v1.0.3.3,v1.0.2.0,v1.0.3.0,v1.0.3.2 Test)
DeSmuME [NDS] (v0.9.6,v0.9.4,v0.9.2,v0.9 Test)
[NGP]
==========
NeoPop [NGP]
NeoPocott [NGP]
NGPocket [NGP]
Koyote [NGP]
[PCE/PCE-CD]
==========
MagicEngine [PCE]
Ootake [PCE] (v2.29,v2.16,v2.07,v2.00 Test)
Ootake v1.23~v1.39 [PCE] (v1.32~v1.39,v1.23 Test)
TurboEngine [PCE]
[PS]
==========
ePSXe [PS]
VGS & Emurayden [PS]
pSX [PS]
PSXeven v0.19 [PS]
SSSPSX [PS]
XEBRA [PS]
[PS2]
==========
PCSX2 TLB [PS2]
PCSX2 [PS2]
[SFC]
==========
Snes9x [SFC] (v1.52,v1.51,v1.39 Test)
ZSNESW [SFC]
SNEShout v3.3 [SFC]
SNESGT [SFC]
bsnes [SFC] (v0.059,v0.048,v0.041 Test)
bsnes Old [SFC]
[SMS]
==========
SMS Plus [SMS]
FreezeSMS [SMS]
Meka [SMS]
Dega [SMS]
Past-O-Rama [SMS]
[SS]
==========
SSF [SS] (v0.11 alpha R2 Test)
Yabause [SS]
GiriGiri [SS]
[WSC/WS]
==========
WSCamp [WSC],[WS]
Oswan [WSC],[WS]
Cygne [WSC],[WS]
[NGC/WII]
==========
Dolphin [NGC],[WII]
gCube v0.4,v0.5 [NGC]
[MODEL2]
==========
Model 2 Emulator [MODEL2]
|
|