数据分析之游戏内关键数据分析

Posted NoThx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析之游戏内关键数据分析相关的知识,希望对你有一定的参考价值。

根据相关性的数据分析

游戏内的数据各种各样,获取的方式和方法也各有不同,本文主要介绍通过相关性的分析方法。

什么是游戏的相关性?

什么是游戏的相关性,作为一个分析的“侦探”那么游戏的相关性也就是线索,熟悉游戏的相关性的“心法”就可以快速和正确选择分析的切入点。本文主要通过找到LOL游戏中角色金币,进而演示。(“基础篇”演示直接找到角色金币逻辑,“进阶篇”中将会演示如何通过金币的和交易逻辑的相关性找到角色的装备)。

技术分享图片

 

一、基础篇

分析步骤:(详细讲一下Cheat Engine的基本操作,后续相关操作将略过)

 (1)选定第一个装备栏位置作为基础装备栏,如图选定的是第一个装备栏并且设置为空。

 (2)打开cheatengine-x86_64.exe,双击选择"League of Legends.exe"进程。

技术分享图片

技术分享图片

(3)由于角色当前金币为725,Value 输入 700(比角色当前金币少),Scan type 选择Bigger than..。然后点击“Frist Scan”按钮。如下所示:(为什么要按照浮点数来搜索原因是整型搜索不到^ ^)

技术分享图片

(4)回到游戏这个时候角色的金币为1175,Value 输入 1200(比角色当前金币多),Scan type 选择Samller than..。然后点击“Frist Scan”按钮。如下所示: 

技术分享图片

(5)重复(3)到(4)步骤,就可以得到我们想要的数据“金币”,如下所示,这里有2个搜索的都是我们的金币值 1344,这个时候可以选择移动至观察,选中一个进行测试。

技术分享图片

(6)测试的结果在锁定第一个值,0x37FAADEC的值可以看到金币被修改了。第二个值测试无效。哈哈,那么0x37FAADEC就是我们要的金币了。

技术分享图片

 

二、进阶篇

   本文主要体现如何根据游戏相关性进行关键数据的分析,再到游戏购买装备的逻辑,接下来演示如何基于角色金币,找到角色的装备列表:

二、进阶篇

   本文主要体现如何根据游戏相关性的进行关键数据的分析,在到游戏购买装备的逻辑,接下来演示如何基于角色金币,找到角色的装备列表:

  (1)角色金币找到购买装备的价格。在游戏逻辑中角色购买装备时候判断角色的金币和物品的价格,所以在这个思考方向我们就可以找到购买装备的价格。

如下所示,在购买物品的时候,我们就可以感知到当前物品的价格:

技术分享图片

 (2)获取购买装备的ID,在购买装备的逻辑,除了判断角色金币之外,游戏中道具在购买时候就会有数量的限制,如下所示。

技术分享图片

那么游戏中判断角色持有物品数据量,是通过物品ID找到的,如下所示:

技术分享图片

我们在购买装备的时候就可以获取得到购买装备的ID以及装备的最大数量。如果有2瓶药水,我们尝试购买过后记录Log如下所示:

技术分享图片

点击购买药水:

技术分享图片

 

(3)获取玩家装备列表,游戏在判断玩家身上的装备ID的时候,需要遍历装备列表,那么我们通过此逻辑即可获取的角色当前的装备列表。

技术分享图片

 

(4)最后我们写个demo遍历角色装备:技术分享图片

 

总结

    本文通过分析游戏金币对象的获取,演示如何通过金币作为游戏数据的切人点来分析到游戏相关逻辑。整体来说分析过程是需要对游戏逻辑进行分析,也就是从各个小的逻辑点,再到游戏整体的脉络,不断积累过程。当然在刚接触到一个游戏进行分析的时,对于游戏逻辑不了解,也许只能用“基础篇”中提到的方法来了解游戏一些基础的逻辑点,但是在获取得到具体的逻辑点过后,需要进一步思考如何去拓展游戏逻辑的脉络,例如,本文提到的通过角色金币和购买装备逻辑的相关性找到装备列表等关键信息。“侦探”们领会了游戏相关性的“心法"可以去破案了~

 

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

以上是关于数据分析之游戏内关键数据分析的主要内容,如果未能解决你的问题,请参考以下文章

数据结构之查找基本概念

Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )

基于JAVA平台游戏之小坦克

大话数据结构9之排序

Flash性能——游戏性能优化

数据结构与算法之深入解析“自由之路”的求解思路与算法示例