第二卷 SOUL 第五十九章 殖入DDoS攻击到玩家端

  胡凯山说:「停机,回溯到备份状态,韩方一天不修好,我们就只能这样。」

  常继德问:「对方是有绝对意图要破坏的,是否要报警处理?」

  胡凯山说:「好,报警,但是你要我们交什么数据给警察?」

  常继德说:「这....我们的确没办法分辨到底是谁在修改物品。这套程式在运作中我们无法从系统监控,韩方并没有打算公开这部分的程式给我们,而当我们停机检查数据库的同时,成千上万的玩家早已包包一堆道具了。」

  胡凯山说:「先回溯吧,回溯好就开机,然后开两个小时后停机,再检查持有数量过于庞大的玩家,把他们通通停用户名并将数据交给警方处理。」

  常继德弯腰鞠躬说:「是,我知道了!」

  胡凯山转身要离开,但随即停住转回头说:「你最好知道自己要做些什么,最好快点把潜在的隐忧都找出来,不要老是后知后觉然后两手一摊!」说完便离开。

  常继德命令手下开始执行磁带备份回溯计划,自己则坐在椅子上思考。

  「为什么?」常继德摸著额头自言自语:「怎么会这样?该不该把这里发生的事告诉卡特上司?不过,任务都已经完成了,我应该也没必要继续待在这里了。但是,一直留在 MSOG 也没什么前途,好不容易有这么个机会当工程师...」

  「不好了!」通讯无线电传来常继德手下急切的声音:「常先生,请您快点到机房里来看一看,出状况了!」

  常继德冲到机房问:「到底发生了什么事?为什么你们这么惊荒?」

  手下说:「我们刚刚将磁带备份回硬盘中,却发现磁带机固障、卡带状况连连,甚至第二第五第六服务器的备份数据带有毁损状况,根本无法正常回溯!」

  常继德说:「你们先回溯可以正常回溯的服务器,快去动作。」

  手下说:「知道了!」随即针对正常的带子先进行回溯。

  常继德跑去找胡凯山说:「董事长,我们的磁带出了严重问题,磁带毁了!」

  胡凯山站起来问:「怎么会发生这种事情呢?到底怎么回事?」

  常继德说:「我们的磁带品质太烂,状况不断,恐怕无法完全回溯了。」

  胡凯山抱头倒在椅子上说:「怎么会这样,早知道会这样我就不贪便宜了。」

  常继德问:「董事长,目前可以用的磁带机还有,但是有这么多带子根本无法使用,这样下去开机之后某些服务器一定会发生更严重玩家抗议状况的!」

  胡凯山头痛的说:「这样不行,绝对不能什么都不处理就开机。」

  常继德问:「不如那些有问题的服务器回溯到更久之前的数据带?」

  胡凯山点头...........................

  而在台北极光里,众人并没有因为停机就停止动作。

  简德昌说:「快点,基本的核心程式已经写出来了,现在我们需要的,就是将这些解析出来的封包格式按照规格写成不断 Request。」

  由于停机,对玩家而言,在开放服务后即使出现下载修正档案,也是很自然的,不会有玩家怀疑的。正因为如此,不知道短期之内还会不会有这样的机会,极光里帮忙进行 DDoS 任务的人都战战兢兢,力求在游戏服务器开机之前把主体程式写后,并且随时侦测游戏服务器是否开机。一旦开机完成,就要马上测试DDoS档案的作用,并且确认有效之后就要置入服务器中供玩家下载。

  「这真是一个赌注!」简德昌看著努力写程式的所有人心想:「必需确认DDoS的程式码能够正确附在更新档案上运作!除此之外,要是天泉更新的档案中并没有绝对会被呼叫来使用的档案,那么 DDoS 就白写了。」

  一名极光成员说:「简医生,相同功能的程式码我们总够使用了五种写法,经过我们殖入 soul 程式中五种不一样的链接函式内,都不会造成档案出现错误。我们将内存位置区隔在不同的地方,以避免干扰到 soul 主程式运作与定址。」

  简德昌看了看问:「你们估计这五种写法可以应付多少种被呼交的档案类型?不,你们还是要百分比讲好了,这样比较能判断。」

  云飞拿著分析表说:「我们预测,扣除声音档、图档、模组档等跟主程式运作无关的部分,约有 79% 的档案是可以被殖入这段程式码的。其中若是动态链接程式库,也就是 DLL 档,只要被呼叫到的档案,不论执行任何函式,都会附带执行我们的 DDoS 程式码。」

  简德昌心想:「殖入成功率 79%...」但想起 DLL 便问:「等等,你们的意思是,假如将 DDoS 程式码附在 DLL 档里便绝对可以执行?」

  云飞点头说:「我想是的,因为我们检视了几个 DLL 档,发现他们呼叫外部函式都是用相同的呼叫法。假设有三个函式 X01 到 X03 在同一个 DLL 档中,都会先呼叫档案的第一段程式,再由第一段程式传送参数,然后执行副程式含式,最后再将回传值传回。因此,我们只要将 DDoS 攻击码写入档案的第一段程式,便能在被呼叫的同时执行。」

  简德昌说:「但是...这同样需要主程式呼叫 DLL 档。」

  另一个极光成员说:「在我们之前的测试发现,玩家端游戏档案中有 63% 的 DLL 档会在玩家登入游戏完成后被呼叫到,在移动鼠标或输入键盘等玩家主动操作动作执行后,呼叫率增加到 68%,若开启背包或银行仓库等物品存放功能之时呼叫率增加到 84%,再进行一些攻击损伤动作后增加到 97%。」

  简德昌看著列表说:「嗯,这么看来,DDoS 攻击码置入 DLL 档确实是最佳的选择。而且,在程式头个区段预留了足够的空间,不需要将程式码分散到其他区段去,是最保险的做法。好,如果等一下有更新到 DLL 档的话,就以 DLL 档为优先!如果没有的话,再去判断另外四种方法。全员请继续加油完成!」

  「知道了!」极光内所有参与任务的人士气高昂!

  「不错嘛!」任逍遥巡视执行各种不同任务的区域,看见简德昌便说:「你们运作 DDoS 的人还满有精神的嘛!如何了?」

  简德昌说:「已经完成的差不多了,剩下的就是确认 DDoS 攻击码能够完全相容于所依附的档案。」

  而跟在任逍遥身旁的宇成跑去问云飞:「如何?辛苦吗?很困难吗?」

  云飞说:「还好!说到困难与辛苦,老实说,比学校的题目要难多了!但是,这里的乐趣也比写学校那些无意义的程式练习题有趣多了!」

  宇成问:「可是你们为什么要确认相容呢?不是只要能执行就好了?」

  云飞说:「病毒码会依附在原始的程式码之上,每个程式或多或少都会在编译后留下一些空间没有使用到,我们的目的就是让 DDoS 攻击码能在不影响原来档案的功能之上。因此就必需编译入空白区域,但又必需保证能被呼叫。」

  宇成痴呆状的说:「我完全不懂你在说什么!反正就是写入能执行就对了吧?」

  云飞说:「你真是...算了!」

  此时郭仑新前来通知:「会长,游戏服务器已经上线了!」

  任逍遥问:「如何?你们完成了吗?」

  简德昌和云飞等人也刚好写好了DDoS攻击的档案,便混入 soul 玩家端游戏程式里试运作,发现攻击上的确没有问题,便开始计划著手放入 soul 更新FTP。

  简德昌说:「现在测试完,没有问题!只要有管道置入更新档内便可。」

  任逍遥便问庄胜哲:「你的木马殖入对方服务器了没有?」

  庄胜哲说:「我已经顺利用天龙系统将木马档案殖入 soul 服务器中,现在已经找到了它们放置更新档的FTP路径为e:soulftp

  ew。」

  任逍遥说:「很好,对了,秦天罡,他们刚刚玩家端更新了那几个档案?」

  秦天罡说:「更新了 soul.exe、soul.bin、play_r01.dll三个档案。」

  简德昌说:「嗯,就我们研究并反译 soul 程式码的结果,play_r01.dll是游戏启动执行后的核心动态链接程式库,是用来做为游戏底层通讯核心用的。把DDoS程式码写进play_r01.dll里,在执行soul.exe后一定会呼叫这个档的。」

  庄胜哲说:「由对方更新这三个档案的情况来看,他们也是知道了我们是利用修改的方法而不是复制的bug,所以想从通讯核心阻止插件的封包。」

  修改过play_r01.dll后,庄胜哲利用天龙系统,与服务器取得port:10700通讯,使用 UDP而非TCP,并将目录转移到玩家更新FTP目录中,把被修改过具有 DDoS 攻击的档案流入 FTP 里,供所有更新的玩家『下载』。

  任逍遥点头说:「很好,你们执行任务配合的很好。现在很晚了,实际的效应也许要等到明天所有玩家更新完,才会知道!」

  带有 DDoS 攻击程式的档案开始被玩家下载...待续

  (幕后画面!简德昌:「每个玩家都进行攻击...果然是『分散』式阻断服务!」)