游戏安全实验室 首页 游戏漏洞 查看内容

【游戏漏洞】《天涯明月刀》朝向分析

发布于:2017-12-21 09:54   |    193605次阅读 作者: 外部投稿    |   原作者: 外部投稿

近些年,随着3D游戏的发展,无锁定的游戏模式应用的越来越广泛,尤其是像《天涯明月刀》这类的武侠题材的游戏,应用了无锁定模式后使游戏的可玩性更高,技能效果更加唯美。那么对于外挂作者来说新的问题出现了,如何通过内存来角色实现技能的释放,代码逻辑上的要求也提高了很多。接下来我们分析技能释放中最重要的朝向值。

《天涯明月刀》这样一款细腻而又大气的3D游戏,对朝向的设定也相对复杂一些,最重要的3个朝向值分别是角色朝向,技能朝向,视角朝向。其实对于玩家来说这3个朝向值都是随着操作去改变的,少了哪一个都会让游戏的体验大打折扣或者无法继续进行,而对于外挂来说,只要找到技能朝向就可以了。顾名思义,角色朝向指的是角色本身面向的方向,技能朝向是释放技能的时候技能释放的方向,而视角朝向则是我们从哪一个角度看我们自己的角色。往往改变了技能朝向后,随着技能的释放,角色朝向也会随之改变。

首先通过CE进行搜索,因为朝向是一个精确度很高的数值,所以我们选择float搜索未知初始值,然后通过不断的改变朝向来过滤,最终得到了200多个结果(如图)

分别改变这些值,发现了一个可以改变角色朝向的值,在OD中下访问断点,角色转向游戏断下(如图)

继续分析到头部执行到返回以后得到了偏移0xFC(如图)

继续分析后我们可以得到较多层偏移,最终的公式如下

[[[[基地址]+80]+10+0FC]+0A0]+0D4 X朝向

 [[[[基地址]+80]+10+0FC]+0A0]+0D8       Y朝向

(具体的逆向过程这里不做过多叙述,由于游戏版本较低,部分偏移可能与实际偏移有偏差)最终我们的得到的朝向值范围是从[-1,1],而朝向值分为X和Y,技能朝向在角色朝向附近,可以很轻易发现。

几种常见的朝向值如下

1.   从-1到1      

2.   从-π到π  或者从0到2π

3.   从0到360

4.   其他程序员自定义朝向值

朝向值在数据中的表现形式也分多种,常见的如下

1.   以一个值会变动的内存地址同时表现XY朝向,以单独的内存地址表现Z朝向

2.   分别以单独内存地址分别表现XYZ朝向 (比如狩猎朝向)

这样我们的朝向就分析完了,在写代码的时候还需要注意很多的细节,比如角色和技能朝向最好同时改写;打怪时要考虑到角色和怪物相向运动时相遇的坐标点,防止走的过远导致技能朝向变为反向等等。

 



来源:外部投稿

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

分享到:
踩0 赞1

收藏

下一篇:【游戏漏洞】《流放之路》明文协议及加密分析

相关阅读
最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部