72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解

内容参考于:易道云信息技术研究院VIP课

上一个内容:修复角色名与等级显示问题-CSDN博客

项目需求:

在自动化助手的ui界面中,新加一页叫做物品,然后能够实时显示玩家背包中的数据,以及重要属性信息,比如数量、名称等

需求拆解:

游戏中的背包一共有三页

72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解_第1张图片

然后首先就要像背包是一个什么东西,就是假设你要设计这个东西你会怎样去架构背包的这个系统,比如背包设计成一种数组的形式,因为做成数组是很方便的,第一它的数量时固定的,链表是解决数据不固定的问题,而它这个背包是固定的,但也有可能用链表,也有可能用其它更复杂的结构,从开发的角度来讲用数组的可能性是最大的,所以一开始可以先假定它是数组,具体是什么要逆向分析,背包也就是由某个元素构成的集合,也就是说不管是数组也好链表也好都是这样的形式,它里面的元素是什么,元素叫物品,所以除了分析背包以外还要分析物品,物品有名称数量,如下图

72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解_第2张图片

然后耐久度也很重要

72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解_第3张图片

然后在韩国以前的游戏里面比如奇迹和传奇这两款游戏,它们当年都爆发出来一个漏洞,叫物品复制的漏洞,一般在网络卡特定的环境中对于物品的设计上存在问题,它就导致会物品复制,除了这个问题的解决是给每个物品一个id,然后扫描数据库有没有重复的id,复制物品是所有东西都一样,如果看到重复的物品就把重复的给删掉,通过这样的方式来解决复制的问题,到时候看看它有没有这个问题。

需求拆解:

1.分析物品数据属性,还原成C++类(背包肯定有系统性的方法,所以要还原C++)

2.分析物品基址或者基址获取方法

 物品的分析:

通过改变它的属性,来得到,然后如果想要得到背包里的物品,背包的物品是背包里的一个元素,所以它一定会有一个访问的方法,它访问这个元素的时候一定会想办法提供背包的信息,这时就能得到背包的一系列情况。然后就能得到背包里具体的物品。

你可能感兴趣的:(网游逆向,游戏)