首頁(yè) 科幻

四進(jìn)制造物主

第四十六章 破譯

四進(jìn)制造物主 非奇異矩陣 2967 2022-12-04 23:58:50

  海濱城市的夏季向來(lái)以溫暖濕潤(rùn)著稱,而儀器室里由于需要用低溫和干燥來(lái)延長(zhǎng)儀器和試劑的壽命,所以除了依靠大功率空調(diào)保持20度室溫的同時(shí),還有一臺(tái)除濕機(jī)24小時(shí)全功率運(yùn)作。

  盧赫被凍得直哆嗦的同時(shí),也感覺(jué)到鼻子一直在往外冒火。他就這么一個(gè)人焦躁地躲著腳,等待著返回宿舍拿硬盤和衣物的艾達(dá)否。

  半個(gè)小時(shí)后,門終于被推開(kāi)了。他驚喜地轉(zhuǎn)頭,卻發(fā)現(xiàn)來(lái)者不是艾達(dá)否,而是王戊。

  “盧赫?大半夜的還在這兒做什么呢?”王戊沒(méi)有走進(jìn)門,只是探進(jìn)來(lái)了個(gè)頭,吃驚地問(wèn)。

  盧赫也有些驚訝,一改瑟縮的姿態(tài),挺起胸問(wèn):“王老師這么晚怎么也沒(méi)下班?”

  “哎呀,別提了。我教學(xué)生做實(shí)驗(yàn),那幫小姑娘笨手笨腳的,一晚上都沒(méi)學(xué)會(huì)。”王戊皺著眉說(shuō),話里滿是無(wú)奈和不滿,神情和語(yǔ)氣卻飽含著沾沾自喜。

  “那可真是辛苦您了呢。”盧赫裝作不經(jīng)意地走到擺著散亂螺絲頭的置物架前,試圖用身子遮擋住鋅指平臺(tái)的屏幕,“我趁晚上人少,約了臺(tái)儀器。已經(jīng)用完了,馬上也就回去了?!?p>  王戊把脖子往前探了探,注視著盧赫身后的那一角瑩瑩藍(lán)光,意味深長(zhǎng)地說(shuō):“鋅指平臺(tái)這種東西,還需要等人少的時(shí)候用嗎?這破爛儀器平日里一個(gè)月都不會(huì)有人用一次?!?p>  “是,是我多慮了。今天晚上還真沒(méi)人跟我搶。行了,我準(zhǔn)備收拾收回去了,您也早點(diǎn)回家休息啊,王老師?!北R赫訕笑著說(shuō)完,掏出手機(jī)想要給艾達(dá)否發(fā)信息讓他別回來(lái)了。

  王戊站在原地,似笑非笑地瞇著眼繼續(xù)問(wèn)道:“盧赫,你不會(huì)是,又在養(yǎng)烏龜了吧?”

  盧赫怔了一下,收起臉上的笑,認(rèn)真地答道:“王老師真是多慮了呢,您是了解我的,我既不養(yǎng)烏龜,也不養(yǎng)黑膠蟲。我沒(méi)那個(gè)能耐?!?p>  正說(shuō)著,身后響起了熟悉的聲音,“喂,讓一讓,借過(guò)一下?!?p>  只見(jiàn)艾達(dá)否一把把屏蔽門推到大開(kāi),然后從王戊身后冒了出來(lái),徑直走到盧赫身邊,好似王戊不存在一樣。

  王戊見(jiàn)狀,悻悻地走了。

  艾達(dá)否從口袋里掏出硬盤,插在儀器上,重啟進(jìn)了dos界面。

  盧赫在他身后觀望著,好奇地問(wèn):“老艾,我看你好像不太待見(jiàn)王戊啊?!?p>  艾達(dá)否一邊敲打出一行行命令,一邊語(yǔ)氣不屑地回答道:“那種人有什么好待見(jiàn)的,學(xué)術(shù)妲己而已?!?p>  盧赫吃到了驚天大瓜,連忙追問(wèn):“此話怎講?。克粋€(gè)男的,怎么就妲己了。莫非,他是同志?”

  “你個(gè)死變態(tài),想哪兒去了?”艾達(dá)否嫌棄地轉(zhuǎn)頭看了一眼盧赫,然后繼續(xù)著手里的活兒,“他是學(xué)院里出了名的交際花,每天孜孜不倦地給同組的女博士和剛升上去的女講師獻(xiàn)殷勤,只為蹭論文作者?!?p>  “哎你別說(shuō),有人還真就吃他這一套,讓他順利蹭到了一個(gè)頂刊共一和幾個(gè)二作,順利留了校。這人學(xué)術(shù)水平不咋地,人品也不咋地,腦子還缺根弦。據(jù)說(shuō)他畢業(yè)前夕,大年夜地跑到王峰家里去送禮,把人家煩得要死?!?p>  “雖然王峰也不怎么待見(jiàn)他,但架不住人家和學(xué)院女領(lǐng)導(dǎo)關(guān)系好啊,最終還是被留下來(lái)了。我可跟你說(shuō),趁早躲著他點(diǎn),就這種能人,分分鐘把你枯燥的科研路給變成甄嬛傳?!?p>  艾達(dá)否說(shuō)完,把硬盤一拔,往兜里一揣,拍了拍手,“走吧,回宮去吧!”

  “就,就這?就完事兒了?”盧赫被不可思議到話都說(shuō)不利索了,“那你快說(shuō)說(shuō)這儀器里到底有什么秘密?”

  艾達(dá)否一個(gè)手刀削過(guò)了盧赫頭頂?shù)拇裘?,“異想天開(kāi)什么呢?我只是克隆了一個(gè)鏡像系統(tǒng),這大幾百萬(wàn)的東西,可不能在上面胡來(lái)??旆霰就趸貙m?!?p>  “喳?!?p>  回宮后,艾達(dá)否坐到自己王位上,翹著右手小拇指,捏著硬盤的USB口,插入到他的主機(jī)上,把鏡像系統(tǒng)導(dǎo)入虛擬機(jī),然后暢游在其中。

  503寢室的燈亮了一夜,第二天一早,艾達(dá)否推醒了一旁抱著椅子睡得正香的盧赫。

  “小赫子,快醒醒,朕要施展絕技了?!卑_(dá)否指著屏幕上一個(gè)屎黃色的文件夾,“看看,這個(gè)Immortal,就是核心程序的主文件夾。不得不說(shuō),上個(gè)世紀(jì)的碼農(nóng)還都挺中二的,這單詞是什么意思?永垂不朽?”

  盧赫揉了揉眼睛,打了個(gè)大大的哈欠,“這詞是永存和不死的意思吧,寓意很好啊。”

  艾達(dá)否撇撇嘴,打開(kāi)一個(gè)叫ExeinfoPE的軟件,把文件夾里一個(gè)名為Immortal.exe的文件拖了進(jìn)去,然后按下了回車鍵。

  進(jìn)度條飛快地走著,不一會(huì)兒,軟件下半部顯示出了兩條信息:

  Microsoft Visual C++ V2.0 -100x -(x86)

  脫殼成功

  “完美!”艾達(dá)否激動(dòng)到拍桌,“古董軟件就是如此簡(jiǎn)單。也許他們的加殼手段在當(dāng)時(shí)看來(lái)很復(fù)雜,但在20年后的今天,脫殼就像喝水一樣簡(jiǎn)單。”

  “什么是加殼脫殼?。俊北R赫被觸及到了知識(shí)盲區(qū)。

  “加殼就是為了防止軟件被破譯,在指令的頭部寫入一層額外的指令,把程序入口點(diǎn)和動(dòng)態(tài)鏈接庫(kù)的地址表隱匿起來(lái)?!卑_(dá)否說(shuō)完又思索片刻,“打個(gè)不太恰當(dāng)?shù)谋确骄褪牵悴幌氡粍e人看光光,所以要穿衣服,這叫加殼?,F(xiàn)在我非要看光你,就強(qiáng)行把你衣服給扒了,這叫脫殼?!?p>  “變態(tài)?!北R赫捂住自己的領(lǐng)口,“那下一步呢?”

  “下一步啊,那就是我的拿手絕技了,對(duì)這些可執(zhí)行文件和動(dòng)態(tài)鏈接庫(kù)進(jìn)行逆向分析,盡可能全地反推出程序源碼?!卑_(dá)否說(shuō)著拍了拍自己胸脯,“這破軟件是C屁屁寫的,我拿手,放心好了!”

  于是之后的一周里,503寢室的就寢率急劇地從0%提升到了77%,雖然天花板上的那盞老舊的吊燈,每日都不堪重負(fù)地徹夜長(zhǎng)明。

  那個(gè)和艾達(dá)否同名的軟件,一如既往地給力,僅用靜態(tài)分析,便還原出了80%以上的高級(jí)語(yǔ)言。艾達(dá)否孜孜不倦地啃食它們,可吃完了以后,卻發(fā)現(xiàn)自己吃了個(gè)寂寞。

  因?yàn)槟切┠軌虮唤馕龅牟糠?,全部都在調(diào)用系統(tǒng)接口,從對(duì)象屬性、函數(shù)名和執(zhí)行邏輯來(lái)看,它們的功能僅僅在于讀取交互數(shù)據(jù),以及把不知道從哪里蹦出來(lái)一長(zhǎng)串字符通過(guò)自定義的接口,傳遞給另外一個(gè)明顯是用來(lái)自動(dòng)化操縱硬件的軟件。

  這就像好不容易把別人衣服給扒下來(lái)了,卻發(fā)現(xiàn)人家還額外穿了一套內(nèi)衣,一個(gè)點(diǎn)都沒(méi)露。想要一飽眼福,就要再去做動(dòng)態(tài)分析和黑盒分析。

  動(dòng)態(tài)分析就是給程序打斷點(diǎn)或者干脆直接單步執(zhí)行,觀察寄存器、內(nèi)存數(shù)據(jù)和堆棧的變化,猜測(cè)程序做了什么;黑盒分析就是給程序輸入大量的測(cè)試樣例,通過(guò)觀察輸入和輸入數(shù)據(jù)的關(guān)系,猜測(cè)程序到底做了什么。

  這兩種分析方式都是難啃的硬骨頭。

  于是在未來(lái)的半個(gè)月里,每當(dāng)艾達(dá)否靜坐在電腦屏幕前一邊撓頭一邊扣腳時(shí),盧赫都會(huì)為他遞上一杯熱騰騰地黑芝麻糊。因?yàn)樗揪筒粷饷艿念^發(fā),愈加稀疏了。

  在喝下37杯黑芝麻糊之后,艾達(dá)否終于崩潰了。他叫來(lái)盧赫,鄭重地說(shuō):

  “現(xiàn)在我宣布一個(gè)驚天大秘密:這個(gè)鋅指平臺(tái)沒(méi)有任何技術(shù)含量,它的原理就是你隨機(jī)給它輸入一串堿基序列,然后它再隨機(jī)地給你輸出一串。就這樣,他們花了大幾百萬(wàn)買了一臺(tái)彩票機(jī),就電視上那種,一個(gè)鼓風(fēng)機(jī)往透明塑料轉(zhuǎn)盤里吹,隨機(jī)吹出一個(gè)又一個(gè)的球?!?p>  “現(xiàn)在我給你演示一下?!卑_(dá)否說(shuō)著,在地址0100345C處打下一個(gè)斷點(diǎn),把內(nèi)存數(shù)據(jù)修改為AGGCCGTTC的二進(jìn)制形式,然后運(yùn)行到下一個(gè)斷點(diǎn),有一串長(zhǎng)達(dá)900的數(shù)字被存入內(nèi)存。

  “看,就是這樣。它只是給你搖了一串彩票?!卑_(dá)否攤手,“老弟,對(duì)不住,是我說(shuō)大話了。不過(guò)也不完全是,因?yàn)槲彝ㄟ^(guò)各種手段分析了,這輸入和輸出真沒(méi)什么關(guān)系!南州灣大學(xué)是這個(gè)世界上最大的冤大頭,圣加蒙是這個(gè)世界上最大的大騙子,沒(méi)有之一!”

  “介斗似嘛玩兒意兒斗!”艾達(dá)否的心靈似乎受到了創(chuàng)傷,喋喋不休道:“里德那個(gè)老梆子,用一個(gè)虛擬彩票機(jī),騙了全世界二十多年!”

  艾達(dá)否說(shuō)完后,仰面干掉了杯底的芝麻糊,一把把杯子砸在桌上,然后與盧赫一起呆滯著。

  正當(dāng)兩人沉默時(shí),他們身后幽幽地傳來(lái)了一句話。

  “這不是Fortran嗎?”

  兩人同時(shí)回頭:“易大仙你什么時(shí)候回來(lái)的?你走路怎么沒(méi)聲?嚇?biāo)纻€(gè)人了!”

  “佛抻是什么?”艾達(dá)否連忙追問(wèn)。

  易天霖沒(méi)有理會(huì)二人,而是盯著屏幕繼續(xù)說(shuō)道:“佛抻是一個(gè)比C還早誕生二十多年的高級(jí)語(yǔ)言,經(jīng)常用于科學(xué)計(jì)算,我們專業(yè)常用。它和C之間最大的區(qū)別在于,數(shù)組的排列方式一個(gè)是先行后列,一個(gè)是先列后行。”

  “你看?!币滋炝刂钢鴥?nèi)存區(qū)說(shuō),“你輸入的那個(gè)數(shù)組,在內(nèi)存里明顯就是先列后行排列的,所以這程序肯定是用佛抻寫的。”

  盧赫和艾達(dá)否恍然大悟,一同轉(zhuǎn)身?yè)湎蛞滋炝兀滋炝靥右菜频嘏艿袅恕?p>  艾達(dá)否欣喜若狂,從桌下掏出一個(gè)筆記本,提在手里顛顛地跑出了門,只留盧赫一人獨(dú)守空房。

  獨(dú)處的時(shí)間里,盧赫陷入了精神內(nèi)耗。因?yàn)樗呐枷?,看起?lái)好像快要塌房了。也不對(duì),主觀來(lái)說(shuō),他的偶像早已塌房。

  羅伯特·里德,這位開(kāi)啟了基因編輯傳奇的風(fēng)云人物,曾讓世人誤以為,人類即將擺脫自然的限制,走向無(wú)限可能。他曾帶著一身豐功偉業(yè)斷然離世,只留下了一個(gè)彩票機(jī)。

  盧赫已不對(duì)軟件破譯抱有任何希望,因?yàn)闊o(wú)論那段用最古老編程語(yǔ)言書寫的程序是什么,它始終都是一個(gè)彩票機(jī)。因?yàn)榘_(dá)否已多次嘗試,就算多次給它輸入同一串字符,它每次的輸出都是大不相同的。

  即便他曾經(jīng)有那么一段抱著機(jī)器嘗試上千次的歷史,但作為一個(gè)理智的理科生,他清楚地知道,金哥的誕生,是一個(gè)非常偶然的成功,是被幸運(yùn)女神短暫地親吻了一下。

  想到這里,他重歸心灰意冷。剛剛?cè)计鹆艘粋€(gè)月的寶貴希望,重新破滅掉。他就像是一頭落單的駱駝,回到那熟悉的荒漠茫然地繞著圈,直至駝峰里的脂肪逐漸消耗殆盡,至死都看不到一眼綠洲的影子。

  正當(dāng)他全身爆發(fā)出無(wú)法抵御的疲倦,一步一步挪到梯子前,準(zhǔn)備爬上床蒙頭大睡時(shí),艾達(dá)否風(fēng)風(fēng)火火地回來(lái)了。和他一起出現(xiàn)的還有易天霖。

  只見(jiàn)艾達(dá)否揪著易天霖的后衣領(lǐng),拖著他進(jìn)了宿舍,嘴里連連爆發(fā)出怨念:“我說(shuō)你最近發(fā)什么神經(jīng)?怎么總是躲著我倆?快說(shuō),是不是干什么虧心事了?是不是背著我出去偷漢子了?”

  “我一堂堂正正的風(fēng)水先生,可不興做那些泯滅人性的事,會(huì)遭天譴的?!币滋炝嘏拇蛑_(dá)否的手,“你給我松開(kāi),我這都是為了你倆好,我都看見(jiàn)你倆互相壁咚了,我這是給你們制造相處的空間!”

  “花好月圓,成人之美!”易天霖掙脫了艾達(dá)否的魔爪,挺胸抬頭,一身正氣地說(shuō)。

  艾達(dá)否和盧赫細(xì)品一下易天霖的話,同時(shí)爆發(fā)出一句:“我去你大爺?shù)?!?p>  一番解釋過(guò)后,易天霖終于相信了二人之間的清白,意味深長(zhǎng)地說(shuō)了一句:“沒(méi)關(guān)系的,萬(wàn)一以后有什么,我也都支持你們!”

  “你個(gè)順鳥兒!”艾達(dá)否一邊用家鄉(xiāng)話罵著人,一邊把易天霖按到自己的椅子上,啪地一下拍亮了電腦屏幕。屏幕上是一行行陌生的代碼。

  “給你個(gè)贖罪的機(jī)會(huì),趕緊幫著看看這段程序是什么意思?!卑_(dá)否把鼠標(biāo)往易天霖面前一拍,“我找我的跨界老同學(xué)還原出的一段佛抻代碼,但他幾年沒(méi)用過(guò)佛抻,已經(jīng)看不懂了,剩下的就靠你了。”

  易天霖接過(guò)鼠標(biāo),光標(biāo)在那一行行黑的、藍(lán)的、墨綠色的字符上劃過(guò),直至結(jié)尾。程序不長(zhǎng),只有寥寥的一百多行,他很快看完后,又返回開(kāi)頭重新劃了一遍。

  又一次劃到結(jié)尾時(shí),他皺著眉頭說(shuō):“我能看懂,但我不理解。這段程序沒(méi)有任何功能,它只是定義了一個(gè)偽隨機(jī)數(shù)生成器,把隨機(jī)數(shù)加到一個(gè)數(shù)組上,然后輸出。你說(shuō)只還原出了一段,那其它的呢?”

  “其它的加了脫不了的殼?!卑_(dá)否說(shuō)著一把把易天霖扒拉到了一邊,自己做到電腦前,“不過(guò)已經(jīng)不重要了,就這樣已經(jīng)夠了?!?p>  只見(jiàn)艾達(dá)否噼噼啪啪地砸著鍵盤,做著些只有他自己才能看懂的事情。最后,在地址0100345C處打下一個(gè)斷點(diǎn),把內(nèi)存數(shù)據(jù)修改為AGGCCGTTC的二進(jìn)制形式,然后運(yùn)行到下一個(gè)斷點(diǎn),有一串長(zhǎng)達(dá)900的數(shù)組被存入內(nèi)存。這一個(gè)數(shù)組,與之前那個(gè)一模一樣。

  艾達(dá)否對(duì)著結(jié)果楞了一下,然后轉(zhuǎn)頭看向盧赫:“我沒(méi)有食言,我成功破譯了。我取消了隨機(jī)數(shù)生成,然后,輸入和輸出之間,便有了確定的關(guān)系?!?p>  “雖然不知道那個(gè)老梆子究竟在葫蘆里賣的什么藥,但可以肯定的是,這臺(tái)機(jī)器的核心就是那套脫不了殼的程序。鋅指平臺(tái)本不是一臺(tái)彩票機(jī),是被人生生變成了彩票機(jī)?!?p>  一時(shí)間,三人一同陷入沉默,疑惑在心中堆積。

  如果說(shuō)鋅指技術(shù)曾是基因編輯領(lǐng)域里最亮眼的一塊寶石,那么到底是誰(shuí),又究竟是為什么,要把它永久埋葬?

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁(yè)
返回書頁(yè)
指南