CE-公用代码的处理

前言

当游戏的一些操作共用一代码时,如何区分?

比如 hp的减少,我方血量和敌方血量共用同一代码
蓝量的加减共用同一代码

这时如果简单的采用nop或者加减互换就会同时影响其他角色

解决

在代码中找区分点

比如找到hp减少的代码后,继续向上寻找代码是在哪里区分出我方血量还是敌方血量的,在那里进行操作

在数据结构中找区分点

利用ce中的数据结构分析功能

CE-公用代码的处理

进来先定义一个数据结构

CE-公用代码的处理

就能查看你所选基地址下,size大小的数据结构内容

CE-公用代码的处理

还可以同时查看多个 用来对比分析

CE-公用代码的处理

我们可以找到我方和敌方的hp存放位置,然后分析hp存放位置周围的数据,有没有可以区分我方和敌方的数据。因为编程一般都会把他们存储成一个结构体,相关数据都是连续的。

如果找到可以区分的变量,我们就可以用这个变量写个比较判断,就能区分了

实例:

CE-公用代码的处理

这里发现这个地址的双字数据刚好我方是1 敌方是2

CE-公用代码的处理

直接cmp je跳转,等于1就是我方,就不执行fadd

上一篇:从hp的暗影精灵4来看移动cpu的实际性能表现与官方出厂性能数据之间的差距


下一篇:seldom 实战技巧