第243部分(第1/4 頁)
“咦,怎麼回事?”正在思考的時候,肖遠發現原本在影象上還十分明顯,一眼就能分辨出來的種子突然消失了,接下來影象又變化了兩幀,就靜止了,既沒有繼續恢復平衡,也沒有因為不平衡而繼續變化下去。
肖遠暫停了分析軟體,從影象靜止下來的時間點提取了一個記憶體樣本,拿來和最後的記憶體樣本檔案進行了對比…完全一樣。
“種子突然消失了,然後god也不工作了,有點兒像同歸於盡。”
肖遠再次回放了剛才的影象演變過程,瞪大了眼睛盯著螢幕上的影象,想要看清楚在影象消失的一瞬間,究竟發生了什麼,但是卻一無所獲。
於是他乾脆不讓圖形自動執行了,而是手動讓這些影象一幀一幀的出現,仔細觀察,在影象消失的上一幀停了下來,仔細觀察了一下,仍然是沒有發現什麼問題,於是他將這一幀的記憶體樣本提取了出來,從中將種子的程式碼單獨提取了出來,對其進行了反彙編。
得到種子程式這一時刻的彙編程式後,肖遠發現得到的它和種子未放入世界進行進化之前的程式相比,已經發生了很大變化,閱讀時給他的感覺就像在閱讀一段全新的程式一樣,要知道這個程式根本就是出自他手。
“看來種子真的自我進化了,只是它為什麼會自動消失呢?”肖遠努力在程式碼中尋找著種子自動消失的痕跡。
將程式通讀了一遍,肖遠發現進化後的種子程式無論是長度還是複雜性都增加了很多,其中存在一段奇異的程式碼。
“這應該就是種子能夠突然消失的原因了。”肖遠覺得自己似乎已經找到了答案,但是這段程式碼很晦澀,難以理解,這讓他感到有些受傷。
“見鬼了。”肖遠不由得罵了一句,然後反覆讀了幾遍這段程式碼,並將其中涉及到的暫存器,以及暫存器之間的資料流向繪製成了影象,並找來一本這臺工作站的cpu編碼的詳細手冊,一點一點兒加以對照不等你說愛我。
所謂讀書百遍,其義自現,程式也是如此,反覆讀過幾遍後,肖遠越來越覺得這兩端程式有些非比尋常,並有種隱隱的預感,讀懂這兩端程式將是他解開種子程式以及god程式反常表現的關鍵所在。
終於,肖遠從這些程式碼中找到了最關鍵的邏輯,卻被他的發現下了一跳,甚至有些難以置信,因為這段程式碼竟然用一種很巧妙的方法完成了一個遠端跳轉,跳轉到目的地已經超出了god創造的世界的記憶體範圍,它所使用到的指令竟然是工作站cpu的一段特殊的指令序列,而這段指令肖遠事先根本就不知道,更不會寫到程式中。
肖遠心中疑惑,如果不是他有非常豐富的閱讀程式碼的經驗,手邊又有cpu指令集的詳細資料可查,這段程式碼究竟是幹什麼用的,就算他讀上一百遍,恐怕也不會知道的。
“只是種子程式的程式碼裡怎麼會有這樣的程式碼段了?”
肖遠對這個現象倍感不解,覺得不把這個現象搞清楚,會很不甘心,於是他再次將沒有反彙編之前的種子二進位制程式碼拿了出來,決定從二進位制程式碼入手,試試能找到什麼端倪不能。
直接閱讀二進位制程式碼顯然是不可行的,好在肖遠手裡還有另外一個工具,這個工具的介面分成左右兩欄,左欄是二進位制程式碼,右欄是二進位制程式碼對應的彙編程式碼,兩邊對照著閱讀,就不是那麼困難了。
可惜這樣反覆讀了兩遍,肖遠還是沒有發現什麼規律,隨即意識到自己的研究思路有點兒問題,種子的這段程式一定是進化而來的,也就是說它的程式碼本身也是在不斷演變的,自己這樣靜態的看,本身就有問題。
既然意識到了問題,肖遠馬上改變了策略,將多個記憶體樣本中的種子程式的二進位制程式碼擷取了出來,然後對這些不同時間點的二進位制程式碼進行了縱向比對,重點關注了那段奇異程式碼的演化過程,並不斷對比手邊的cpu指令手冊。
經過一番比對,肖遠又想到種子程式的進化還受到god程式的影響,於是又將god程式程式碼拿來,橫向縱向做了很全面的分析比對,兩個小時後,他終於搞明白了這段程式碼的來歷,心中卻暗暗驚異。
首先要確定的一點,這段程式碼並不是憑空產生的,種子程式雖然具有一些初步的進化功能,但是還沒有智慧化到自主的分析cpu指令集,並加以利用的逆天程度,但是它的來源卻也讓肖遠感到了一場驚奇,因為這段程式碼是從god程式中學習而來的,而god的程式中的這段程式碼來自於彙編時,彙編程式對它進行的自動最佳化。
更讓肖遠