这次来的是一位男生,名叫周成宇,应聘的是编程工作。
刘明辉提问他几个问题,又测试一下他的编程能力,觉得他还算专业,可以录取。
这时,刘明辉又发现他简历上写的另一项内容,问他:“你还懂数据加密,是吗?”
周成宇说:“我对这块一直比较感兴趣,专门学过一段时间。”
刘明辉又说:“懂加密的一般都懂破解,那么你也会破解了?”
周承宇笑笑,谦(z)虚(bi)地说:“略懂一二。”
“好,那这样,我们的游戏就经过加密。”刘明辉说,“你现在抓个包,试试破解一下。”
以前,刘明辉自己就曾试着破解《热血三国》的加密程序,没有成功。但他不是这个专业的,破解能力仅限于会用一些工具,水平比较一般。
今天既然来了一个自称会破解的,那就让他试试,顺便考验一下游戏的防御力。
周承宇跃跃欲试的说:“没问题,我可以试一下。我能用自己的笔记本吗?”
“可以。”刘明辉扯了一根网线给他。
刘明辉家里有两条通信网络。
一条是光纤通讯,连接到机柜上,通过防火墙、交换机和服务器组成一套局域网,用来做游戏的运行,测试和维护,可以算是他们自己的一个小型数据中心。并且通过vpn通道,和新浪的数据中心相连接。
另一条是普通的家庭宽带,平时上网用的。
刘明辉给他的,就是普通家庭宽带。
周成宇打开自己的笔记本电脑,接上网线,按照刘明辉的指点,注册游戏账号,登录游戏,然后调出抓包工具监测端口的数据通信,准备抓包。
玩家在登录游戏后,玩家的电脑和游戏服务器之间的通信,是以数据包的形式进行的。想要破解并修改游戏数据,第一步就是抓取通信数据包,行话叫“抓包”。
抓到数据包之后,因为数据包一般都是经过加密的,所以要对它进行破解。
破解了数据包的加密规则,解开数据包之后,就会得到真正的游戏数据。
下一步,还要对游戏数据的程序语法进行辨认和翻译。说白了,就是你要搞清楚,破解后得到的游戏数据是什么内容,干什么用的?
搞清楚之后,你就可以按照游戏的程序语法修改数据,然后再按照游戏的加密规则重新打包,发给游戏服务器。
这样一来,游戏服务器就会把你修改过的数据包,当作正常游戏数据包接收,并按照你修改过的数据反馈结果。
举个栗子:你抓到了游戏中关于战斗结果的数据包,破解之后,发现里面有两组数据,一组代表战斗胜利,一组代表战斗失败。
这时,你就可以把代表战斗失败的数据修改为代表战斗胜利的数据,然后发给游戏服务器。
这样一来,原本失败的一场战斗就变成了胜利,并且你还能得到战斗胜利的奖励。
到这里,你就成功地修改了游戏数据。
当然,实际操作当中,修改游戏数据没这么简单。游戏程序往往对一种结果,设定非常复杂的判定条件。
比如,判断一场战斗结果是否胜利,不仅仅依靠一个代表胜利还是失败的字符串,同时还要判断双方的兵力对比,作战方式,其他能够影响战斗结果的因素等等。
游戏数据修改,往往是牵一发而动全身,想要修改一项数据,就要找到所有相关数据,同时修改。
否则,要么是修改的数据服务器不认可;要么就是服务器向维护人员告警,提醒数据异常,然后被维护人员发现封号处理。
总之,这事没那么容易。
周成安成功抓到了数据包,但是卡在“破解”这个环节就进行不下去了。
他尝试了很多种方法,换了很多工具。在刘明辉看来,他的破解水平确实比自己要高。但他始终无法攻破数据包的“壳”。
到后来,他脸上的汗都下来了。
刘明辉问他:“怎么样了?”
他颓然的说道:“不行了,您这个游戏加密技术太高,我试了各种办法,返回的数据都是无法辨识,我解不开。”
刘明辉安慰他说:“没关系,就到这里吧。”
周成安问道:“我这次面试,是不是失败了?”
刘明辉说:“你的编程能力还是可以的,加密这一块有待提高。但是你不用灰心,先回去等通知吧,9月1号之前我们会联系你的。”
“好吧。”周成安收拾好东西。
出门之前,他又依依不舍的问道:“这个加密程序是你们哪位做的?我以后能不能向你们请教?”
刘明辉笑了,说道:“做加密的人不在这儿,能不能请教,等以后再说。”
“好吧,再见。”周成安说完离开了。
周明凯好奇的问刘明辉:“你当初找谁做的数据加密,看起来那个人技术很高啊。”
刘明辉说:“是马强介绍的,我也没见到人。据他说,这个人以前曾是一名黑客,现在是在一家网络安全公司做技术顾问,水平应该是很可以的。”
周明凯说:“这样的高手,要能来我们公司就好了。”跟着他又自嘲的说:“算了,怎么可能?”
刘明辉哈哈一笑,说:“现在不可能,以后谁知道呢?”
之后又有一个男生上门应聘,也是一名程序员。
不过这位的水平比较一般,他没有上过专业的学校,而是在软件培训机构接受的培训。培