個程序的健壯性並不在於它的代碼有多長,關鍵是的代碼緊不緊湊,調用合不合理,這個日本學生的程序代碼比較短小,不過他的代碼卻顯得很精簡,通過調用,攻防兼備。


    相對於日本學生編寫的程序代碼,歐洲學生編寫的程序代碼就顯得要冗長得多,不過歐洲學生的代碼攻擊性看起來卻更加強大。


    歐洲學生的程序是一款比較出名的imp程序,這個程序的目的就是不斷把自己移動到下一個內存單元,然後運行到下一個內存單元執行,通過對內存的加一指令,使得自身在內存中的位置不斷移動,它的生存能力比跳轉自身的死循環要強,通過程序在內存中的位置移動,即可躲避對手的攻擊。


    歐洲學生的程序代碼還采用“哨兵”概念,即先在代碼前麵放一個數據,然後


    檢查該數據是否被改變,如果數據被改變表示其他程序運行到了該處,或攻擊了該地址,自己就可以采取相應的對策,通過移動,躲避攻擊或動對該地址的攻擊。


    生存之道,在他的程序裏體現得淋漓盡致啊!當然,程序的對抗不僅僅在於生存之道,攻擊才是重中之重!


    “磁芯大戰”的對抗在於自己的程序能夠覆蓋對手的程序,不過覆蓋對手的程序後也並代表你一定能取勝,因為它不一定能導致對手的程序執行中止進程操作,所以,程序中要用轟炸指令,即當你的dat覆蓋了對方的程序時,你調用的程序就要對內存單元地數據區域進行轟炸。


    歐洲學生的代碼通過跳轉,每隔兩個內存單元就對其它程序就行循環轟炸,最後再對整個內存以dat形式進行全麵轟炸!


    這樣的轟炸程序是非常有效的攻擊,現在的很多程序都是靠這種手法攻擊其它程序,攻擊得手後,然後它利用imp的方法移動自己避免被攻擊。


    這個歐洲學生的程序功能大概就是這樣地情況,在蕭雲飛看來,這個程序隻能算作差強人意。


    兩個人地程序一對比。日本學生地程序讓蕭雲飛更為期待。


    歐洲學生在程序最後一行寫上endd。然後編譯成功。側過頭來看著羅傑斯笑了笑:“教授。我準備好了……”


    “終於好了?”羅傑斯教授伸了個懶腰。“我們都等你好久了。”


    歐洲學生不好意思地撓了撓頭:“當然。和教授你對戰。我自然要謹慎一點。”


    聽到這句話。羅傑斯和周圍地學生善意地笑了笑。


    羅傑斯教授側過頭看了看盯著計算機屏幕一臉專注地日本學生問道:“你呢?你準備好了嗎?”。


    日本學生聽到羅傑斯問話,站起身又要朝他鞠躬,羅傑斯連忙擺了擺手:“你坐下,不用站起來……”


    日本學生顯得有點尷尬,剛剛離開椅子的**又坐上了椅子:“教授,我準備好了,隨時可以進行對抗。”


    “好,”羅傑斯拍了拍手,“那我們就準備開始吧。”


    兩個學生編寫地程序通過局域網傳輸到了羅傑斯教授的計算機上,mars係統地虛擬機早已經準備就緒,羅傑斯教授將三個程序保存在虛擬係統的存儲磁芯。


    三個程序加載完成後,係統給每個程序在進程隊列中創建了一個位置隨機地進程,然後,羅傑斯教授開啟了程序“並”運行。


    很快的,三個程序開始在進程列表中混戰開來。


    通過虛擬機中的追蹤功能,三個程序運行情況很直觀地顯示在了計算機屏幕上。


    當然,日本學生的程序是處於死循環跳轉,它在內存中地地址是固定的,所以它在進程隊列中很直觀,因為它是靜止不動地。(.好看的小說)


    不過正是由於這個原因,他的程序並沒有遭到羅傑斯教授和歐洲學生的程序的攻擊,所以,在進程隊列中,主要是羅傑斯教授和歐洲學生的程序在激烈廝殺。


    既然羅傑斯教授敢擺下“磁芯大戰”的擂台,他當然是有所依仗的,他的程序的攻擊性已經達到了變態的地步。


    羅傑斯教授的程序隨機加載內存地址,係統創建的進程位置也是隨機的,不過用了不到兩分鍾時間,這個程序就已經遍曆了整個內存地址,好像在巡視自己的領地一般,跳轉極為瘋狂。


    遍曆內存地址的目的相當於掃描過程,如果在內存單元中,這個程序一旦現了其它程序體,它就會主動進攻其它程序。


    通過虛擬機的追蹤功能,非常直觀地看到了這個程序的所有動作,先羅傑斯教授的程序在遍曆內存地址的時候,它在內存單元中就現了兩


    身不一樣的程序。


    因為日本學生的程序沒有什麽危險,歐洲學生設計的“哨兵”代碼觸了羅傑斯教授的攻擊指令,所以,它率先對歐洲學生的程序起了攻擊。


    為什麽羅傑斯教授的程序會先會攻擊歐洲學生的程序呢?


    原因就出在歐洲學生程序代碼的“哨兵”身上。


    哨兵,顧名思義,就是起到站崗、放哨、警戒的作用,羅傑斯教授的程序在遍曆內存單元時,當它移動到歐洲學生程序所在的內存地址時,該區段的數據必然會產生變化,“哨兵”代碼向程序本體送警報,提示有敵來襲。


    當然,“哨兵”代碼隻是起到提示、警報作用,它本身並沒有攻擊作用,這就像打仗的時候,敵軍空襲,自己基地裏拉響的防空警報。


    當然,通過防空警報知道敵人的空軍來轟炸基地了,然後可以根據基地自身的防禦情況,可以決定是逃跑還是反擊。


    “哨兵”向程序本體提醒自己所在的內存地址數據生了變化,根據程序員的設計,它會選擇是移動內存單元躲避還是通過數據塊轟炸。


    很顯然,歐洲學生的程序執行的動作是反擊!


    人家都打到你的地盤來了,你還能無動於衷,坐視不理?看來這個歐洲學生是個反壓迫的好戰分子。


    其實很多時候,從程序代碼的編寫可以看出一個人的性格,有的程序員會在編寫程序的時候留下一些連他自己都不知道小細節。比如有的人喜歡用跳轉指令,他會在程序裏設計無數跳轉指令,跳呀跳呀的,整得像個迷宮似的;有的程序員還有一些怪癬,他甚至在編寫程序的時候喜歡將自己的名字或愛人的名字**到代碼中。


    言歸正傳,羅傑斯教授的程序已經開始轟炸歐洲學生的程序了,人家的程序當然不會坐以待斃,於是它開始動反擊了!


    不是有話說得好嗎?哪裏有壓迫,哪裏就有反抗嘛。


    羅傑斯教授的程序執行的是dat數據區段大範圍轟炸,它可以一次性對多個內存單元進行轟炸,在這樣強烈的攻擊下,就算歐洲學生的程序雖然可以移動到下一個內存單元,但是在羅傑斯教授的程序大範圍的轟炸下,它就顯得有點脆弱了。


    不過狗急了尚且跳牆,兔子逼急了還咬人呢。


    在羅傑斯教授的程序開始對數據區段轟炸的時候,歐洲學生的程序在內存單元連續複製,不過他的程序剛複製完移動到下一個內存單元時,很遺憾的就會被羅傑斯教授的程序轟炸掉,但是這個程序的複製速度非常快,它總是能在被轟炸之前將自己成功複製,然後跳轉到下一個內存單元,由此可以見,這個程序的生命力確實頑強。


    終於,經過多次連續複製後,歐洲學生的程序終於跳出羅傑斯教授的轟炸數據區段,現在,它開始反攻了。


    跳轉後,這個程序也執行了轟炸指令,第一次,在a區段的c、5坐標,羅傑斯教授的程序被轟炸了一次;第二次,在b區段的6區段,羅傑斯教授的程序又被轟炸了一次。


    a、b~兩個區段,羅傑斯的程序都被轟炸過一次,不過令人遺憾,數據轟炸不徹底,羅傑斯教授的程序從這兩個坐標中逃了出來。


    此後,歐洲學生的程序就再也未能在內存單元中轟炸到羅傑斯教授的程序,想必羅傑斯教授的智能程序啟動後,程序的陷阱對它不能起到作用了。


    接下來的形勢完全呈現一邊倒的局麵,歐洲學生的程序在內存單元中完全隻要躲避的份,根本就沒有還手之力。


    羅傑斯教授的程序轟炸的數據區段越來越廣,模擬的八千個內存單元,它一次性可以轟炸二十個連續的內存單元!


    不要小看這二十個連續的內存單元,用於“磁芯大戰”的程序,在跳轉躲避對手轟炸的時候往往不會超過這二十個連續的內存單元。


    所以,盡管歐洲學生的程序複製的速度也快了很多,但是它的imp程序,目的就是不斷把自己移動到下一個內存單元,這些內存單元是連續的,它複製的速度再快,也無法逃過羅傑斯的程序對二十個連續單元的轟炸啊。


    看來歐洲學生的程序被吃掉遲早是早晚的事。


    終於,羅傑斯教授的程序在a區段的一個內存單元將歐洲學生的程序鎖定了,然後,狂風暴雨的轟炸開始了。


    所有圍觀看著這個情形都搖了搖頭,失望的歎了一口氣。

章節目錄

閱讀記錄

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