友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
富士康小说网 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

黑客无间道-第63部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


    罗杰斯睁开眼睛看了看说话的日本学生,摘下眼镜在自己地西服上擦了擦淡淡的说道:“这么快就编写好了?你不需要修改修改?”
    日本学生摇了摇头:“不用了,我对自己的程序有足够的信心。”
    罗杰斯看了看正在忙碌的欧洲学生,淡淡的笑了笑:“我们等一下这位同学吧,等他地程序编写好了,我们三个程序一起投进虚拟机的内存中并运行,这样节省时间,你也不会输得太难看……”
    听到罗杰斯的话,日本学生的脸色有点难看,但是还是朝着又罗杰斯鞠了一躬,然后坐在计算机前打开自己的程序重新修改了起来。
    围观地学生中当然不乏这方面的高手,他们看了看日本学生重新修改地程序代码,不禁议论纷纷,觉得这个程序经过修改后肯定必败无疑。
    日本学生修改的程序采用了著名地死循环跳转,即跳转自身,这是对抗当中最简单的生存代码,但是这种跳转到自身地程序,自己并没有攻击能力,唯一取胜的方法就是期望对手自己死亡,是一种守株待兔的方法。
    但这个程序设计有一个致命的缺陷,那就是自己在内存中的地址是固定的,它不会跳转,所以程序本体很容易遭到攻击。
    萧云飞仔细看了看日本学生改写的程序,其实他倒不觉得日本学生的程序就真的那么脆弱,这种脆弱只是一种表象而已。
    虽然萧云飞对日本人的看法不怎么样,但是日本人的变通却是令他觉得佩服,从这个日本学生更改的程序就可见一斑。
    因为这个死循环跳转,主要功能在于自保,正是它没有攻击性,所以在多个程序对抗的时候,它就不会容易遭到其他程序的攻击。
    举个例子,比如三个国家打仗,没有结成同盟的可能,其中两个都是超级大国,另一个则是毫无还手之力的小国,两个超级大国肯定最先做的事情就是把与自己实力相当的对手干掉,然后再回过头来收拾这个毫无还手之力的小国。
    历史上生这样的事情不少,不过通常都是这个像小绵羊一样温顺的小国笑到了最后。
    日本学生既然听到罗杰斯要三个程序并运行,他当然要先隐藏自己的实力,等罗杰斯和另一个学生的程序斗得两败俱伤的时候,他的程序再厚积薄。
    通过程序代码,确实可以看出这个日本人有点阴险。
    为什么这么说呢?
    大多数观战的学生都认为日本学生修改程序为死循环跳转,目的是想罗杰斯和另一个学生的程序对抗对,双双死亡,他捡便宜而已。
    但是萧云飞却看到,这个程序中在模块跳转的时候采用了三次调用:调用了程序中一段经过加密的代码;调用复制指令;调用内存数据A、B区轰炸指令!
    三个调用指令在程序中很隐蔽,况且调用的那段加密代码,那肯定不可能没有用途的!
    有了这三个调用指令,这个看起来脆弱得只会送死的程序,变得给人一种神秘莫测的感觉。
第五章 观战
    个程序的健壮性并不在于它的代码有多长,关键是的代码紧不紧凑,调用合不合理,这个日本学生的程序代码比较短小,不过他的代码却显得很精简,通过调用,攻防兼备。
    相对于日本学生编写的程序代码,欧洲学生编写的程序代码就显得要冗长得多,不过欧洲学生的代码攻击性看起来却更加强大。
    欧洲学生的程序是一款比较出名的IMP程序,这个程序的目的就是不断把自己移动到下一个内存单元,然后运行到下一个内存单元执行,通过对内存的加一指令,使得自身在内存中的位置不断移动,它的生存能力比跳转自身的死循环要强,通过程序在内存中的位置移动,即可躲避对手的攻击。
    欧洲学生的程序代码还采用“哨兵”概念,即先在代码前面放一个数据,然后
    检查该数据是否被改变,如果数据被改变表示其他程序运行到了该处,或攻击了该地址,自己就可以采取相应的对策,通过移动,躲避攻击或动对该地址的攻击。
    生存之道,在他的程序里体现得淋漓尽致啊!当然,程序的对抗不仅仅在于生存之道,攻击才是重中之重!
    “磁芯大战”的对抗在于自己的程序能够覆盖对手的程序,不过覆盖对手的程序后也并代表你一定能取胜,因为它不一定能导致对手的程序执行中止进程操作,所以,程序中要用轰炸指令,即当你的DAT覆盖了对方的程序时,你调用的程序就要对内存单元地数据区域进行轰炸。
    欧洲学生的代码通过跳转,每隔两个内存单元就对其它程序就行循环轰炸,最后再对整个内存以Dat形式进行全面轰炸!
    这样的轰炸程序是非常有效的攻击,现在的很多程序都是靠这种手法攻击其它程序,攻击得手后,然后它利用IMP的方法移动自己避免被攻击。
    这个欧洲学生的程序功能大概就是这样地情况,在萧云飞看来,这个程序只能算作差强人意。
    两个人地程序一对比。日本学生地程序让萧云飞更为期待。
    欧洲学生在程序最后一行写上ENDD。然后编译成功。侧过头来看着罗杰斯笑了笑:“教授。我准备好了……”
    “终于好了?”罗杰斯教授伸了个懒腰。“我们都等你好久了。”
    欧洲学生不好意思地挠了挠头:“当然。和教授你对战。我自然要谨慎一点。”
    听到这句话。罗杰斯和周围地学生善意地笑了笑。
    罗杰斯教授侧过头看了看盯着计算机屏幕一脸专注地日本学生问道:“你呢?你准备好了吗?”。
    日本学生听到罗杰斯问话,站起身又要朝他鞠躬,罗杰斯连忙摆了摆手:“你坐下,不用站起来……”
    日本学生显得有点尴尬,刚刚离开椅子的**又坐上了椅子:“教授,我准备好了,随时可以进行对抗。”
    “好,”罗杰斯拍了拍手,“那我们就准备开始吧。”
    两个学生编写地程序通过局域网传输到了罗杰斯教授的计算机上,Mars系统地虚拟机早已经准备就绪,罗杰斯教授将三个程序保存在虚拟系统的存储磁芯。
    三个程序加载完成后,系统给每个程序在进程队列中创建了一个位置随机地进程,然后,罗杰斯教授开启了程序“并”运行。
    很快的,三个程序开始在进程列表中混战开来。
    通过虚拟机中的追踪功能,三个程序运行情况很直观地显示在了计算机屏幕上。
    当然,日本学生的程序是处于死循环跳转,它在内存中地地址是固定的,所以它在进程队列中很直观,因为它是静止不动地。
    不过正是由于这个原因,他的程序并没有遭到罗杰斯教授和欧洲学生的程序的攻击,所以,在进程队列中,主要是罗杰斯教授和欧洲学生的程序在激烈厮杀。
    既然罗杰斯教授敢摆下“磁芯大战”的擂台,他当然是有所依仗的,他的程序的攻击性已经达到了变态的地步。
    罗杰斯教授的程序随机加载内存地址,系统创建的进程位置也是随机的,不过用了不到两分钟时间,这个程序就已经遍历了整个内存地址,好像在巡视自己的领地一般,跳转极为疯狂。
    遍历内存地址的目的相当于扫描过程,如果在内存单元中,这个程序一旦现了其它程序体,它就会主动进攻其它程序。
    通过虚拟机的追踪功能,非常直观地看到了这个程序的所有动作,先罗杰斯教授的程序在遍历内存地址的时候,它在内存单元中就现了两
    身不一样的程序。
    因为日本学生的程序没有什么危险,欧洲学生设计的“哨兵”代码触了罗杰斯教授的攻击指令,所以,它率先对欧洲学生的程序起了攻击。
    为什么罗杰斯教授的程序会先会攻击欧洲学生的程序呢?
    原因就出在欧洲学生程序代码的“哨兵”身上。
    哨兵,顾名思义,就是起到站岗、放哨、警戒的作用,罗杰斯教授的程序在遍历内存单元时,当它移动到欧洲学生程序所在的内存地址时,该区段的数据必然会产生变化,“哨兵”代码向程序本体送警报,提示有敌来袭。
    当然,“哨兵”代码只是起到提示、警报作用,它本身并没有攻击作用,这就像打仗的时候,敌军空袭,自己基地里拉响的防空警报。
    当然,通过防空警报知道敌人的空军来轰炸基地了,然后可以根据基地自身的防御情况,可以决定是逃跑还是反击。
    “哨兵”向程序本体提醒自己所在的内存地址数据生了变化,根据程序员的设计,它会选择是移动内存单元躲避还是通过数据块轰炸。
    很显然,欧洲学生的程序执行的动作是反击!
    人家都打到你的地盘来了,你还能无动于衷,坐视不理?看来这个欧洲学生是个反压迫的好战分子。
    其实很多时候,从程序代码的编写可以看出一个人的性格,有的程序员会在编写程序的时候留下一些连他自己都不知道小细节。比如有的人喜欢用跳转指令,他会在程序里设计无数跳转指令,跳呀跳呀的,整得像个迷宫似的;有的程序员还有一些怪癣,他甚至在编写程序的时候喜欢将自己的名字或爱人的名字**到代码中。
    言归正传,罗杰斯教授的程序已经开始轰炸欧洲学生的程序了,人家的程序当然不会坐以待毙,于是它开始动反击了!
    不是有话说得好吗?哪里有压迫,哪里就有反抗嘛。
    罗杰斯教授的程序执行的是DAT数据区段大范围轰炸,它可以一次性对多个内存单元进行轰炸,在这样强烈的攻击下,就算欧洲学生的程序虽然可以移动到下一个内存单元,但是在罗杰斯教授的程序大范围的轰炸下,它就显得有点脆弱了。
    不过狗急了尚且跳墙,兔子逼急了还咬人呢。
    在罗杰斯教授的程序开始对数据区段轰炸的时候,欧洲学生的程序在内存单元连续复制,不过他的程序刚复制完移动到下一个内存单元时,很遗憾的就会被罗杰斯教授的程序轰炸掉,但是这个程序的复制速度非常快,它总是能在被轰炸之前将自己成功复制,然后跳转到下一个内存单元,由此可以见,这个程序的生命力确实顽强。
    终于,经过多次连续复制后,欧洲学生的程序终于跳出罗杰斯教授的轰炸数据区段,现在,它开始反攻了。
    跳转后,这个程序也执行了轰炸指令,第一次,在A区段的C、5坐标,罗杰斯教授的程序被轰炸了一次;第二次,在B区段的6区段,罗杰斯教授的程序又被轰炸了一次。
    A、B~两个区段,罗杰斯的程序都被轰炸过一次,不过令人遗憾,数据轰炸不彻底,罗杰斯教授的程序从这两个坐标中逃了出来。
    此后,欧洲学生的程序就再也未能在内存单元中轰炸到罗杰斯教授的程序,想必罗杰斯教授的智能程序启动后,程序的陷阱对它不能起到作用了。
    接下来的形势完全呈现一边倒的局面,欧洲学生的程序在内存单元中完全只要躲避的份,根本就没有还手之力。
    罗杰斯教授的程序轰炸的数据区段越来越广,模拟的八千个内存单元,它一次性可以轰炸二十个连续的内存单元!
    不要小看这二十个连续的内存单元,用于“磁芯大战”的程序,在跳转躲避对手轰炸的时候往往不会超过这二十个连续的内存单元。
    所以,尽管欧洲学生的程序复制的速度也快了很多,但是它的IMP程序,目的就是不断把自己移动到下一个内存单元,这些内存单元是连续的,它复制的速度再快,也无法逃过罗杰斯的程序对二十个连续单元的轰炸啊。
    看来欧洲学生的程序被吃掉迟早是早晚的事。
    终于,罗杰斯教授的程序在A区段的一个内存单元将欧洲学生的程序锁定了,然后,狂风暴雨的轰炸开始了。
    所有围观看着这个情形都摇了摇头,失望的叹了一口气。
第六章 我来试试
    有围观看着这个情形都摇了摇头,失望的叹了一
    面对罗杰斯教授的程序暴风骤雨的轰炸,欧洲学生的程序此时还在负隅顽抗,它还在跳。
    ***D,如果是人遇到这样的蹂躏恐怕早就拱手认输了,到了这种情况还不自觉认输岂不是犯贱?当然,我们要排除受虐狂的因素。
    不过程序不是人,就算它被蹂躏得惨不忍睹了,它也要按照程序员的指令执行下去,直到自己被敌人彻底吃掉为止。
    就在所有人都以为欧洲学生的程序马上就会从进程队列中消失的时候,在固定内存地址中一直表现得很温顺的日本学生的程序突然动了!
    一直在固定内存中进行死循环跳转的程序突然以迅猛之势开始进行复制了,这个程序的复制情况和其它程序的复制情况有很大区别。
    其它用于“磁芯大战”对抗的程序通常都是在程序遭到轰炸的时候对自身进行复制,这样的目的只是为了逃脱对手的轰炸范围,给自己保留反攻的实力,所以,这种复制动作只能进行单一复制,即每次只能复制一个程序本体。
    但是日本学生的程序复制的动作是多次裂变复制,即一个程序复制后变成两个,然后两个程序又进行复制变成四个,以此类推,这样的程序裂变,可谓前所未见啊!
    原来这个日本学生调用的那段加密代码就是赋予程序裂变的功能!怪不得他要对这段代码进行加密呢,这种程序裂变的代码想必是这个日本学生自己创造的,他当然不愿意将这段裂变代码公布出来。
    程序员很多时候对自己的劳动成果是相当吝啬的。
    此时罗杰斯教授地程序正在A区段追杀欧洲学生地程序。大有不把对方干掉就誓不罢休地态势。
    所以。罗杰斯教授地程序对日本学生地程序裂变根本就无暇顾及。
    日本学生地程序获得了充分地展空间。这个看起来没有一点攻击性地程序以燎原之势迅速在内存单元中进行疯狂扩张。不到一分钟。B区段地内存单元就被这个程序占满了!
    程序裂变并没有停止。它继续在进行着高速扩张。
    日本学生地脸上露出一丝微笑。所有人都低低惊呼一声。全神贯注地关注着这个程序在内存单元中地动作。
    按照这样地速度进行裂变。难道他想利用程序抢占内存所有地址。活生生把其他地程序从内存单元中挤出去?!
    虽然B区段内存单元的个数比A区段要少,但是它们的数量其实相差并不大,B区段现在所有空闲的内存单元都被日本学生的程序占领,以程序这种裂变的速度,眨眼之间,A区段其它所有的空闲内存单元就被它占领了。
    这个程序的裂变继续运行,如同洪水猛兽冲击着已经被其他两个程序占领的内存地址。
    罗杰斯教授地程序此时在对连续区段进行轰炸,日本学生的程序已经占领了所有空闲的内存单元,欧洲学生的程序此刻终于无处可跳了。
    这就像三军对战,后有追兵,前有埋伏,中间又无路可逃,难道还不是死路一条?当然,出现这样的情况,像诸葛孔明应该会想到解决的办法,不过程序毕竟不是人,它当然不会那么聪明。
    欧洲学生的程序还是按照它的指令进行跳转,这一跳就正好跳进了正在进行裂变的程序所在的内存地址。
    很快地,欧洲学生的程序陷入了人民战争地汪洋大海之中。
    除了被罗杰斯教授的程序正在轰炸的那二十个连续内存单元,其它所有的内存单元现在都是裂变程序的地盘了。
    欧洲学生地程序这次跳转,可谓“风骚”的一跳,但是同样也是很悲哀地一跳。
    因为这次跳转,竟然不可思议的跳出了罗杰斯教授程序连续区段地轰炸范围,在这一刻,小强打不死的精神在这个程序上体现得淋漓尽致,这算不算很“风骚”地跳转?
    不过很遗憾,程序的这次跳转却是刚离虎口,又进狼窝!
    日本学生的程序立马调用了轰炸指令,眨眼之间,欧洲学生的程序就从进程队列中消失了。
    看到这种结果,所有人一阵唏嘘,想不到欧洲学生的程序没有被罗杰斯教授的程序轰炸掉,相反却死在了这个看起来并没有攻击性的程序身上。
    现如今,进程队列中就只剩下罗杰斯教授的程序和日本学生的程序了。罗杰斯教授的程序仅仅占领了A区段连续二十个内存单元,而其他区段的所有内存单元全被日本学生的裂变程序占领。
    从整个形势上看来,日本学生的程序明显占据了上风。
    日本学生的程序依然在进行裂变,那二十个连续的内存单元似乎关系了两个程序的生死存亡。
    日本学生的程序在裂变的过程不停地对罗杰斯教授的程序所在的内存单元进行抢夺,不过它每一
    都会遭遇程序强大的DAT区段轰炸,所有企图夺取内存单元的裂变程序全部被轰炸得一干二净!
    这样的情况只持续了两次,之后但凡有裂变程序意图夺取罗杰斯教授的程序控制的二十个连续内存单元,只要有程序一旦跳转到这二十个内存单元的任意位置,立马会被轰炸掉,根本就没有裂变的机会。
    这二十个连续的内存单元地址现如今已经成了死亡之地,日本学生的程序不停地进行裂变来冲击这二十个连续的内存单元,不过遗憾的是,罗杰斯教授的堡垒火力生猛,城墙毅然不倒。
    任他风吹雨打,我自岿然不动!当真是一夫当关万夫莫开啊!
    罗杰斯教授的程序生命力和攻击力果然很强悍。
    看到裂变程序始终无法占领那二十个连续的内存单元,日本学生摇了摇头,脸上闪过一丝苦笑。
    这样的拉锯战仅仅持续了三十秒,罗杰斯教授的程序在这二十个连续的内存单元中复制了一个程序体,此时,这二十个连续的内存单元出现了两个罗杰斯教授的程序。
    通过跟踪信息可以看到,那个复制地程序开始在内存单元中顺序跳转,很快的,它便跳出了自己控制的内存单元闯进了裂变程序的地盘。
    罗杰斯教授的程序在进行试探性攻击了。
    因为这仅仅是程序的一个复制体,那二十个连续的内存单元有程序本体坐镇,内存地址自然不会被裂变程序占领,所以,这个程序复制体就能够进行分支跳转,企图控制下一个连续内存单元。
    不过很遗憾,虽然这个程序复制体的攻击性也很强大,但是它轰炸裂变程序的速度始终没有日本学生的程序裂变快,况且裂变程序地攻击性并不弱。
    很快的,第一个探路的程序复制体被裂变程序干掉了,被程序复制体占领的内存地址转瞬又被裂变程序占领。
    第二次,罗杰斯教授的程序又复制了一个程序体,然后,它又跳出了自己的内存单元,这一次,这个程序复制体存活的时间稍微长了一些。
    第三次,又一个程序复制体闯入了裂变程序的内存单元,在裂变程序对它进行轰炸的时候,这个程序复制体竟然也开始了裂变!
    一生二,二生四,四生万物。
    这才是真正狂风暴雨地轰炸,每一个内存单元都在进行着程序间的对抗,每一个区段你都会看到急速跳转的程序。
    相同的数量,不一样的攻击性,很容易就能分出胜负。
    孙悟空的猴崽子和牛魔王的无敌牛虱哪个猛一些?答案星爷已经告诉我们了,无敌牛虱很快就被猴崽子们乱棍打死了。
    没办法啊,PKK值完全不在一个档次嘛。
    不出一分钟,日本学生所有的裂变程序就被罗杰斯教授的裂变程序轰炸得干干净净,刚刚还大好山河一片红的形势,瞬间就被冲击得七零八落了。
    日本学生从座位上站了起来冲罗杰斯教授鞠了一躬,一脸敬佩地对罗杰斯说道:“教授,我输了。”
    罗杰斯推了推了鼻梁的眼镜看着日本学生笑了笑:“呵呵,你叫什么名字?”
    “我叫田中仲才,请教授多多指教……”日本学生又冲罗杰斯教授鞠了一躬。
    罗杰斯拍了拍田中仲才地肩膀说着说道:“像你这样的年龄能够在‘磁芯大战’有如此之高的造诣,已经不错了,知道你的程序输在什么地方吗?”
    田中仲才摇了摇头,一脸谦虚的看着罗杰斯教授。
    罗杰斯地眼睛里闪过一丝自豪:“你的程序输在没有智能模块……”
    “智能模块?智能模块,智能模块!”田中仲才喃喃自语,眼睛里闪过一丝异样地光芒,“教授,您能不能让我做您的学生,我什么都可以帮你做,我对智能程序很感兴趣!”
    罗杰斯摇了摇头:“抱歉,你没有通过我地考试,所以你不能成为我的学生。”
    听到这句话,田中仲才眼中闪过一丝失望地神色。
    罗杰斯教授扫视了一下周围的学生,他看到了提着大包小包东西的薛亚妮,于是正要冲她打招呼,薛亚妮指了指萧云飞笑着朝他摇了摇头。
    萧云飞此时正聚精会神地看着计算机屏幕上跳转的程序,他的脑海中在思考着如何应对这个拥有一定智能的程序。
    “还有同学要挑战吗?”罗杰斯冲围观的学生笑着问道,“成功击败我的,可以获得十个学分,要知道,十个学分你可能至少选修五门课程哦……”
    “没有人了吗?”
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!