CheatMaker 论坛

首页 » 游戏相关版块 » 游戏工具及相关 » [教程] ArtMoney - 按公式查找(三)
dfzetcc - 2015/11/17 12:59:57
按公式查找,最强大的查找方式!例如,用“内存转储”存储三份内存。 分别代表同一对象的三个不同的状态。 这三个状态命名为M1、M2、M3。 在M1和M3状态中,生命条的长度相等。 用公式“(M1<>M2)and(M2<>M3)and(M1=M3)”查找。 你就可以找到生命条的地址。

所谓的公式是一个逻辑表达式,它包含下列内容: 公式中可以含有任意多对括号。 括号里的内容必须也是一个逻辑表达式。表达式的结果必须是地址/值的集合。

注意!AND、OR运算符返回的是地址的集合,不能用于值的比较。因此这种运算必须在最后执行。例如,100<=(M1 and M2)<=300 ——将会返回错误的结果。因为AND运算后不能确定每个地址对应的值。正确的写法是(100<=M1<=300)and(100<=M2<=300)。

注意!M1>M2、 M2<>M1这种表达式永远返回第一个变量中地址的值。例如,(M1<>M2)>0 等价于 (M1>0)<>M2

M1=M2这种表达式返回正确的地址/值,因为条件本来就是值相等。例如,(M1=M2)>0 等价于 (M1>0)=(M2>0)

假设你要查找准确值,你有三个状态,对应的值分别是15000、14460、15100,则应使用如下公式:(M1=15000)and(M2=14460)and(M3=15100)

假设你要查找有范围的数值, 你有两个状态,对应的值约为100、300。则应使用如下公式:(99.9<=M1<=100.1)and(199.9<=M2<=200.1)

假设你要查找无法确定的数值(生命条),你有4个状态,对应的生命值约为100%、80%、60%、90%,则应使用如下公式:(M1 > M2)and(M1 > M3)and(M1 > M4)and(M2 > M3)and(M2 < M4)and(M3 < M4)

假设你要查找加密的数值,你有4个状态,分别对应4个不同的数值,则应使用如下公式:
(M1 <> M2)and(M1 <> M3)and(M1 <> M4)and(M2 <> M3)and(M2 <> M4)and(M3 <> M4)
或这种结构
(M1 <> M[2,3,4])and(M2 <> M[3,4])and(M3 <> M4)

另外:推荐在查找之前选中 使用“撤销/重做查找”功能 这个选项。
ckyun - 2015/11/18 23:35:02
不懂帮顶!
jiqigou - 2015/11/19 8:32:45
感谢分享这个方法啊,我在想利用这个查找方法能否找到游戏中主角无敌的地址呢,在以前的老游戏中主角无敌都有明显的特征,比如身上会闪光或者出现一些明显的标志,但是在现在一些大型3D游戏中程序设计的更加复杂,内存地址也大了很多,查找起来非常困难,又特别是像主角无敌这类不太好判断的地址。要是利用ArtMoney  按公式查找应该怎么找到无敌地址呢,求教
1
查看完整版本: [教程] ArtMoney - 按公式查找(三)