软件破解逆向安全(一)初识内存地址和偏移

写在前面:这个系列的文章是跟着小迪大佬学习软件破解的笔记,感兴趣的可以去看看小迪大佬的视频

工具:CE

 

内存:数字->存放在电脑中->内存

 

实例:如何修改植物大战僵尸阳光

内存搜索最核心:过滤数据

先用CE加载植物大战僵尸,如下图

我们可以看到目前我们的阳光数是50,我们尝试在ce里搜索精确数值,4 byte是int整数的表示。

我们发现有很多数据,尝试收集一个阳光变成75再次搜索:

我们发现就一个了,这时我们可以双击Value随便修改阳光的数值了。

这里我们说一下动态和静态地址

动态地址:临时用于存放数据的地址,黑色。特征:重新启动游戏地址发生变化

静态地址:永久用于存放数据的地址,绿色。特征:重新启动游戏地址不变

所以我们做游戏辅助的时候找的是静态地址。要通过动态地址找静态地址。怎么找呢?我们先来了解一下偏移这个概念,在外挂这里叫偏移,在编程的时候其实就是指针,我们就是通过一层一层挖指针来找静态地址。

我们右键来到这里,看一下什么地方访问了这个地址

发现有两条,我们要注意的是MOV eax,[]这一条,因为MOV是赋值数据,很重要!双击进去看看

看一下标红那里,5578就是我们的偏移,记下来。同时注意一下edi的值,2A90E228,我们再去搜索这个地址,注意标上HEX

我们发现了很多地址,我们要找的是哪个改变了edi,一个一个跟我们发现了这个

我们就知道了第二层偏移是868,然后双击进去跟一下esi

ESI=009AA888,搜索一下

我们发现了绿色的地址,上面我们说过了,绿色的地址就是静态地址啊,看来我们找到我们想要的了。

这样我们得到一个重要的公式:

静态地址 + 偏移1 + 偏移2 + 。。。 = 动态地址

记录一下第一个绿色地址,然后我们手动添加第一个地址:

然后加两个指针输入我们的偏移:

这样这个指针就指向我们阳光数值了。接下来我们重启一下游戏看看这个地址指向的还是阳光不

ok,成功解决

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值