写在前面:这个系列的文章是跟着小迪大佬学习软件破解的笔记,感兴趣的可以去看看小迪大佬的视频
工具:CE
内存:数字->存放在电脑中->内存
实例:如何修改植物大战僵尸阳光
内存搜索最核心:过滤数据
先用CE加载植物大战僵尸,如下图
我们可以看到目前我们的阳光数是50,我们尝试在ce里搜索精确数值,4 byte是int整数的表示。
我们发现有很多数据,尝试收集一个阳光变成75再次搜索:
我们发现就一个了,这时我们可以双击Value随便修改阳光的数值了。
这里我们说一下动态和静态地址
动态地址:临时用于存放数据的地址,黑色。特征:重新启动游戏地址发生变化
静态地址:永久用于存放数据的地址,绿色。特征:重新启动游戏地址不变
所以我们做游戏辅助的时候找的是静态地址。要通过动态地址找静态地址。怎么找呢?我们先来了解一下偏移这个概念,在外挂这里叫偏移,在编程的时候其实就是指针,我们就是通过一层一层挖指针来找静态地址。
我们右键来到这里,看一下什么地方访问了这个地址
发现有两条,我们要注意的是MOV eax,[]这一条,因为MOV是赋值数据,很重要!双击进去看看
看一下标红那里,5578就是我们的偏移,记下来。同时注意一下edi的值,2A90E228,我们再去搜索这个地址,注意标上HEX
我们发现了很多地址,我们要找的是哪个改变了edi,一个一个跟我们发现了这个
我们就知道了第二层偏移是868,然后双击进去跟一下esi
ESI=009AA888,搜索一下
我们发现了绿色的地址,上面我们说过了,绿色的地址就是静态地址啊,看来我们找到我们想要的了。
这样我们得到一个重要的公式:
静态地址 + 偏移1 + 偏移2 + 。。。 = 动态地址
记录一下第一个绿色地址,然后我们手动添加第一个地址:
然后加两个指针输入我们的偏移:
这样这个指针就指向我们阳光数值了。接下来我们重启一下游戏看看这个地址指向的还是阳光不
ok,成功解决