【游戏逆向】游戏主线任务需求分析

大部分游戏的主线任务需求都在任务遍历的属性中存放的,而《天涯明月刀》的任务需求与任务遍历是分开存放的。

首先我们搜索任务要求的打怪数量,用DWORD并不能得到任何的结果,于是我们尝试其他的数据类型,发现除了文本型都没有得到打怪数量的结果。于是我们在得到的4个文本型结果中进行筛选和分析(如图)
在这里插入图片描述
在这4个结果中其中第一个结果和另外三个地址相差较大,我们用OD对这个比较特殊的结果下访问断点,游戏很快断下(如图)
在这里插入图片描述
我们继续分析ecx的来源,来源于头部的[edx],执行到返回后得到+13C偏移(如图)
在这里插入图片描述
继续向上分析edi的来源,执行到返回得到来源于[eax](如图)
在这里插入图片描述
而继续向上分析则到了VM的代码段,我们在0531A76D 处下F2断点,得到eax的值为040BDB08(如图)
在这里插入图片描述
这看起来很像是一个基地址,因为之前得到的基地址和这个地址相差不大。

于是我们在这个地址上下硬件访问断点,游戏断到了其他的位置,也得到了基地址040BDB08(如图)
在这里插入图片描述
这样就得到了任务需求的公式[[040BDB08]+13C]

我们数据窗口中跟随这个公式,并用ASCII型查看,发现这里就是主线任务的需求描述(如图)
在这里插入图片描述
由于其中的汉字是UTF-8的,所以并不能正常的显示,而[040BDB08]+140则是描述的结束地址。

接下来我们只需要通过文本分割来将字符串分割开就可以正确的判断任务的需求了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

douluo998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值