磁芯大戰嗎?”蕭雲飛喃喃自語,眼中閃過一絲笑意


    磁芯大戰,一種程序遊戲,它應該算是電腦病毒最早的一種形式。


    早在電腦還是獨立存在的個體時,為了緩解編程帶來的枯燥,為自己的業餘生活增添一絲樂趣,貝爾實驗室的三個年輕人就創造了這種名叫“磁芯大戰”的程序遊戲。


    大名鼎鼎的“莫裏斯蠕蟲”正是當年磁芯大戰中的kinggoffthehilll(磁芯大戰的最高榮譽),“莫裏斯蠕蟲”僅僅隻有99行,采用純匯編語言編寫而成,該蠕蟲病毒在一夜之間感染了上萬台unix操作係統的sunn工作站和vax小型機,使這些工作站處於癱瘓或半癱瘓狀態,m國國家航空和航天局、軍事基地和主要大學的計算機因為病毒停止運行,不計其數的數據和資料毀於一夜之間,“莫裏斯蠕蟲”一夜之間就造成一場損失近億美元的空前大劫難。


    “莫裏斯蠕蟲”的創造羅特裏斯,正是“磁芯大戰”遊戲創造之一莫裏斯的兒子,顯然,羅特裏斯得到了他父親的真傳。


    “磁芯大戰”是一種充滿魅力的遊戲,很多程序員對這種直觀的遊戲極為推崇,它不但是可以緩解程序員的工作壓力,同時它還能加強程序員對底層代碼的深刻認識。


    在遊戲的時候又能學習,所以“磁芯大戰”備受程序員的推崇。


    我為什麽說“磁芯大戰”很直觀呢?


    我們知道,病毒感染我們的文件大多數都是悄無聲息的進行,在不知不覺中,病毒可能就已經感染了電腦中的exe文件或dll文件,病毒如何複製,如何傳播,如果感染文件的過程,我們地肉眼是無法看到的。


    但是“磁芯大戰”不一樣,磁芯大戰的玩法是遊戲雙方各寫一套程序或幾套程序,輸入同一部電腦中,然後將兩套程序保存在電腦的存儲係統內。


    雙方地程序進入存儲磁芯開始“並”運行後。玩遊戲地人就隻能看著屏幕上顯示地戰況。[.超多好看小說]而不能做任何更改。所以我們可以通過電腦屏幕看到病毒是如何移動。如何複製。如何對其它文件進行感染或吞噬地。


    程序員編寫地程序可以是短短地幾行。也可以是幾十行。但是程序必須擁有複製、移動、吞噬地功能。因為程序地移動是體現在進程上地。程序移動性地強弱性對程序地存活起著至關重要地作用。當程序本體被對方地程序控製時。程序可以進行自我複製。逃離對方地控製範圍。吞噬地功能就是程序地破壞力。這是“磁芯大戰’地實力比拚。


    早期地“磁芯大戰”通常都是在mars體係結構地計算機上運行。ma機器由一個組內存單元。一個cuu單元。一個簡單進程管理係統和一組指令集構成。程序通過係統指令編寫。每一個程序加載到內存地隨機位置。當多個程序都加載完後係統給每個程序創建一個進程。這些進程在進程隊列中地位置是隨機地。係統開始運行後。各個程序開始進行對抗。通過進程地觀察。可以看到誰存活到最後。


    現今地“磁芯大戰”工作地環境通常都是在軟件模擬係統上運行。不過大多數模擬器都是模擬mars係統地工作原理。


    “磁芯大戰”可以看作是原始地病毒對抗。每個程序都要盡力地消滅其他程序。為了能夠生存。程序應該能保護自己。不斷移動自身來躲過其他程序地攻擊或當自身受到攻擊後能自我修複。


    正是因為“磁芯大戰”地程序具有隱蔽性、攻擊性和傳染性。所以。很多人都說“磁芯大戰”是病毒地起源。


    在國外,專門有磁芯大戰愛好定期組織比賽,並以此來證明自己的實力和奇思妙想,參賽地勝利獲得kinggoffthehill的榮譽稱號。


    (pss:“磁芯大戰”其實具有一定的人工智能,不過呢,利用jaa~編寫的太空戰機更接近人工智能)


    ********************************


    薛亞妮笑了笑對蕭雲飛解釋道:“羅傑斯教授用於磁芯大戰的程序可不同於一般的程序,它有著一定程度的智能性。”


    “程序智能?”蕭雲飛有點好奇的問道。


    “恩,”薛亞妮點了點頭,“傳統的磁芯大戰程序雖然具有自我複製與攻擊性,但這是程序員賦予它的特性,在比賽開始後程序就不能進行自我更變了,如果遇到轟炸地址指令更為刁鑽的程序,它就隻能坐以待斃。”


    “但是羅傑斯教授用於磁芯大戰的程序卻加入了一段經過加密處理的程序代碼,這段代碼的功能就是令他的程序具備一定的智能。”


    “如果它第一次在某一個特定的內存單元被對手轟炸後,隻要它能夠通過自身的移動逃過獵殺,那麽它就會自動將這個缺陷記錄在自己的擴展核心中,經過修複,第二次遇到對手這樣的轟炸指令,它完全可以避免了,所以,它不會在同一個地方栽兩次跟鬥……”


    “還


    為程序的攻擊性,它吞噬了對方的程序後,它將會根情況保留其他程序的優越性,變為自己所有。”


    薛亞妮笑了笑,臉上閃過一絲自豪的表情:“這是程序人工智能的雛形哦。”


    “師姐,要不我們也去湊湊熱鬧?”蕭雲飛的臉上浮現出一抹淡淡的笑意。


    “你?”薛亞妮捂著嘴有點驚訝看著蕭雲飛,“師弟,你要去挑戰羅傑斯教授的擂台嗎?”


    “去看看也無妨啊,”蕭雲飛聳了聳肩笑了笑,“況且我並沒有告訴過你,我計算機不行哦……”


    蕭雲飛推開車門,東西也沒有拿,徑直朝著科技廣場人多的地方走了過去。


    薛亞妮看著蕭雲飛的背影,好像覺得蕭雲飛的身上似乎有一種強烈的自信,真不知道他地自信從哪裏來的?


    哼,這個師弟,我到要看看他如何打敗自己設計的程序?


    薛亞妮的臉上閃過一絲狡黠地笑意,打開後備箱,提著大包小包的東西跟著蕭雲飛擠進了人群。


    廣場中央有一張長方形的桌子,桌子上麵放在三台計算機,中間一台計算機的麵前坐著一個腦袋略微謝頂,戴著一副近視眼鏡的老頭子,想必這個老頭應該就是薛亞妮說的羅傑斯教授,不過此時羅傑斯教授正眯著眼睛在打盹呢。


    羅傑斯教授的兩旁分別有兩個一年級新生,其中一個亞洲人,一個歐洲人,雖然這兩個學生的膚色完全不同,但是他們的臉上,透露著專注和自信地神采。


    兩個學生在計算機鍵盤上劈裏啪啦地敲打著,很顯然,他們在編寫“磁芯大戰”的程序。


    亞洲學生重重扣下回車鍵後,站起身對羅傑斯鞠了一躬,禮貌的對羅傑斯教授說道:“教授,我的對抗程序已經編寫好了,要不我們現在就開始?”


    一看這個學生的架勢,蕭雲飛就知道這是個日本人無了。


    羅傑斯睜開眼睛看了看說話的日本學生,摘下眼鏡在自己地西服上擦了擦淡淡的說道:“這麽快就編寫好了?你不需要修改修改?”


    日本學生搖了搖頭:“不用了,我對自己的程序有足夠的信心。”


    羅傑斯看了看正在忙碌的歐洲學生,淡淡的笑了笑:“我們等一下這位同學吧,等他地程序編寫好了,我們三個程序一起投進虛擬機的內存中並運行,這樣節省時間,你也不會輸得太難看……”


    聽到羅傑斯的話,日本學生的臉色有點難看,但是還是朝著又羅傑斯鞠了一躬,然後坐在計算機前打開自己的程序重新修改了起來。


    圍觀地學生中當然不乏這方麵的高手,他們看了看日本學生重新修改地程序代碼,不禁議論紛紛,覺得這個程序經過修改後肯定必敗無疑。


    日本學生修改的程序采用了著名地死循環跳轉,即跳轉自身,這是對抗當中最簡單的生存代碼,但是這種跳轉到自身地程序,自己並沒有攻擊能力,唯一取勝的方法就是期望對手自己死亡,是一種守株待兔的方法。


    但這個程序設計有一個致命的缺陷,那就是自己在內存中的地址是固定的,它不會跳轉,所以程序本體很容易遭到攻擊。


    蕭雲飛仔細看了看日本學生改寫的程序,其實他倒不覺得日本學生的程序就真的那麽脆弱,這種脆弱隻是一種表象而已。


    雖然蕭雲飛對日本人的看法不怎麽樣,但是日本人的變通卻是令他覺得佩服,從這個日本學生更改的程序就可見一斑。


    因為這個死循環跳轉,主要功能在於自保,正是它沒有攻擊性,所以在多個程序對抗的時候,它就不會容易遭到其他程序的攻擊。


    舉個例子,比如三個國家打仗,沒有結成同盟的可能,其中兩個都是超級大國,另一個則是毫無還手之力的小國,兩個超級大國肯定最先做的事情就是把與自己實力相當的對手幹掉,然後再回過頭來收拾這個毫無還手之力的小國。


    曆史上生這樣的事情不少,不過通常都是這個像小綿羊一樣溫順的小國笑到了最後。


    日本學生既然聽到羅傑斯要三個程序並運行,他當然要先隱藏自己的實力,等羅傑斯和另一個學生的程序鬥得兩敗俱傷的時候,他的程序再厚積薄。


    通過程序代碼,確實可以看出這個日本人有點陰險。


    為什麽這麽說呢?


    大多數觀戰的學生都認為日本學生修改程序為死循環跳轉,目的是想羅傑斯和另一個學生的程序對抗對,雙雙死亡,他撿便宜而已。


    但是蕭雲飛卻看到,這個程序中在模塊跳轉的時候采用了三次調用:調用了程序中一段經過加密的代碼;調用複製指令;調用內存數據a、b區轟炸指令!


    三個調用指令在程序中很隱蔽,況且調用的那段加密代碼,那肯定不可能沒有用途的!


    有了這三個調用指令,這個看起來脆弱得隻會送死的程序,變得給人一種神秘莫測的感覺。

章節目錄

閱讀記錄

黑客無間道所有內容均來自互聯網,uu小說網隻為原作者我不是黑客的小說進行宣傳。歡迎各位書友支持我不是黑客並收藏黑客無間道最新章節