tempa 发表于 2022-6-26 13:28

关于有些CT表无效的说明,作者看到可以试试修复

本帖最后由 tempa 于 2022-6-26 20:13 编辑

因为不玩这个游戏,所以也没有做这个游戏的CT,但是根据最近一些制作CT的经验,一些无效的问题,原因,以及解决方法说一下,如果作者看到可以试试修复。


以版中 Fullcodes 的这个CT来说明


https://bbs.3dmgame.com/thread-6311889-1-1.html

首先第一项,记录玩家基址函数

Must Be On 必须开启

define(GetPlayerBase,PlayerHealthStat::get_HP+4)
define(address2,Paris.Game.Actor.Player::HandleMovement+7E)

define(bytes,8B 40 3C C3 19 00)
define(bytes2,48 8B 96 68 01 00 00)


使用的是函数的绝对地址,测试发现第二项,HandleMovement+7E会有问题,Win7,Win10都有出入,因为C#代码不是100%固定,不唯一,所以在不同机器上会有地址偏移不同,以我的电脑为例

Win7显示为 HandleMovement+79




Win10显示为 HandleMovement+7A



注意字节码也有变化,
Win7是 48 8B 96 68 01 00 00
Win10是 48 8B 8E 68 01 00 00


实际上Win10和Win7后面这个代码就不一样了,48 8B 8E 68 01 00 00 在Win7上面一行也有


这就导致选项一勾不上,而其他部分功能,AOB地址是固定没变的,比如一鸡必杀

Paris.Combat.HealthStat::set_HP+16

Win7,Win10都可以使用



这种小问题对懂CE的人来说,随手就可以修复,但是不懂的就没办法了。

解决方法,使用 aobscanregion 指定函数扫描范围,就可以避免绝对地址前后偏移,而勾不上的问题了


纯路过提一句,主要是我以前也这么写,经常被人吐槽用不了,也是一头雾水,最近才改了aob的写法




tempa 发表于 2022-6-26 13:31

Win7,Win10系统不同,字节码不同的问题,可以readbyte,也可以干脆做个函数2解决

gupy 发表于 2022-6-26 14:03

大佬,牛逼!

giftzqx 发表于 2022-6-26 18:55

dinglo uzhu,,,12234

gaoxiang716 发表于 2022-6-28 00:19

膜拜大佬~的确很多都不一样~64和32都不一定一样
页: [1]
查看完整版本: 关于有些CT表无效的说明,作者看到可以试试修复