友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
3C书库 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

黑客无间道-第142章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



是随机地。系统开始运行后。各个程序开始进行对抗。通过进程地观察。可以看到谁存活到最后。

现今地”磁芯大战“工作地环境通常都是在软件模拟系统上运行。不过大多数模拟器都是模拟mars系统地工作原理。

”磁芯大战“可以看作是原始地病毒对抗。每个程序都要尽力地消灭其他程序。为了能够生存。程序应该能保护自己。不断移动自身来躲过其他程序地攻击或当自身受到攻击后能自我修复。

正是因为”磁芯大战“地程序具有隐蔽性、攻击性和传染性。所以。很多人都说”磁芯大战“是病毒地起源。

在国外,专门有磁芯大战爱好定期组织比赛,并以此来证明自己的实力和奇思妙想,参赛地胜利获得kinggoffThehi11的荣誉称号。

(pss:”磁芯大战“其实具有一定的人工智能,不过呢,利用Jaa~编写的太空战机更接近人工智能)

薛亚妮笑了笑对萧云飞解释道:”罗杰斯教授用于磁芯大战的程序可不同于一般的程序,它有着一定程度的智能性。“

”程序智能?“萧云飞有点好奇的问道。

”恩,“薛亚妮点了点头,”传统的磁芯大战程序虽然具有自我复制与攻击性,但这是程序员赋予它的特性,在比赛开始后程序就不能进行自我更变了,如果遇到轰炸地址指令更为刁钻的程序,它就只能坐以待毙。“

”但是罗杰斯教授用于磁芯大战的程序却加入了一段经过加密处理的程序代码,这段代码的功能就是令他的程序具备一定的智能。“

”如果它第一次在某一个特定的内存单元被对手轰炸后,只要它能够通过自身的移动逃过猎杀,那么它就会自动将这个缺陷记录在自己的扩展核心中,经过修复,第二次遇到对手这样的轰炸指令,它完全可以避免了,所以,它不会在同一个地方栽两次跟斗……“

”还

为程序的攻击性,它吞噬了对方的程序后,它将会根情况保留其他程序的优越性,变为自己所有。“

薛亚妮笑了笑,脸上闪过一丝自豪的表情:”这是程序人工智能的雏形哦。“

”师姐,要不我们也去凑凑热闹?“萧云飞的脸上浮现出一抹淡淡的笑意。

”你?“薛亚妮捂着嘴有点惊讶看着萧云飞,”师弟,你要去挑战罗杰斯教授的擂台吗?“

”去看看也无妨啊,“萧云飞耸了耸肩笑了笑,”况且我并没有告诉过你,我计算机不行哦……“

萧云飞推开车门,东西也没有拿,径直朝着科技广场人多的地方走了过去。

薛亚妮看着萧云飞的背影,好像觉得萧云飞的身上似乎有一种强烈的自信,真不知道他地自信从哪里来的?

哼,这个师弟,我到要看看他如何打败自己设计的程序?

薛亚妮的脸上闪过一丝狡黠地笑意,打开后备箱,提着大包小包的东西跟着萧云飞挤进了人群。

广场中央有一张长方形的桌子,桌子上面放在三台计算机,中间一台计算机的面前坐着一个脑袋略微谢顶,戴着一副近视眼镜的老头子,想必这个老头应该就是薛亚妮说的罗杰斯教授,不过此时罗杰斯教授正眯着眼睛在打盹呢。

罗杰斯教授的两旁分别有两个一年级新生,其中一个亚洲人,一个欧洲人,虽然这两个学生的肤色完全不同,但是他们的脸上,透露着专注和自信地神采。

两个学生在计算机键盘上噼里啪啦地敲打着,很显然,他们在编写”磁芯大战“的程序。

亚洲学生重重扣下回车键后,站起身对罗杰斯鞠了一躬,礼貌的对罗杰斯教授说道:”教授,我的对抗程序已经编写好了,要不我们现在就开始?“

一看这个学生的架势,萧云飞就知道这是个日本人无了。

罗杰斯睁开眼睛看了看说话的日本学生,摘下眼镜在自己地西服上擦了擦淡淡的说道:”这么快就编写好了?你不需要修改修改?“

日本学生摇了摇头:”不用了,我对自己的程序有足够的信心。“

罗杰斯看了看正在忙碌的欧洲学生,淡淡的笑了笑:”我们等一下这位同学吧,等他地程序编写好了,我们三个程序一起投进虚拟机的内存中并运行,这样节省时间,你也不会输得太难看……“

听到罗杰斯的话,日本学生的脸色有点难看,但是还是朝着又罗杰斯鞠了一躬,然后坐在计算机前打开自己的程序重新修改了起来。

围观地学生中当然不乏这方面的高手,他们看了看日本学生重新修改地程序代码,不禁议论纷纷,觉得这个程序经过修改后肯定必败无疑。

日本学生修改的程序采用了著名地死循环跳转,即跳转自身,这是对抗当中最简单的生存代码,但是这种跳转到自身地程序,自己并没有攻击能力,唯一取胜的方法就是期望对手自己死亡,是一种守株待兔的方法。

但这个程序设计有一个致命的缺陷,那就是自己在内存中的地址是固定的,它不会跳转,所以程序本体很容易遭到攻击。

萧云飞仔细看了看日本学生改写的程序,其实他倒不觉得日本学生的程序就真的那么脆弱,这种脆弱只是一种表象而已。

虽然萧云飞对日本人的看法不怎么样,但是日本人的变通却是令他觉得佩服,从这个日本学生更改的程序就可见一斑。

因为这个死循环跳转,主要功能在于自保,正是它没有攻击性,所以在多个程序对抗的时候,它就不会容易遭到其他程序的攻击。

举个例子,比如三个国家打仗,没有结成同盟的可能,其中两个都是级大国,另一个则是毫无还手之力的小国,两个级大国肯定最先做的事情就是把与自己实力相当的对手干掉,然后再回过头来收拾这个毫无还手之力的小国。

历史上生这样的事情不少,不过通常都是这个像小绵羊一样温顺的小国笑到了最后。

日本学生既然听到罗杰斯要三个程序并运行,他当然要先隐藏自己的实力,等罗杰斯和另一个学生的程序斗得两败俱伤的时候,他的程序再厚积薄。

通过程序代码,确实可以看出这个日本人有点阴险。

为什么这么说呢?

大多数观战的学生都认为日本学生修改程序为死循环跳转,目的是想罗杰斯和另一个学生的程序对抗对,双双死亡,他捡便宜而已。

但是萧云飞却看到,这个程序中在模块跳转的时候采用了三次调用:调用了程序中一段经过加密的代码;调用复制指令;调用内存数据a、B区轰炸指令!

三个调用指令在程序中很隐蔽,况且调用的那段加密代码,那肯定不可能没有用途的!

有了这三个调用指令,这个看起来脆弱得只会送死的程序,变得给人一种神秘莫测的感觉。

正文 第五章 观战

个程序的健壮性并不在于它的代码有多长,关键是的代码紧不紧凑,调用合不合理,这个日本学生的程序代码比较短小,不过他的代码却显得很精简,通过调用,攻防兼备。

相对于日本学生编写的程序代码,欧洲学生编写的程序代码就显得要冗长得多,不过欧洲学生的代码攻击性看起来却更加强大。

欧洲学生的程序是一款比较出名的Imp程序,这个程序的目的就是不断把自己移动到下一个内存单元,然后运行到下一个内存单元执行,通过对内存的加一指令,使得自身在内存中的位置不断移动,它的生存能力比跳转自身的死循环要强,通过程序在内存中的位置移动,即可躲避对手的攻击。

欧洲学生的程序代码还采用”哨兵“概**,即先在代码前面放一个数据,然后

检查该数据是否被改变,如果数据被改变表示其他程序运行到了该处,或攻击了该地址,自己就可以采取相应的对策,通过移动,躲避攻击或动对该地址的攻击。

生存之道,在他的程序里体现得淋漓尽致啊!当然,程序的对抗不仅仅在于生存之道,攻击才是重中之重!

”磁芯大战“的对抗在于自己的程序能够覆盖对手的程序,不过覆盖对手的程序后也并代表你一定能取胜,因为它不一定能导致对手的程序执行中止进程操作,所以,程序中要用轰炸指令,即当你的daT覆盖了对方的程序时,你调用的程序就要对内存单元地数据区域进行轰炸。

欧洲学生的代码通过跳转,每隔两个内存单元就对其它程序就行循环轰炸,最后再对整个内存以dat形式进行全面轰炸!

这样的轰炸程序是非常有效的攻击,现在的很多程序都是靠这种手法攻击其它程序,攻击得手后,然后它利用Imp的方法移动自己避免被攻击。

这个欧洲学生的程序功能大概就是这样地情况,在萧云飞看来,这个程序只能算作差强人意。

两个人地程序一对比。日本学生地程序让萧云飞更为期待。

欧洲学生在程序最后一行写上endd。然后编译成功。侧过头来看着罗杰斯笑了笑:”教授。我准备好了……“

”终于好了?“罗杰斯教授伸了个懒腰。”我们都等你好久了。“

欧洲学生不好意思地挠了挠头:”当然。和教授你对战。我自然要谨慎一点。“

听到这句话。罗杰斯和周围地学生善意地笑了笑。

罗杰斯教授侧过头看了看盯着计算机屏幕一脸专注地日本学生问道:”你呢?你准备好了吗?“。

日本学生听到罗杰斯问话,站起身又要朝他鞠躬,罗杰斯连忙摆了摆手:”你坐下,不用站起来……“

日本学生显得有点尴尬,刚刚离开椅子的**又坐上了椅子:”教授,我准备好了,随时可以进行对抗。“

”好,“罗杰斯拍了拍手,”那我们就准备开始吧。“

两个学生编写地程序通过局域网传输到了罗杰斯教授的计算机上,mars系统地虚拟机早已经准备就绪,罗杰斯教授将三个程序保存在虚拟系统的存储磁芯。

三个程序加载完成后,系统给每个程序在进程队列中创建了一个位置随机地进程,然后,罗杰斯教授开启了程序”并“运行。

很快的,三个程序开始在进程列表中混战开来。

通过虚拟机中的追踪功能,三个程序运行情况很直观地显示在了计算机屏幕上。

当然,日本学生的程序是处于死循环跳转,它在内存中地地址是固定的,所以它在进程队列中很直观,因为它是静止不动地。

不过正是由于这个原因,他的程序并没有遭到罗杰斯教授和欧洲学生的程序的攻击,所以,在进程队列中,主要是罗杰斯教授和欧洲学生的程序在激烈厮杀。

既然罗杰斯教授敢摆下”磁芯大战“的擂台,他当然是有所依仗的,他的程序的攻击性已经达到了变态的地步。

罗杰斯教授的程序随机加载内存地址,系统创建的进程位置也是随机的,不过用了不到两分钟时间,这个程序就已经遍历了整个内存地址,好像在巡视自己的领地一般,跳转极为疯狂。

遍历内存地址的目的相当于扫描过程,如果在内存单元中,这个程序一旦现了其它程序体,它就会主动进攻其它程序。

通过虚拟机的追踪功能,非常直观地看到了这个程序的所有动作,先罗杰斯教授的程序在遍历内存地址的时候,它在内存单元中就现了两

身不一样的程序。

因为日本学生的程序没有什么危险,欧洲学生设计的”哨兵“代码触了罗杰斯教授的攻击指令,所以,它率先对欧洲学生的程序起了攻击。

为什么罗杰斯教授的程序会先会攻击欧洲学生的程序呢?

原因就出在欧洲学生程序代码的”哨兵“身上。

哨兵,顾名思义,就是起到站岗、放哨、警戒的作用,罗杰斯教授的程序在遍历内存单元时,当它移动到欧洲学生程序所在的内存地址时,该区段的数据必然会产生变化,”哨兵“代码向程序本体送警报,提示有敌来袭。

当然,”哨兵“代码只是起到提示、警报作用,它本身并没有攻击作用,这就像打仗的时候,敌军空袭,自己基地里拉响的防空警报。

当然,通过防空警报知道敌人的空军来轰炸基地了,然后可以根据基地自身的防御情况,可以决定是逃跑还是反击。

”哨兵“向程序本体提醒自己所在的内存地址数据生了变化,根据程序员的设计,它会选择是移动内存单元躲避还是通过数据块轰炸。

很显然,欧洲学生的程序执行的动作是反击!

人家都打到你的地盘来了,你还能无动于衷,坐视不理?看来这个欧洲学生是个反压迫的好战分子。

其实很多时候,从程序代码的编写可以看出一个人的性格,有的程序员会在编写程序的时候留下一些连他自己都不知道小细节。比如有的人喜欢用跳转指令,他会在程序里设计无数跳转指令,跳呀跳呀的,整得像个迷宫似的;有的程序员还有一些怪癣,他甚至在编写程序的时候喜欢将自己的名字或爱人的名字**到代码中。
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!