使用 Baymax 修改指令中【全局变量】的数值
新版的 Baymax Patch Tools v2.9.5 / x64 v2.5 已经支持了从指令中保存全局变量的功能。例如指令中:CMP DWORD PTR , 0
BAYMAX 可以解析出 77AFD9BC 这种 DWORD PTR 汇编语句中的“全局变量地址”。
如何修改全局变量的数值呢?分两步走:
1. 存储全局变量
输入中断地址,
补丁类型中选择“存储当前数据”,
存储值为“保存指令中的内存地址”,
并在存储标号栏中输入唯一的我们用于标识的标号名称,例如“ID_SAVENAME_TEST”
这样我们就将该地址进行了保存。
2. 使用并修改全局变量指向的内存
我们再设置一处中断地址(可以为同一个地址,baymax支持对同一个地址设置多个补丁条目,但顺序要对:先存后取)
补丁类型选择“修改存储值指向的内存”,
补丁数据选择“自定义立即数”,
标号数据栏输入格式为“ 标号_ID ,立即数数据”,这里我们需要赋值为 0x1F000000,所以填写 “ID_SAVENAME_TEST, 1F000000 ” 即可。
这样就可以修改该地址的内存数据了。
小技巧:
我们选择“修改存储地址指向的内存”时,发现寄存器一栏为 EXX/RXX,并且还可以设置偏移。
BAYMAX 支持对我们保存的地址进行二次寻址,支持 +N1 这样的寻址操作,这样我们保存类对象后,就可以方便的修改其成员的数值。
例如我们保存的地址为 10000000,而我们需要修改的地址为 10000008,我们设置偏移为 EXX+8 即可(x64位 RXX+8)。
Only Game, Have fun ~!
谢谢,学会了,有空测试玩玩 太好了,非常实用的功能 大白一出手,就是超神模式开启!{:lol:} 感谢分享 收藏学习 牛B,顶................................. 学习到了,大白确实太厉害了 老大新版在哪里下载呀 1zc9太好了,非常实用的功能 感谢发布原创作品,PYG有你更精彩!
页:
[1]
2