肖遠發現問題.是在對03:12:31以後的數據包的分析過程中.這時不同的數據包並不完全相同.說明世界還沒有完全靜止下來.
分析工具一邊比對每一次的內存數據樣本.一邊將這些數據以圖表的形式展示出來.便於肖遠更直觀的觀察這些數據的變化特征.隻不過因為分析數據要花費一定的時間.所以.圖像的變化比起god程序的監控圖像來.變化慢瞭很多.
因為這裡的圖像和god監控程序的顯示原理一樣.所以顯示出來的圖形也與那裡的完全相同.剛開始的時候.圖像上一個與其他地方有著明顯分別區域在緩慢的四處移動.肖遠知道這個漩渦是種子的代碼在世界中的映像.
看著種子的映像仍然存在.肖遠想起第一階段的分析中.那些不再發生變化的內存影像中.好像種子不見瞭.
“它難道被抹殺瞭.”肖遠盯著電腦屏幕上的分析過程.心中暗暗思忖.“不應該的.d應該會很快就將世界的平衡恢復.但是事實是沒有恢復.這其中一定發生瞭什麼我沒有想到的事情.”
“咦.怎麼回事.”正在思考的時候.肖遠發現原本在圖像上還十分明顯.一眼就能分辨出來的種子突然消失瞭.接下來圖像又變化瞭兩幀.就靜止瞭.既沒有繼續恢復平衡.也沒有因為不平衡而繼續變化下去.
肖遠暫停瞭分析軟件.從圖像靜止下來的時間點提取瞭一個內存樣本.拿來和最後的內存樣本文件進行瞭對比..完全一樣.
“種子突然消失瞭.然後god也不工作瞭.有點兒像同歸於盡.”
肖遠再次回放瞭剛才的圖像演變過程.瞪大瞭眼睛盯著屏幕上的圖像.想要看清楚在圖像消失的一瞬間.究竟發生瞭什麼.但是卻一無所獲.
於是他幹脆不讓圖形自動運行瞭.而是手動讓這些圖像一幀一幀的出現.仔細觀察.在圖像消失的上一幀停瞭下來.仔細觀察瞭一下.仍然是沒有發現什麼問題.於是他將這一幀的內存樣本提取瞭出來.從中將種子的代碼單獨提取瞭出來.對其進行瞭反匯編.
得到種子程序這一時刻的匯編程序後.肖遠發現得到的它和種子未放入世界進行進化之前的程序相比.已經發生瞭很大變化.閱讀時給他的感覺就像在閱讀一段全新的程序一樣.要知道這個程序根本就是出自他手.
“看來種子真的自我進化瞭.隻是它為什麼會自動消失呢.”肖遠努力在代碼中尋找著種子自動消失的痕跡.
將程序通讀瞭一遍.肖遠發現進化後的種子程序無論是長度還是復雜性都增加瞭很多.其中存在一段奇異的代碼.
“這應該就是種子能夠突然消失的原因瞭.”肖遠覺得自己似乎已經找到瞭答案.但是這段代碼很晦澀.難以理解.這讓他感到有些受傷.
“見鬼瞭.”肖遠不由得罵瞭一句.然後反復讀瞭幾遍這段代碼.並將其中涉及到的寄存器.以及寄存器之間的數據流向繪制成瞭圖像.並找來一本這臺工作站的CPU編碼的詳細手冊.一點一點兒加以對照.
所謂讀書百遍.其義自現.程序也是如此.反復讀過幾遍後.肖遠越來越覺得這兩端程序有些非比尋常.並有種隱隱的預感.讀懂這兩端程序將是他解開種子程序以及god程序反常表現的關鍵所在.
終於.肖遠從這些代碼中找到瞭最關鍵的邏輯.卻被他的發現下瞭一跳.甚至有些難以置信.因為這段代碼竟然用一種很巧妙的方法完成瞭一個遠程跳轉.跳轉到目的地已經超出瞭god創造的世界的內存范圍.它所使用到的指令竟然是工作站CPU的一段特殊的指令序列.而這段指令肖遠事先根本就不知道.更不會寫到程序中.
肖遠心中疑惑.如果不是他有非常豐富的閱讀代碼的經驗.手邊又有CPU指令集的詳細資料可查.這段代碼究竟是幹什麼用的.就算他讀上一百遍.恐怕也不會知道的.
“隻是種子程序的代碼裡怎麼會有這樣的代碼段瞭.”
肖遠對這個現象倍感不解.覺得不把這個現象搞清楚.會很不甘心.於是他再次將沒有反匯編之前的種子二進制代碼拿瞭出來.決定從二進制代碼入手.試試能找到什麼端倪不能.
直接閱讀二進制代碼顯然是不可行的.好在肖遠手裡還有另外一個工具.這個工具的界面分成左右兩欄.左欄是二進制代碼.右欄是二進制代碼對應的匯編代碼.兩邊對照著閱讀.就不是那麼困難瞭.
可惜這樣反復讀瞭兩遍.肖遠還是沒有發現什麼規律.隨即意識到自己的研究思路有點兒問題.種子的這段程序一定是進化而來的.也就是說它的代碼本身也是在不斷演變的.自己這樣靜態的看.本身就有問題.
既然意識到瞭問題.肖遠馬上改變瞭策略.將多個內存樣本中的種子程序的二進制代碼截取瞭出來.然後對這些不同時間點的二進制代碼進行瞭縱向比對.重點關註瞭那段奇異代碼的演化過程.並不斷對比手邊的CPU指令手冊.
經過一番比對.肖遠又想到種子程序的進化還受到god程序的影響.於是又將god程序代碼拿來.橫向縱向做瞭很全面的分析比對.兩個小時後.他終於搞明白瞭這段代碼的來歷.心中卻暗暗驚異.
首先要確定的一點.這段代碼並不是憑空產生的.種子程序雖然具有一些初步的進化功能.但是還沒有智能化到自主的分析CPU指令集.並加以利用的逆天程度.但是它的來源卻也讓肖遠感到瞭一場驚奇.因為這段代碼是從god程序中學習而來的.而god的程序中的這段代碼來自於匯編時.匯編程序對它進行的自動優化.
更讓肖遠感到驚訝還有另外一件事情.種子程序學習到的這段代碼竟然利用瞭god程序自身的監控機制存在的一個漏洞.執行後悔進行跨區段遠程跳轉.將自己復制到瞭god程序的代碼段中.而肖遠設定的種子規則中.有一條是禁止種子進行自我復制繁衍.因此當種子將自己復制到god代碼段中時.世界中的種子自動進行瞭自我銷毀.
種子侵占瞭god程序的代碼段.結果導致與god程序代碼段有一部分被破壞掉瞭.從而失去瞭一部分功能.而這部分功能恰恰是世界的平衡修復功能.因此才會出現種子突然消失後.世界中雖然存在大量不平衡.但是god卻沒有再對其進行修復的現象.
而種子在進入god程序的代碼段之後.自身安全的到瞭保障.再也沒有被修改或抹殺的危險存在.於是按照肖遠最初設定的進化模型.它的自我進化也就停瞭下來.代碼也不再運行.
“真想不到啊.這段程序竟然能夠找到god程序的一個漏洞.究竟是巧合呢.還是它自我進化的原因.我需要再做一下試驗……”
肖遠發現瞭有些很有意思的東西.進而產生瞭一些新的想法.於是再做幾個試驗.加以驗證.如果這些想法成立的話.他覺得自己似乎找到瞭一個非常實用的大殺器.