首页 神兵利器正文

CE寻找内存基址

欲儿 神兵利器 2019-02-23 1360 0

首先我们继续上一期的继续讲,就是上一期尾部继续,想必你已经尝到了一些甜头,但是你发现一个神奇的事情没有,那就是关闭游戏之后,这个地址没用了,改值游戏里却不会发生任何更改,怎么办,这就是所谓的动态基址,因为它的基址是在动的,不是静态的。这个我该怎么解释呢。

傻瓜版理解:你要去火车上见一个故人,这个故人我们比作数据,这个火车我们比作地址,比如说这个火车要去的站有,避孕套公司,充气娃娃制造厂,等等。。动态地址就是这个避孕套公司,你在这个地方如果火车刚好到,那么你就可以上这个车子,如果火车不到你就永远上不去,这个地址就是动态的,也就是说,你不是百分之百可以见到故人,访问到数据,然而静态地址就仿佛是火车的车厢和故人的座位号,有了这个地址你可以用各种方式去那个地方,比如说空投过去,and so on ,但是你不会像避孕套公司一样是要受局限的。所以我们要想修改一个游戏,就必须要得到静态地址了。

好的不BB 了赶紧去找静态基址吧

先按照上次帖子找到一个这样的动态基址

image.png

大家不用担心,动态基址可以用CE找到静态基址。双击动态基址把它弄到下面去,这样好操作一些

image.png

选中下面一个添加的动态基址

image.png

按F5(查询什么访问了这个基址),说白了就是监视这个恶心的狗基址,你可以去百度翻译下,反正差不多意思就是需要你再次更新一次数据,就像当初50扫描出来很多输入75确只扫描出来一个一样的道理,点击YES还用教吗??

image.png

这个时候返回游戏捡个阳光,植物大战僵尸捡阳光不会玩,赶紧给我别扯淡

image.png

这个时候呢你会得到如图的参数甚至更多,不过你可以千万不能慌张

image.png

我们只看mov的函数,因为你要清楚的知道mov是传递的意思,他的意思是传递一个值给eax   == esi + 00005560,这里我还得给你讲一下,因为我感觉你肯定看我这一篇帖子看不懂的,肯定还会去百度其他的,5560我们管它叫偏移量OK了吧

image.png

大家这个时候肯定会跟我讲,即使只看mov函数也有三个,那到底看哪一个,你不要急,学知识要一步一步来的。

image.png

所以mov函数肯定不止一个但是你会发现他们的值都是一样的

image.png

大家注意看先选择上图蓝色那条数据

image.png

我们得到的值是10F9A0C0这个值恰好等于esi的值对吧,毕竟是传递esi的值所以下一步我们要记住esi查询esi哪里来的,我们再分析分析下面的值。

但是我们再打开另外一个mov函数你会发现一个很神奇的事情是

image.png

他传递的值是eax 但是eax的值却离奇的等于了刚才的esi这就是我要强调的,因为你的偏移量是不一定的孩子!!!

我们记住我们得到的几个mov都相同的函数

image.png

再返回刚才的软件,选择hex选项意思是十进制,输入刚才得到的值,点击New  Scan ,会变成First Scan,都点一次就好了

这居然又搜出来57个,我的亲欲儿,这个该怎么手动帅选基址,我们先往下翻翻,发现没有任何一个绿色的address也就是说没有基址,所以这个阳光值不是一级偏移就可以解决的,可能还有几次,但是这么多个函数还是到底该怎么找呢

image.png

首先那种长的比较像的是肯定不可能的了, 你从软件开发的角度,难道一场游戏阳光值这一个值,你会用数组来存?这可不鬼扯嘛

所以啊,长的大致相同的address是肯定要删除的了,什么叫长的大致相同,前面几位一样的就是大致相同的意思,反正你看一下大致相同就可以了,如果你不闲麻烦,你全部弄下去一个一个排除就是了,反正你有的是时间对吧

image.png

帅选了一下,符合要求的依然有很多,不要给我鬼扯,全部双击给我拉下来

image.png

我就拉了前面两个给大家做个示范,肯定是一个正确一个错误,不然老子逗你?

我已经做了一定的备注了哪个是正确的哪个是错误的,我们先从正确的的开始分析

image.png

选择这个正确的地址点击F5,随便点一个,为什么随便点老子不想解释了,你认真看没有看不懂的

image.png

选择第二个数据


image.png

大家记住了edi?打开计算器,转到程序员模式

image.png

我们手动算一下edi + 偏移量 768 等于多少,这个计算器不会用的你自己百度吧,老子肯定不会弄死你。

image.png

先输入edi 然后再加768

image.png

看见没等上了,说明你没找错,为什么会等于这个,因为mov是传递函数,只不过又传递了下一个地址,所以 相当于edi这个地址再给我偏移一次768.就等到了这个地址,你不要跟我说2911168 和 02911168不等,你小学没学过0.1 == 0.1000000?老子打爆你头?

image.png

那么我们再看看这个错误的,同样F5,找到偏移量

image.png

eax+4,来来程序员计算器试一下就行了,奇了怪了,是不是,这个居然还是一样等同,但是这个数据却犯了一个天大的错误

这是两个数据点出来的界面

image.png

尼玛返回的值都不一样是成心要被我淘汰???也就是说一个数据里传递的结果必须是一样的,如果两个不同就应当排除,这是第二种方式,淘汰,刚才的计算器相加是第一种,用这两种全部都可以筛选出来

好的,下一步就是再进行搜索二进制的值,肯定选择正确的那个得到的值去筛选

image.png正确的值是02910A00,记得点New Scan

不过大家可要看见,这里出现了绿色的,激不激动,绿色的很可能是基址了

image.png

直接全部给我拉下来(如果这些基址都不对,那么狠可能是个三级偏移,你看到没搜出来的数据有很多,排除起来可就麻烦了,赶紧祈祷是二级偏移吧)

image.png

我再多做了个备注,好的记住这些基址哈,我们添加指针验证

image.png

双击基址1的那段address

image.png

把这段值全选复制OK?

image.png

image.png

这里点击Pointer意为要选择指针偏转型

image.png

假设我们刚才的那个就是真基址,那么我们一共两次翻到了绿色基址,所以呢所以呢,是二级偏移,也就要两个

image.png

ADD是添加偏移 Rrmove是删除偏移,需不需要我教?

image.png

第一偏移5560对吧,第二次768对吧,最下面那里写刚才复制的点击OK要不要教?

image.png

巧不巧,这里居然显示50?50是什么???

image.png

很好这很可能是二级偏移,我们重启游戏看一下,重启游戏记得重新载入进程

image.png

欲儿翻译:是否保存下方添加的列表

赶紧点击yes老子今天写这个教程用了一集知否知否的时间

image.png

好的,看见没,重新开游戏,重新载入进程,居然还是扫描到了阳光数,那么这个是真基址了,其他三个绿色是不是真基址,你自己试试,但是我要给你强调,基址是这个

image.png

不是刚才复制的那个值,OK下一期教程,会在C++修行里面更新,体验C++写数据注入外挂

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论