我從來(lái)不相信什么命運(yùn)。比如代碼要么運(yùn)行,要么報(bào)錯(cuò),沒(méi)有第三種可能。
人生也一樣——要么贏,要么輸,哪來(lái)那么多玄乎的“如果”和“也許”。
直到我在實(shí)驗(yàn)室的儲(chǔ)物柜里,發(fā)現(xiàn)了那部手機(jī),收到了細(xì)思極恐的未來(lái)警告。
1.那天晚上十一點(diǎn)半,計(jì)算機(jī)系的教學(xué)樓已經(jīng)沒(méi)什么人了。我坐在實(shí)驗(yàn)室角落,
盯著屏幕上閃爍的光標(biāo),一行行調(diào)試著漏洞掃描程序??照{(diào)嗡嗡作響,
窗外偶爾傳來(lái)幾聲野貓叫。突然連續(xù)“嗡——嗡——”的幾聲震動(dòng)從身后的儲(chǔ)物柜里傳來(lái)。
我手指一頓。奇怪。我的手機(jī)明明就放在桌上。我起身,拉開(kāi)儲(chǔ)物柜門(mén)。
一部黑色手機(jī)靜靜躺在角落里,屏幕亮著,鎖屏界面跳出一條通知:“陳默,
別參加明天的 CTF 比賽?!蔽野櫭?。誰(shuí)在惡作劇?我拿起手機(jī),
拇指下意識(shí)按在 Home 鍵上——“咔嗒”,解鎖了。我的指紋。
屏幕上是默認(rèn) iOS 界面,但短信里只有一條已發(fā)送消息:“我是未來(lái)的你。
如果你收到這部手機(jī),說(shuō)明我的計(jì)劃成功了。接下來(lái),按我說(shuō)的做?!蔽叶⒅@行字,
喉嚨發(fā)緊。相冊(cè)里只有一張照片——病床上躺著一個(gè)男人。我一眼就認(rèn)出來(lái)了。那是我。
三十歲左右,臉色蒼白,右手纏滿繃帶,旁邊的床頭柜上放著一臺(tái)被砸爛的筆記本電腦。
我手指發(fā)涼。這不可能。“陳默,這么晚還在?”實(shí)驗(yàn)室門(mén)突然被推開(kāi)。周教授站在門(mén)口,
白襯衫一絲不茍地扎進(jìn)西裝褲里,金絲眼鏡后的眼睛帶著笑意。他手里拿著保溫杯,
熱氣緩緩上升。我下意識(shí)把手機(jī)塞進(jìn)口袋?!懊魈斓?CTF 決賽,準(zhǔn)備得怎么樣?
”他走近,聲音溫和,“我很期待你的表現(xiàn)。”“還行?!拔衣曇粲悬c(diǎn)干。他拍了拍我的肩,
“你的漏洞挖掘能力很突出,
正好我手頭有個(gè)項(xiàng)目需要這方面人才……”手機(jī)在我口袋里突然震動(dòng)。一下。兩下。
周教授還在說(shuō)著什么,但我已經(jīng)聽(tīng)不進(jìn)去了。……比賽結(jié)束后,我們?cè)斦??!彼詈笮α诵Γ?/p>
轉(zhuǎn)身離開(kāi)。門(mén)關(guān)上后,我掏出手機(jī)。新消息:“別碰他給你的任何項(xiàng)目。別相信他。
”屏幕頂端,信號(hào)欄顯示著“無(wú)服務(wù)”。這部手機(jī)根本沒(méi)有插 SIM 卡。
我盯著那條短信看了三秒,然后鎖上手機(jī)屏幕。實(shí)驗(yàn)室里只剩下機(jī)箱運(yùn)轉(zhuǎn)的低鳴。
周教授保溫杯里的茶香還飄在空氣里,混合著顯示器的味道。我慢慢坐回椅子上,
手指無(wú)意識(shí)地敲著鍵盤(pán)。別碰他給你的任何項(xiàng)目。別相信他。我認(rèn)識(shí)周教授兩年。
他是計(jì)院最年輕的博導(dǎo),學(xué)術(shù)明星,去年剛拿了國(guó)家科技進(jìn)步獎(jiǎng)。
他帶的學(xué)生不是進(jìn)大廠就是拿高額科研費(fèi)。而現(xiàn)在,
一個(gè)自稱(chēng)來(lái)自未來(lái)的我通過(guò)一部手機(jī)告訴我——他會(huì)毀了我的人生。我應(yīng)該相信嗎?
2第二天早上九點(diǎn),CTF 決賽在學(xué)校的信息樓開(kāi)賽。我站在賽場(chǎng)門(mén)口,背著電腦包,
手里攥著參賽證。走廊里擠滿了人,幾個(gè)大一的學(xué)弟興奮地討論著題型預(yù)測(cè)。
手機(jī)在褲袋里發(fā)燙。昨晚我研究了那部手機(jī)一整夜。它沒(méi)有 SIM 卡,
沒(méi)有安裝任何第三方應(yīng)用,甚至沒(méi)有連接 Wi-Fi 的記錄。但它就是能收到消息。
最新一條是半小時(shí)前發(fā)的:“現(xiàn)在離開(kāi)賽場(chǎng)。去圖書(shū)館三樓機(jī)房,用最角落那臺(tái)電腦。
”我深吸一口氣。做了一個(gè)決定。把參賽證塞給旁邊的室友張浩?!澳愀陕??”他瞪大眼睛,
“馬上開(kāi)始了!”“肚子疼,你替我上?!蔽肄D(zhuǎn)身就走?!芭P槽陳默!你他媽有??!
”他的罵聲回蕩在樓道里。此刻,圖書(shū)館三樓機(jī)房空無(wú)一人。我按照指示打開(kāi)最角落的電腦,
登錄。桌面自動(dòng)彈出一個(gè)文件夾,里面是一段監(jiān)控錄像。2019 年 4 月 17 日,
凌晨?jī)牲c(diǎn)十四分。周教授實(shí)驗(yàn)室的攝像頭拍下的畫(huà)面。視頻里,
周教授將一個(gè) U 盤(pán)插入主機(jī),幾分鐘后,屏幕彈出紅色警告窗口。他快速敲擊鍵盤(pán),
然后拔下 U 盤(pán),用紙巾擦了擦表面。錄像結(jié)束。自動(dòng)跳出一份報(bào)告,
標(biāo)注著“天網(wǎng)系統(tǒng)漏洞分析”。報(bào)告末尾的測(cè)試人員簽名欄,
赫然簽著我的名字——是我的筆跡。我的手開(kāi)始發(fā)抖。手機(jī)又震了。
“這是他準(zhǔn)備今天賽后給你的 U 盤(pán)。運(yùn)行后會(huì)偽造你的操作記錄。
”“然后你會(huì)背鍋入獄?!薄艾F(xiàn)在去實(shí)驗(yàn)樓 204,他的抽屜里還有同樣的 U 盤(pán)。
”實(shí)驗(yàn)樓 204 是周教授的專(zhuān)用辦公室。我站在門(mén)口,心跳快得像剛跑完一千米。
鑰匙在消防箱頂上——這是未來(lái)手機(jī)告訴我的。辦公桌的抽屜都上了鎖,
但這簡(jiǎn)易鎖難不倒我。我用回形針做了個(gè)撬鎖工具,十秒后,抽屜滑開(kāi)。
黑色 U 盤(pán)躺在文件夾上,旁邊是一疊簽過(guò)名的空白項(xiàng)目申請(qǐng)表。
我拿起 U 盤(pán)插進(jìn)自己的筆記本電腦。這個(gè)看似普通的文檔存儲(chǔ)器里,
藏著三層嵌套的惡意代碼。最外層的注釋里有一行小字://自動(dòng)上傳至服務(wù)器后,
替換操作日志/trace/student/[ID]我盯著這行代碼,胃部抽搐。
原來(lái)這就是未來(lái)的我入獄的原因嗎?周教授用我的學(xué)生賬號(hào)上傳了敏感數(shù)據(jù),
而所有操作記錄都會(huì)指向我?!瓣惸??“門(mén)口傳來(lái)的聲音讓我渾身僵硬。周教授站在那里,
手里還是那個(gè)保溫杯。他的目光從我手中的 U 盤(pán)移到打開(kāi)的抽屜,又移回我的臉上。
金絲眼鏡后的眼睛微微瞇起?!拔也?,”他慢慢走進(jìn)來(lái),反手關(guān)上門(mén),
“你是不是想要一個(gè)解釋?zhuān)俊笔謾C(jī)在口袋里瘋狂震動(dòng)。我后退半步,后背抵上文件柜。
周教授突然笑了。他把保溫杯放在桌上,發(fā)出輕輕的“咔噠”聲。
我慢慢向那扇開(kāi)著的窗口移動(dòng)。“聰明人就是麻煩?!彼麌@氣,
“我本來(lái)想用更溫和的方式的。”他的手伸向西裝內(nèi)袋——趁他不注意,
我翻窗跳到了隔壁的露臺(tái)。瘋也似的逃離了學(xué)校。我在校外的網(wǎng)吧躲到天黑。
手機(jī)收到最新的一條消息是:“別回宿舍,明早第一班高鐵去 H 市。
”隨后是一份逃亡指南。我盯著屏幕上的文檔,突然笑出聲來(lái)。昨天這個(gè)時(shí)候,
我還是個(gè)普通的大學(xué)生,最大的煩惱是下周的期末考試能不能及格。而現(xiàn)在,
我正被全校最有聲望的教授追殺,靠一部來(lái)自未來(lái)的手機(jī)指導(dǎo)逃亡。我揉了揉發(fā)燙的眼睛。
窗外,夜色將一切都籠罩了起來(lái)。3凌晨五點(diǎn),火車(chē)站。我坐在候車(chē)大廳的塑料椅上,
盯著手機(jī)屏幕。電量還剩 17%,逃得匆忙,沒(méi)帶充電寶。
未來(lái)手機(jī)又收到一條新消息:【出站后坐地鐵到向陽(yáng)大道,B 口出站。步行至零點(diǎn)網(wǎng)吧。
別用身份證租共享單車(chē)?!课胰嗔巳嗵?yáng)穴。從昨晚到現(xiàn)在,我像執(zhí)行代碼那樣,
機(jī)械地跟著指令行動(dòng)——翻墻出校、現(xiàn)金買(mǎi)票、全程戴口罩。廣播里開(kāi)始播報(bào)檢票信息。
我起身朝檢票口走去。4H 市的空氣有些潮濕。我按指示出了地鐵,
沿著向陽(yáng)大道走了二十分鐘,拐進(jìn)了那家零點(diǎn)網(wǎng)吧。柜臺(tái)后面的網(wǎng)管正在打手游,
頭也不抬:“包廂 50,大廳 20。”“我找林小雨?!蔽艺f(shuō)。網(wǎng)管的手指頓了一下,
抬頭打量我:“身份證?!蔽疫f過(guò)去——是順的張浩的。網(wǎng)管對(duì)著燈光看了看,
突然咧嘴一笑:“二樓最里面?!蔽彝崎_(kāi)門(mén),包廂里堆滿電子配件。
一個(gè)穿黑色衛(wèi)衣的女生背對(duì)著門(mén),三塊顯示器同時(shí)運(yùn)行著代碼。
她頭也不回:“你還有四小時(shí)安全時(shí)間。”我站在門(mén)口沒(méi)動(dòng):“你是林小雨?”她轉(zhuǎn)過(guò)來(lái)。
齊耳短發(fā),右耳三個(gè)耳釘,眼睛下方有淡淡的黑眼圈。陳默,“她朝我笑了笑,
『我未來(lái)的老板讓我接應(yīng)你?!晃野櫭迹骸拔磥?lái)老板?”“2045 年的你。
”她扔給我一瓶水,“他是一家網(wǎng)絡(luò)安全公司的 CEO——當(dāng)然,
是在某個(gè)沒(méi)坐牢的時(shí)間線里。”我接住瓶子,打開(kāi)喝了一口:“所以這一切是真的?
平行宇宙?時(shí)間旅行?”“比那更無(wú)聊。”她敲了下鍵盤(pán),
“你大概只是收到了自己發(fā)的系統(tǒng)補(bǔ)丁?!绷中∮暧萌昼姾臀医忉屃爽F(xiàn)狀。
2045 年的我研發(fā)了量子通信原型機(jī),能向過(guò)去發(fā)送數(shù)據(jù)包。
我手中的這部手機(jī)就是接收器,而未來(lái)陳默選擇了幾個(gè)關(guān)鍵點(diǎn)發(fā)送警告。
“第一個(gè)節(jié)點(diǎn)是 CTF 比賽,”她調(diào)出一段代碼,“如果你參賽,
周教授會(huì)以『項(xiàng)目合作』名義控制你的電腦?!蔽叶⒅聊唬骸艾F(xiàn)在呢?
”“現(xiàn)在你是通緝犯?!彼肿煲恍?,
“但比某條時(shí)間線強(qiáng)——那個(gè)你直到被捕都不知道是誰(shuí)坑了你?!贝巴鈧鱽?lái)警笛聲。
林小雨的表情突然凝固?!安??!彼w快地敲擊鍵盤(pán),“他們比預(yù)計(jì)快了 90 分鐘。
”我們是從后門(mén)消防通道跑的。
林小雨塞給我一個(gè)背包:“現(xiàn)金、備用機(jī)、充電寶、偽造的證件。
去火車(chē)站坐大巴到 B 市,再擺渡到海島?!薄澳隳??““我得清除訪問(wèn)記錄。
”她推我下樓,“記住,別聯(lián)系任何人,包括張浩?!蔽以谙锟诨仡^時(shí),她已經(jīng)不見(jiàn)了。
三輛警車(chē)停在網(wǎng)吧正門(mén),下來(lái)一群穿制服的人。我打開(kāi)未來(lái)手機(jī),手機(jī)里多了一張照片。
是 30 歲的我和林小雨的合影,背景是某個(gè)實(shí)驗(yàn)室。照片上寫(xiě)著:【別全信。
】開(kāi)往 B 市的大巴上,我翻看備用機(jī)里的資料。
林小雨給我準(zhǔn)備了一個(gè)完整的身份:Z 大交換生,叫“陳路”。
相冊(cè)里甚至有許多這個(gè)假名的生活照——一眼看去毫無(wú)破綻。未來(lái)手機(jī)突然震動(dòng)。
新消息:“輪渡碼頭,找穿藍(lán)色雨靴的漁夫。暗號(hào):『今天有石斑魚(yú)嗎?』”我望向窗外。
護(hù)欄飛速后退,像無(wú)限循環(huán)的代碼。二十小時(shí)前,我還是個(gè)普通大學(xué)生?,F(xiàn)在,
我?guī)е鴥蓚€(gè)身份、一部手機(jī),和一段被篡改的未來(lái)。5海邊的海風(fēng)帶著咸腥味,
吹得我嘴唇發(fā)干。碼頭擠滿了早市的漁船,發(fā)動(dòng)機(jī)的轟鳴和漁民的吆喝混在一起。我背著包,
在人群中尋找穿藍(lán)色雨靴的漁夫。一個(gè)皮膚黝黑的中年男人蹲在水泥墩上補(bǔ)漁網(wǎng),
腳上的雨靴藍(lán)得刺眼。我走過(guò)去:“今天有石斑魚(yú)嗎?”他頭也不抬:“石斑沒(méi)有,
帶魚(yú)要不要?”“我要野生的?!睗O夫這才抬頭看我,眼睛瞇成一條縫:“跟我來(lái)。
”他的漁船比看起來(lái)大,船艙里堆滿漁具和泡沫箱。漁夫挪開(kāi)一箱冰塊,露出下面的金屬門(mén)。
“下去?!彼咏o我一個(gè)手電筒,“別開(kāi)燈?!苯饘匍T(mén)后是間不到五平米的密室。
只有一臺(tái)電腦,墻上貼滿照片和便簽。最顯眼的位置釘著一張周教授的名片,
上面用紅筆畫(huà)了個(gè)叉。電腦自動(dòng)亮起,
屏幕顯示:【歡迎使用安全屋】漁夫的聲音從頭頂傳來(lái):“林丫頭說(shuō)你要躲七天。
每天凌晨一點(diǎn),我會(huì)送飯下來(lái)?!薄澳闶钦l(shuí)?”我問(wèn)?!皞?。”他咧嘴一笑,
露出兩顆金牙,“你未來(lái)欠我的?!迸撻T(mén)關(guān)上的聲音像一聲悶雷。電腦桌面只有一個(gè)文件夾,
標(biāo)簽是“時(shí)間線修復(fù)進(jìn)度”。里面是二十三個(gè)加密文檔,對(duì)應(yīng)未來(lái)手機(jī)收到的二十三條消息。
已經(jīng)解鎖的有:別參加 CTF 比賽。別碰周教授的 U 盤(pán)。逃離學(xué)校。
我點(diǎn)開(kāi)第四條:“獲取周氏項(xiàng)目密鑰”。
文檔里是一個(gè)地址和兩張照片——我在周教授的朋友圈看到過(guò),這是他在海島的別墅,
以及他最心愛(ài)的帆船模型。手機(jī)突然震動(dòng)。未來(lái)手機(jī)發(fā)來(lái)新消息:“今晚 20:00。
這是唯一機(jī)會(huì)?!备郊莿e墅布局圖和保安值班表。我盯著屏幕,喉嚨發(fā)緊。這不再是逃避,
而是主動(dòng)入侵。晚上七點(diǎn)半,我蹲在周教授別墅外的綠化帶里。這是一片高檔小區(qū),
每棟別墅都帶花園。周教授的房子亮著燈,但根據(jù)未來(lái)手機(jī)提供的情報(bào),
他今晚在 H 市參加學(xué)術(shù)會(huì)議。保安巡邏的間隙,我翻過(guò)鐵柵欄,手臂被劃出幾道血痕,
但沒(méi)時(shí)間管這些。書(shū)房的落地窗沒(méi)鎖——這也是未來(lái)消息提示的。
書(shū)房里的帆船模型比照片里更加精致。我擰開(kāi)底座,里面藏著一個(gè) U 盤(pán)。突然,
樓下傳來(lái)開(kāi)門(mén)聲。“周教授,您怎么提前回來(lái)了?”保姆的聲音?!皶?huì)議臨時(shí)取消了。
”是周教授的聲音,“樓上燈誰(shuí)開(kāi)的?”我屏住呼吸,攥緊 U 盤(pán)。
雜物柜是唯一的藏身處。我縮在里面,聽(tīng)見(jiàn)書(shū)房門(mén)被推開(kāi)。周教授的皮鞋踩在地毯上,
發(fā)出沉悶的聲響?!捌婀帧彼匝宰哉Z(yǔ),“我記得關(guān)窗了?!笔謾C(jī)震了一下。
我咬牙按住它。腳步聲停在柜前。心臟跳得太大聲,我懷疑他能聽(tīng)見(jiàn)。突然,樓下電話鈴響。
周教授罵了句什么,轉(zhuǎn)身離開(kāi)。我等到腳步聲消失,才敢查看手機(jī)。
未來(lái)陳默的消息:【現(xiàn)在立刻從車(chē)庫(kù)離開(kāi)?!空掌趁婺蔷湓捀‖F(xiàn)在腦海:【別全信。
】我打開(kāi)窗戶,順著雨水管到了車(chē)庫(kù)。
車(chē)庫(kù)的監(jiān)控被提前動(dòng)了手腳——畫(huà)面定格在空無(wú)一人的狀態(tài)。我蹲在一輛奧迪后面,
聽(tīng)見(jiàn)樓上傳來(lái)茶杯碎裂的聲音?;靵y中,我溜到側(cè)門(mén)。電子鎖閃著綠燈,有人遠(yuǎn)程解鎖了它。
我狂奔到小區(qū)圍墻邊,海風(fēng)迎面撲來(lái)。握著 U 盤(pán)的手止不住顫抖。手機(jī)又震了。
這次是林小雨的號(hào)碼:【漁夫會(huì)送你去新安全屋。U 盤(pán)別插普通電腦?!窟h(yuǎn)處傳來(lái)警笛聲。
不知道是沖誰(shuí)來(lái)的。我喘著氣,看向手里的 U 盤(pán),銀色外殼反射著月光。
6漁夫的船在凌晨三點(diǎn)靠岸。這次不是碼頭,而是一處荒僻的海灣。月光下,
一個(gè)穿沖鋒衣的男人站在礁石上抽煙,紅點(diǎn)忽明忽暗?!皳Q人接你。”漁夫把纜繩扔過(guò)去,
“我該收的債,你以后記得要還啊。”沖鋒衣男人跳上船,遞給我一個(gè)透明袋子。
“U 盤(pán)裝里面?!毙掳踩菔悄逞芯克膹U棄宿舍。沖鋒衣讓我叫他老北。
他讓我把 U 盤(pán)插進(jìn)一臺(tái)沒(méi)有網(wǎng)卡的電腦。屏幕跳出代碼編輯器,
密密麻麻的代碼像黑色的螞蟻群?!爸苁享?xiàng)目的核心密鑰?!崩媳敝钢欢渭用軘?shù)據(jù),
“能解開(kāi)天網(wǎng)的后門(mén)。”我扭頭看向他:“天網(wǎng)到底是什么?”“城市監(jiān)控系統(tǒng)升級(jí)項(xiàng)目,
表面是 AI 識(shí)別罪犯,”老北敲了幾下鍵盤(pán),“實(shí)際是給某些人提供合法逃跑的工具。
”一張照片彈出。是周教授和幾個(gè)穿警服的人的合影,
背景掛著“天網(wǎng)工程試點(diǎn)合作”的橫幅。手機(jī)突然震動(dòng)。未來(lái)陳默的消息:“立刻備份密鑰。
老北不可信?!蔽沂种敢唤?。老北去衛(wèi)生間時(shí),我快速插上自己的 U 盤(pán)。
傳輸進(jìn)度條走到 87%,門(mén)外傳來(lái)腳步聲。我拔出 U 盤(pán)塞進(jìn)襪子,假裝在看手機(jī)。
“有發(fā)現(xiàn)?”老北甩著手上的水珠?!皼](méi)有?!蔽野央娔X推過(guò)去,“需要更專(zhuān)業(yè)的解密工具。
”他盯著我看了兩秒,突然笑了:“你知道為什么 2045 年的你要你來(lái)這里嗎?
”“為了糾正錯(cuò)誤?!蔽壹傺b鎮(zhèn)定。“不,”老北拉開(kāi)抽屜,拿出一把槍?zhuān)?/p>
“因?yàn)槟菞l時(shí)間線上的你,也是既得利益者?!薄爱?dāng)然要除去你這個(gè)變數(shù)。
”槍口對(duì)準(zhǔn)我的眉心。后來(lái)我想,能救我的不是反應(yīng)快,
而是程序員的本能——看到錯(cuò)誤就 Ctrl+Z。在老北扣扳機(jī)前,
我把電腦屏幕轉(zhuǎn)向他:“數(shù)據(jù)包校驗(yàn)失敗了。”他分神的瞬間,我抄起鍵盤(pán)砸在他手腕上。
槍走火了,打爆了頭頂?shù)臒襞荨N覀兣ご蛟谝黄?。老北的力氣大得嚇人,一拳砸在我肋骨上?/p>
疼得眼前發(fā)黑。我摸到地上的槍?zhuān)鷣y扣動(dòng)扳機(jī)。后坐力震得手發(fā)麻。老北悶哼一聲,
捂著肩膀倒下去。我爬起來(lái)就跑,聽(tīng)見(jiàn)他在身后喊:“你以為他在幫你?
2045 年的陳默比周教授更……”第二聲槍響。老北的聲音戛然而止。林小雨站在門(mén)口,
手里拿著消音手槍?!澳銡⒘怂??”我喘著氣問(wèn)。“不然呢?”她踢了踢老北的尸體,
“這混蛋未來(lái)會(huì)黑我三個(gè)比特幣。”我盯著她:“他說(shuō)未來(lái)的我——”“別信。
”林小雨拽我起來(lái),“時(shí)間線每秒鐘都在分裂成無(wú)數(shù)條,誰(shuí)知道哪個(gè)陳默發(fā)的消息?