20.第二阶段x86游戏实战2-进一步寻找寻路call1

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:19.第二阶段x86游戏实战2-寻找寻路call

上一个内容里通过游戏发送网络数据包的位置往上追,找到了寻路的call,这个寻路的call它要一个ecx,找ecx的过程中发现它是在一个递归循环中,无法找到ecx值的来源,然后通过硬件断点跳到了一个新的位置,本次就接着新的位置继续

打开游戏打开OD并使用OD附加游戏

然后通过对上一个内容中找到的偏移进行相加来到下图位置,通过下图位置对edi+0x130位置的值设置成1从而执行寻路的call

然后打断点

走路触发断点并取消断点

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

CTRL+F9之后

这时等待一段时间发现CTRL+F9还有反应,这时点击下图红框位置让线程重新运行,运行之后再点击下图红框右边的C让OD再回到代码的界面中

重新运行之后会来到下图位置,有的游戏会没反应并不会来到下图位置,它可能会直接让游戏运行起来

然后采用对半查找的方式一共有13层来到xl66层,然后xl66层的断点除了鼠标点击地面触发之外别的操作不会触发,所以往上反找那个往上反一层之后会频繁断位置,然后就来到了xl88位置,打断点看看它是什么情况,xl88位置通过点击地面的方式寻路会触发断点

然后调用下图xl88位置函数需要的东西,如下图红框和蓝框,看着有点复杂,然后进入xl88函数里看看会不会简单点,也就是来到xl77位置

如下图xl77位置就很好用了,它的入参是目的地的坐标是一个内存地址,然后eax来自于ecx,ecx来自于0x1296A10位置,

然后写汇编代码测试,在测试之前需要解决一下坐标的是内存地址的问题,如下图使用OD的插件在游戏中创建一块内存空间

创建完会是下图红框里的样子

然后如下图操作

然后它就会在下图红框里跳转到刚刚创建的内存地址里,也就是数据窗口会跳转到我们刚刚创建的内存地址上,不用上图的操作也可以使用在数据窗口里按CTRL+G 输入内存地址的方式跳转

然后右击选择浮点数

然后点修改

然后在下图红框位置输入一个小数也就是坐标,然后点确定,下图是创建的x坐标(分析多了就能知道了)

然后鼠标单击下图红框位置

然后再右击选择修改,再写一个小数这是y坐标

整完了坐标问题然后写汇编代码测试,可以正常移动

pushad
mov ecx,0x1296A10
mov ecx,[ecx]
mov edx, 0x3610000
push edx
mov eax, [ecx]
mov eax, [eax+0x4C]
call eax
popad

最后计算一下偏移:0x5A6A10

​​​​​​​

调用寻路的位置的偏移如下图:

补充这个游戏,这个游戏它采用多线程,这就导致比如刚开始是通过硬件断点找到的位置,它给一个内存地址设置了1,这就说明一个问题,这个问题是它可能还会在别的位置给别的内存地址也这样设置的数据,也就是说通过多个位置给不同内存地址设置的数据最终组成寻路这个功能,这样的效果就是分析了一个call,它的入参、call的地址、需要的所有东西都正确,但是用这个正确的东西去写汇编模拟调用的时候会发现没有效果,这时候怎么办?解决办法往上找,上方找到的位置是xl77,实际上分析的时候最先分析的是xl66,把xl66的入参、call的位置、需要的东西也都找到了,但是它就是没法用,最终往上一层来到了xl77位置,又分析的xl77位置,通过xl77才能正常的执行让寻路这个功能,所以当遇到调用了没反应,第一步先往上找,如果找不到那就再回到发包的位置看看还缺了什么再通过硬件断点一个一个的找


img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值