免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
本次游戏没法给
内容参考于:微尘网络安全
本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。
工具下载:
链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3
提取码:6tw3
复制这段内容后打开百度网盘手机App,操作更方便哦
上一个内容:47.第二阶段x86游戏实战2-解决窗口获取到焦点会发送数据包的问题
上一个内容里准备本次的内容,但是发现游戏添加了一个窗口获取焦点就发送数据包的机制,所以上一个内容里就写了如何绕过这种机制
首先打怪的操作
1.使用鼠标左键单击怪物角色会走过去,然后打怪
2.使用鼠标右键单击怪物选中怪物,然后按技能,然后如果是近程技能就走过去打怪,如果是远程就走到远程攻击范围然后打怪
然后怎么找?找的方式是在明文包位置触发打怪,然后一层一层的往上反,一直反倒没法反了位置(没法反的原因可能是循环),这样就可以找到鼠标点击的call了,有了思路就开始找
首先在下图红框位置下条件断点,条件是 [[esp]]!=0x0553,也就是把心跳(点击游戏窗口发送的数据包)排除
下好断点之后,进入游戏进行打怪,这里要注意下断点之前记得先走到怪物身边,这样可以方式断点被寻路触发,如下图通过打怪触发断点
取消断点,然后按CTRL+F9
CTRL+F9之后,来到下图,这里是上一个内容找的第三层心跳位置,也就是最早找到明文包的位置
CTRL+F9之后,来到下图位置,从下图位置开始就进入了鼠标单击怪物打怪的流程了
继续CTRL+F9
继续CTRL+F9
继续CTRL+F9
继续CTRL+F9
继续CTRL+F9
继续CTRL+F9
到了第八层再按CTRL+F9代码就跑起来了,没再断了,这说明鼠标单击怪物已完成,然后鼠标点击call就在这8层当中了,然后可以开始分析了
首先来到第4层,怎么去第4层?单击下图红框位置
然后就可以看到一路写的注释了,然后找到打怪44鼠标左键双击它就可以来到第4层了
然后来到第4层之后设置断点
然后发现第4层只要鼠标一点击游戏界面就会触发断点,所以进入第3层试试
然后来到第三层,如下图,然后发现第三层走路就会断,所以再进入第2层看看
然后到了第2层发现只有单击怪物的时候才会断,所以现在找到了鼠标单击打怪的call,然后观察它的入参
然后它的入参有两个,第一个参数是0x13B,第二个入参是0
然后换了一个怪物它的入参是,第一个参数是0x60,第二个入参是0,现在猜测第一个参数是附近怪物的id
然后这里会发现实际上鼠标call是第三层,上方可以看到第二层它就一个怪物id和0没别的了,它是打怪的call不是鼠标单击的call,所以第三层的call才是理想的,所以来到第三层观察它的参数,然后第三层也比较靠外可以有效防止被封禁账号,下图来到第三层,然后第三层只有鼠标点击场景的地面才会触发断点,其它按钮(比如打开背包、点击技能图标释放技能、小地图寻路)不会触发
然后通过观察第二层的ret位置发现第三层它的参数只有一个,如下图
然后它参数是一个0000FFFF,还有坐标
坐标需要用浮点数观察
如下图红框很明显的可以看出它是坐标,所以只需要再伪造一个eax就可以调用了
然后再看ecx的值,ecx的值看不出什么东西,然后接下来要进入第二层头部观察了
进入第二层之前发现,ecx和esi+0x60的值都来自于上方的0x155BEF4这个基址,所以进入第二层之前先把这个基址的特征码复制出来
复制完特征码之后,在下图位置打断点,然后使用打怪触发断点
取消断点,然后按F7
然后按完F7一进去就看到了下图红框位置,一个switch结构
如下图红框通过上图一路按F8走到的,然后它的,通过入参可以正面它是寻路call
寻路的call通过下图红框的基址就可以得到,入参就伪造一个坐标应该就可以了
寻路时的eax的值是0
然后使用打怪触发,它的eax的值是2
开箱子的eax是6
开箱子的call
然后上方第三层是通过走路触发的断点接下来再使用打怪触发一下看看它的入参,发现一个是附近怪物id,一个是一个内存地址,这个内存地址现在不知道是什么,本次先到这里下次再来看这个内存地址是什么