oicq414121 发表于 2017-9-27 12:09:15

《猎天》第一课——准备工作与需求分析(图文)

   各位爱好游戏逆向的朋友,大家好!在接下来的一段时间里,我们将为大家分享这套游戏《猎天》的免费基础教程,《猎天》的数据相对来算并不是很简单,之所以选择这个游戏,主要是因为这个游戏没有附加驱动保护,游戏内的VM代码也相对较少,比较适合初学者来练习和提高。在这里我也给初学者朋友一些建议。学习这套教程前大家可以先学习下任鸟飞或者郁金香老师基础教程,大概20课左右,可以对逆向有一个初步的了解,不至于在学习这套课程时觉得特别吃力。学习逆向本就是一个很累很枯燥的过程,这和我们学生时代的学习完全是两个概念,学习数理化,你考60分和考100分都能上大学,只是大学的档次不同,可是学习逆向你考60分将意味着你有一半的东西没学会,带着这点不完整的知识,你可能一分钱赚不到。所以大家一定要端正态度,要有我要考第一的决心,才可能学会、学好逆向。定力不够的朋友可以找一两个志同道合的朋友一起学,互相监督,互相督促,一个人偷懒,另一个人帮助他勤奋起来。想要解放双手,做到高度的人工智能,我们需要大量的数据作为基础。正所谓“磨刀不误砍柴工”,在开始数据分析之前,我们需要先做一个需求分析,尽可能细致的分析出我们都需要哪些数据,当然在代码编写过程中可能会发现遗漏,不过那样也比边分析边写代要高效的多。因为是rpg游戏,所以我们首先要分析的是自身角色的信息血量,蓝量,怒气,这些可消耗和补给的数据需要当前值和最大值。角色的经验,等级,职业,xyz坐标,所在的地图,区域,这些都是比较通用的数据。接下来就是背包的相关信息,背包物品的名字,ID,类型,位置,数量,是否绑定,这些是比较常用的数据,还有些基本属性,比如攻击,力量等就不是必要的了,可以先不去分析。通常情况下,金币,点卷,背包格数等会存放在物品信息附近。然后是NPC的相关数据。我们把任务和功能Npc以及怪物统称为NPC,他们一般同其他玩家在同一遍历下,很多游戏也会将角色对象也挂在这个遍历下。为了交接任务和买卖物品,我们需要NPC的名字,坐标(这个一般写在脚本里),ID。为了打怪,需要怪物的血量,坐标,ID,类型,死亡状态,归属等,后两种一般用血量判断。打怪自然需要技能,所以我们还需要技能遍历,技能名字,等级,ID冷却时间或者冷却标志。做任务的话需要任务遍历,任务名字,ID,任务目标,任务需求数量,完成判断。可接任务,已接任务,已完成任务,三者能判断其中两个即可。任务遍历一般都是数据中比较难的,所以分析要有耐心,多尝试不同的方法。地面物品也是数据的一个难点,需要找到物品名字,ID,坐标,还有些颜色,等级等用来筛选的数据。其他的遍历,比如地图遍历,角色遍历,商店遍历,都可以用到时再分析,不是必需的。基础数据分析完后,就是功能函数了,也就是我们所说的CALL。那么首先,我们要找的就是明文包的位置,这是顺利找出大部分功能的必要条件。其他的CALL我们可以在做任务时逐个去找,做了哪些动作就找那些CALL。这样,做完前面的一些任务,我们就能搞定绝大部分的功能函数,还有个别的,可以写脚本时遇到再分析。准备工作我们就做这些,下节课我们将从角色血量开始,去完成《猎天》的数据分析。

页: [1]
查看完整版本: 《猎天》第一课——准备工作与需求分析(图文)