搞清楚之后,你就可以按照游戏的程序语法修改数据,然后再按照游戏的加密规则重新打包,发给游戏服务器。
这样一来,游戏服务器就会把你修改过的数据包,当作正常游戏数据包接收,并按照你修改过的数据反馈结果。
举个栗子:你抓到了游戏中关于战斗结果的数据包,破解之后,发现里面有两组数据,一组代表战斗胜利,一组代表战斗失败。
这时,你就可以把代表战斗失败的数据修改为代表战斗胜利的数据,然后发给游戏服务器。
这样一来,原本失败的一场战斗就变成了胜利,并且你还能得到战斗胜利的奖励。
到这里,你就成功地修改了游戏数据。
当然,实际操作当中,修改游戏数据没这么简单。游戏程序往往对一种结果,设定非常复杂的判定条件。
比如,判断一场战斗结果是否胜利,不仅仅依靠一个代表胜利还是失败的字符串,同时还要判断双方的兵力对比,作战方式,其他能够影响战斗结果的因素等等。
游戏数据修改,往往是牵一发而动全身,想要修改一项数据,就要找到所有相关数据,同时修改。
否则,要么是修改的数据服务器不认可;要么就是服务器向维护人员告警,提醒数据异常,然后被维护人员发现封号处理。
总之,这事没那么容易。
周成安成功抓到了数据包,但是卡在“破解”这个环节就进行不下去了。
他尝试了很多种方法,换了很多工具。在刘明辉看来,他的破解水平确实比自己要高。但他始终无法攻破数据包的“壳”。
到后来,他脸上的汗都下来了。
刘明辉问他:“怎么样了?”
他颓然的说道:“不行了,您这个游戏加密技术太高,我试了各种办法,返回的数据都是无法辨识,我解不开。”
刘明辉安慰他说:“没关系,就到这里吧。”
周成安问道:“我这次面试,是不是失败了?”
刘明辉说:“你的编程能力还是可以的,加密这一块有待提高。但是你不用灰心,先回去等通知吧,9月1号之前我们会联系你的。”
“好吧。”周成安收拾好东西。