【游戏漏洞】RPG游戏背包镶嵌系统分析

admin 2022年10月1日20:06:57评论33 views字数 907阅读3分1秒阅读模式

致力于分享游戏安全技术,提供专业的游戏安全资讯   

镶嵌系统是很多3D游戏都有的功能,玩家可以向镶嵌槽内附加宝石来提升装备的属性,这也直接提升了物品的价值。在一些扫拍卖和摆摊的外挂中经常利用这个属性来低价购入高价值装备。以这款游戏为例,我们来对装备上的镶嵌槽和镶嵌宝石进行分析。

一般来说镶嵌方面的属性会存放在背包属性遍历中,于是我们选一个可以可以打孔的装备来分析(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析

 

我们发现物品分为最大的镶嵌槽数量和以及开启的镶嵌槽数量,通过对镶嵌槽进行开启,并观察物品对象中的变化,得出+45为物品已经开启的镶嵌槽数量,下断访问后可以在代码段得到偏移(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析 

对装备上镶嵌一个宝石,再次观察物品对象,发现对象+2C的位置出现了类似于ID的数值,下断点访问后游戏断下(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析 

这里得出的偏移是一个结构大小为2字节的数组,数组的最大成员数量是6,而对WORD型的ID分析,发现这是宝石的ID,在取名字的数组中可以得到名字(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析 

这样我们就得到了镶嵌槽在物品对象下的信息,而最大的镶嵌槽数量并没有在物品属性对象下。由于最大镶嵌槽数量是在物品描述中的,所以我们到物品名字所在的对象下进行观察(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析 

 

+130偏移处的数值为6,和最大镶嵌槽数量相等,对这个数值进行修改,发现装备显示的信息也随着改变(如图)

【游戏漏洞】RPG游戏背包镶嵌系统分析 

这样我们就得到了完整的装备镶嵌信息,公式如下

[[FBDCBC]+物品ID*4]+130物品镶嵌槽上限

[[8E0D18]+0a848+n*4]+2C+m*2装备镶嵌宝石ID  WORD型 m为宝石镶嵌序号  从0开始最大值为装备镶嵌槽数量

[[8E0D18]+0a848+n*4]+44装备镶嵌槽数量 







来源:通化程序员-公众号投稿

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

近期精品文章:


【游戏漏洞】RPG游戏NPC数组链表嵌套结构

【游戏漏洞】棋牌游戏BUG分析之控制其他玩家炮倍

【游戏漏洞】RPG游戏通过选中怪物得到怪物NPC遍历

【游戏漏洞】Dnf游戏漏洞挖掘第4期 全屏秒杀+远程CALL



投稿文章:[email protected]

【游戏漏洞】RPG游戏背包镶嵌系统分析

原文始发于微信公众号(游戏安全实验室):【游戏漏洞】RPG游戏背包镶嵌系统分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月1日20:06:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【游戏漏洞】RPG游戏背包镶嵌系统分析http://cn-sec.com/archives/1066449.html

发表评论

匿名网友 填写信息