前言
当游戏的一些操作共用一代码时,如何区分?
比如 hp的减少,我方血量和敌方血量共用同一代码
蓝量的加减共用同一代码
这时如果简单的采用nop或者加减互换就会同时影响其他角色
解决
在代码中找区分点
比如找到hp减少的代码后,继续向上寻找代码是在哪里区分出我方血量还是敌方血量的,在那里进行操作
在数据结构中找区分点
利用ce中的数据结构分析功能
进来先定义一个数据结构
就能查看你所选基地址下,size大小的数据结构内容
还可以同时查看多个 用来对比分析
我们可以找到我方和敌方的hp存放位置,然后分析hp存放位置周围的数据,有没有可以区分我方和敌方的数据。因为编程一般都会把他们存储成一个结构体,相关数据都是连续的。
如果找到可以区分的变量,我们就可以用这个变量写个比较判断,就能区分了
实例:
这里发现这个地址的双字数据刚好我方是1 敌方是2
直接cmp je跳转,等于1就是我方,就不执行fadd