骑龟赛跑 发表于 2018-12-12 11:56

【 CE游戏破解 】『CS1.6』多级指针的查找方法(第07集)

本帖最后由 骑龟赛跑 于 2018-12-12 12:12 编辑

基础要求,1.要去过超市,用过存储柜.
               2.要理解下面的故事.


故事是这样的,我让一个同学去XX超市帮我拿回我放在储物柜里的乌龟.我给了他一把带编号"136"的钥匙.
他去了之后打开136的储物柜,发现没有乌龟,只有一把钥匙,编号是"245".
如果是你,你会怎么做?

如果你知道怎么做了,那么你就可以继续往下学习了.


【CS游戏破解】『无限子弹无限钱无限血』人人都能破解CS(第01集)
【CS游戏破解】『无限子弹无限钱无限血』OD寻找真实基址改(第02集)
【CS游戏破解】『不掉血』CE修改不死战神(第03集)
【CS游戏破解】『不掉血』『CE代码注入』修改不死战神(第04集)
【CE游戏破解】代码注入,特征码使用(第05集)
【CE游戏破解】『冰封王座』金币/木材/人口修改(绝对新手版)(第06集)
【 CE游戏破解 】『CS1.6』多级指针的查找方法(第07集)











先搜索一次金额800.


通过购买一组子弹,发生金额改变后,改变数值内容,再一次扫描

得出两个地址,其中有个是绿色的(也就是我们说的基址)


选择这两个地址,点击箭头标志,加入到CT列表中


修改金额


购买一组20元子弹,发现直接减了1020元,说明这只是个显示金额的地址,不是我们要找的.


删除这个项


我们来修改唯一剩下地址数值,再购买一下子弹,看一下金额.正是我们要找的地址,我们把他命名为柜A.



那么,接下来我们查找谁存储了这块柜A.Hex勾上,输入这个地址值.点击查询

结果为0


这时候可以怀疑,这个柜A地址是通过地址+偏移来存储的.
我们来看看是谁修改了这个柜A所存放的值.右键,找出改写这个地址的代码


再购买一组子弹.得到这一条操作语句,可以看见,这个柜A是通过ESI的值+1CC来进行保存的.
那么我们可以断定,ESI是我们要找的地址,看看是谁存储了这个地址.点击"详细信息".(小插曲:游戏刷新了,导致我原来的柜A("052415DC"),现在改为"252216AC",通过上面的步骤重新找到的).


可以看到esi是"252214E0"


那么我们来查找看,是谁存储了这个地址
首次扫描,Hex勾选,"252214E0"


有16个之多,而且都是黑色的,说明还不是基址


然后通过游戏里面"H"键,改变地图,来找到这个地址.

现在柜A的数值发生了变化,不再是存放金钱了.
我们保存处这些改变了的地址,然后重新查找柜A,来与之比较.
选择这些改变了的,因为我们的柜A确实变了,所以这些改变的极有可能是现在最新的柜A地址.00000000的就肯定不是了,他都没存放数值.



重新查询柜A



根据前面的查询,我们知道,黑色的这个是柜A.我们把他加入CT列表

然后再来看一下他的ESI+1CC的地址.


看到了这个ESI的值是"1DB01578"



看CT列表中,"07121BF8"存放的正是这个ESI的值
其他的可以删除了.只留下现在的柜A和这条"07121BF8"


我们把他命名为柜B



这样看你们也许看不出来,那么我以指针的方式来让你们理解这个柜B.


勾选"指针",基址输入柜B的地址,偏移输入1CC.这时候你可以直接看到了金额.



这样就是柜B的表示



那么我们知道柜B也是黑色的地址,也不是基址,那么同样,我们用刚才的方法找出谁存放了柜B地址.
结果查询出来也是0,那么我们又一次肯定,他是以地址+偏移的方式存放.

我们来看一下,是谁访问了这个地址,这次是查找"访问的"


谁访问了该指针.


然后会出现N多一直访问的,计数一直在增长.

下面我们购买一组子弹看一下.然后新增了这一些访问.那么这些应该就是我们的操作引起的.我们来观察一下他们的区别


都是"地址+7C",说明我们需要得到这个地址就是了.






这时你发现,4条语句,eax,ebp,ecx的值都是"07121B7C".
那么这个就是我们要找的地址.我们叫他柜C.指针表示法就是这样.



接下来我们找一下谁存储了这个柜C"07121B7C".发现有这么多个绿色的.这些都是基址了



把他们添加进入CT表


双击"地址",你会发现,都是以文件名+偏移的地址



游戏里,更换地图,看一下这些基址的变化,根据柜A的值变化,来确定这些基址.
柜A还是显示金额.所以把其他改变数值的基址都删了.不是我们要找的.只有"1D347030"是.



然后多次更换地图,以及关闭游戏再开启.来确定这个基址的准确性


最终的基址表示法是这样的



用图表示就是这样的



                         喜欢的话,希望能收到你们的【免费评分】.

gunxsword 发表于 2018-12-12 15:27

指出楼主的两个小问题
1.按楼主这样的找法,第一次时就应该直接到,直接继续跟就好了,也没几个地址,不用这么折腾,也许楼主是想让新手更容易理解吧
2.最终填指针时,那个基址,应该用模块+偏移的方式写入,这样当模块加载地址变的时候,这个基址也是有效的,你直接填地址的话,会有失效的可能
另外在这里说一点,有时候,绿色的不一定可用,像这种DLL+偏移的,你要看他是哪个DLL,有时会跑到(64位系统的话)WOW中去,这个,不能用!

教程流程还是很清楚的,期待更多的好文!感谢分享!

liuge22 发表于 2018-12-12 12:25

好帖赞赞赞

夜微凉 发表于 2018-12-12 12:31

6666大佬厉害,很详细

理工小鸟 发表于 2018-12-12 12:34

犀利!!还能这么玩

吾爱大宝剑 发表于 2018-12-12 12:45

感谢大哥指点,我对CE的学习又成长了一步

xx2014 发表于 2018-12-12 12:50

去找下荒野的吧,8级偏移

骑龟赛跑 发表于 2018-12-12 12:58

xx2014 发表于 2018-12-12 12:50
去找下荒野的吧,8级偏移

方法对了. 多级都不是问题了:lol

||| 发表于 2018-12-12 13:01

牛逼了。我以前不行 来看看你的方法。。

youxi80 发表于 2018-12-12 13:39

所以小乌龟最后找到了吗

Titanic 发表于 2018-12-12 14:19

本帖最后由 158563862 于 2018-12-12 14:21 编辑

基础要求,1.要去过超市,用过存储柜.
               2.要理解下面的故事.


故事是这样的,我让一个同学去XX超市帮我拿回我放在储物柜里的乌龟.我给了他一把带编号"136"的钥匙.
他去了之后打开136的储物柜,发现没有乌龟,只有一把钥匙,编号是"245".
如果是你,你会怎么做?

撬锁

或者找柜台小姐姐

换柜子

总不能把现有的钥匙变成245的吧。
页: [1] 2 3 4 5 6 7
查看完整版本: 【 CE游戏破解 】『CS1.6』多级指针的查找方法(第07集)