回到台州之後的日子,過得像一鍋被調小了火的粥——表面上平靜無波,底下還咕嘟咕嘟冒著泡。
7號樓的重建工作比預期快得多。孫大爺帶著幾個退休工友把27樓北面那堵牆徹底拆了重砌,新牆比舊的還厚了五公分。李響把全樓的電路重新走了一遍,連地下室那兩台發電機都接上了市電備用。張姐在後院清理出來的空地上種了一排小蔥和白菜,說是台風來了也不怕斷糧。
石頭轉學到了樓下的一所小學。他每天早上背著書包經過二樓大廳,總會探頭進來看一眼我的手機——那個亮著屏幕、永遠插著充電器的App。App上的倒計時從一百八十多天開始往下掉,每天少一格,石頭每天都來匯報︰哥哥,今天少了一天!
嗯,知道了。
少到多少了?
我看了看屏幕。距離下一輪台風季節還有一百四十七天。
快了。
石頭滿意地點點頭,然後撒腿往學校跑。張姐在後面追著他往書包里塞包子。
沈澈在二樓大廳那個折疊桌上扎了營。他從浙大氣象系的同學那兒弄來了一台舊服務器,架在樓梯間的角落里,連著陸明笙留下的主控終端部分鏡像數據。每天他像個數據中心管理員一樣蹲在服務器旁邊,敲鍵盤敲到深夜,有時候凌晨三點我下樓倒水還看見他的電腦屏幕亮著。
睡一會兒?我說。
加密算法比我想的復雜。他頭也不抬,陸老師那邊的解析進度也卡在第三層了。她昨天傳消息說需要更多時間。
多久?
不知道。可能一個月,可能兩個月。
我端著水杯坐在他旁邊,看著屏幕上那些密密麻麻的十六進制碼。你跟她聯系上了?
她用主控終端給我發了一次加密信號。很短,就兩句話︰‘第三層結構破不開,要原代碼的密匙片段。’沈澈摘下眼鏡揉了揉眼楮,但那部分原代碼在‘白海豚計劃’的原始鏡像里。鏡像在哪兒?
在1008室那個中繼器的存儲芯片上?
他重新戴上眼鏡,但我拆不下來。一拆就觸發自毀。
那怎麼辦?
沈澈看了我一眼,嘴角那個自嘲的弧度又回來了。我在寫一個模擬器。把那個中繼器的運行環境虛擬到服務器上,在里面跑一個沙盒版本,原代碼不動,但我能從模擬出來的環境里讀取密匙片段。
要多久?
三個月。
我在心里算了算。三個月後還剩將近兩個月時間,夠用。
那就寫吧。我每天給你帶飯。
沈澈回頭看了我一眼,大概想說什麼感人的話,但最終只是推了推眼鏡,轉回電腦屏幕前面。中午給我帶個肉包子。
白菜的行不行?
老秦白天在物業上班,下班之後雷打不動地回7號樓報到。他的內容很固定——先去一樓檢查防水圍擋的殘余結構,再去十樓巡邏一遍空置房,最後到27樓把我晾在陽台上的衣服收進來。我第三次發現他替我收衣服之後終于忍不住了。
老秦,你不用管我的衣服。
風吹掉了還得下去撿,麻煩。他面無表情地說完,把疊好的t恤放在我的折疊床上,轉身走了。
周敏在市區找了個臨時診所的活兒,但每周至少回樓里兩趟。她帶著一份新的物資清單來跟我核對——全樓剩余住戶的備用藥品儲備、應急食品的保質期、發電機柴油的庫存量。我跟她對賬的時候總覺得在開項目周會,而她是那種講話不拖泥帶水、三分鐘能講完十五分鐘內容的產品經理。
抗生素還夠用三個月。退燒藥只夠一個半月,下次補貨的時候要優先。她把清單拍在我面前,還有,張姐種的小白菜長蟲了,你讓李響去弄點殺蟲的。
殺蟲……我去買瓶花露水行嗎?
周敏看了我一眼,那個眼神跟她往患者胳膊上纏繃帶之前一樣,意思是你最好別跟我抬杠。
我去買農藥。我認慫地改口。
五個月里,陸明笙通過沈澈的加密信道傳了三次消息。第一次說第三層結構已破60%,穩定進行中;第二次說研究院那邊的掃描信號出現了兩次,均未定位到我;第三次說App後台運行正常,密鑰快照累計采集到12枚,夠開第四層用了。
第三次消息傳來的時候,倒計時還有四十七天。
那是個陰天,台州入秋之後第一次降溫,海風帶著涼意從江面上灌進來。我坐在27樓的窗台上,手機插著充電寶,App的主界面正中央顯示著倒計時︰47天12小時36分鐘。
樓下傳來石頭的讀書聲。他在背課文,脆生生的童聲從二樓拐角傳上來︰秋天來了,天氣涼了。一群大雁往南飛……
我低頭看了一眼手機。屏幕上的藍色光暈平穩地脈動著,跟往常一樣。
樓下的讀書聲停了。石頭改唱了一首不知道從哪學來的兒歌,調子跑得飛起。張姐在下面吼他背課文別唱歌,他換了調繼續唱。孫大爺在院子里修剪一株僥幸活下來的月季,剪子在枝椏間 作響。李響在修隔壁8號樓搬來的一台舊冰箱,壓縮機嗡嗡地轉,制冷劑嘶嘶地漏,他又擰緊了管口。
一切都正常得過分,正常得讓我有點不太習慣。
晚飯的時候,沈澈破天荒地離開了他的服務器,端著一碗面上了27樓跟我一起吃。我煮的面,青菜是張姐種的,雞蛋是周敏從診所帶回來的——她說診所後面養了幾只雞,誰也管不著。
模擬器快寫完了。沈澈嗦了一口面,含混不清地說,大概再一周就能跑起來。
然後呢?
然後讀密匙片段,傳一部分給陸老師。她那邊湊夠了應該就能破開全部加密層。
那研究院計劃就曝光了?
計劃曝光只是第一步。他放下筷子,關鍵是知道他們下一批台風從哪里生成、什麼時間觸發、目標設定在哪兒。知道了才能提前布防。
布防?我把面碗放下,就憑我們這幾個人和一台App?
沈澈看著我,表情很平靜。你覺得上一次你是怎麼贏的?靠的是一百多個人、一台破發電機、一個沒寫完的軟件。現在你有五個月的經驗、一棟加固過的樓、一個解碼中的主控終端、還有一個曾經替敵人寫代碼的人。
還有一個每天報數的七歲小孩。我補充。
沈澈笑了一下,那個笑在眼鏡片後面顯得很輕,所以別再問‘就憑這幾個人’了。
一周後,沈澈的模擬器跑通了。他在二樓服務器旁邊舉著手機給我看屏幕上跳出來的那行字︰密匙片段讀取成功。共16枚。正在壓縮傳輸——
綠色進度條走完最後一格,彈出一個對勾。陸明笙那邊應該收到了。果然,當天深夜,沈澈的加密信道里進來一條新消息,只有一句話︰收到。第四層已破。繼續等你那邊的後續快照。
倒計時還有三十九天。
進入最後一個月的時候,7號樓的氣氛開始微妙地緊張起來。雖然沒有人嘴上說台風要來了,但每個人都開始在不知不覺中做著準備。李響把地下室兩台發電機重新檢修了一遍,孫大爺在27樓搭了個簡易了望台(其實就是幾個木箱子疊起來的),張姐在後院埋了兩壇咸菜。老秦下班回來的時候順路買了一百節干電池,整整齊齊碼在二樓倉庫里,像碼著一牆金磚。
石頭還在每天報數︰哥哥,還有三十天!
二十八天!
二十五天!
有一天他報完數沒走,站在我旁邊看了一會兒窗外安靜的江面。江面上有幾艘漁船正在收網,夕陽把水面染成橘紅色,跟台風天那種暗紅色完全是兩種東西。
哥哥,石頭問,白海豚還會來嗎?
我想了想,蹲下來跟他平視︰白海豚不來了。但可能有別的。你還畫黑鯊魚嗎?
石頭從書包里翻出一張新的畫,展開給我看。上面畫著一整個艦隊——好幾條大魚排成一排,每條魚身上都背著武器,有炮管有盾牌,最中間那條最大的魚頭上畫著一個歪歪扭扭的小人,舉著一部手機。
這是什麼?
黑鯊魚戰隊。石頭指著畫說,這個隊長的手機能打台風。
我把畫接過來,疊好,塞進外套內袋里。里面已經攢了六張了。
倒計時還有二十一天的時候,陸明笙傳來了第四條消息。這次內容長了不少,沈澈讀給我听的,聲音壓得很低︰
第四層已全破。加密計劃暴露了60%。研究院‘三氣旋聯動’的具體參數已經出來一部分——三個生成點分別在菲律賓海、琉球群島東南和台灣以東洋面。觸發窗口期是八月中旬到九月上旬。具體日期還在第五層加密里。我繼續處理。你們保持App在線。
三氣旋聯動。沈澈把消息關掉,靠在服務器旁邊的牆上,果然是三台風同時生成。
地點我知道了。時間還不知道。
還有二十一天。陸老師說八月中旬到九月上旬,那就是大概一個月之後。我們還有時間。
夠嗎?
沈澈沉默了一會兒,轉頭看向我。上次我們用一台裝置打了一個台風。這次要面對三個同時生成的。你覺得夠嗎?
我沒回答,但摸了一下兜里的手機。App還在後台平穩地運轉,藍色的光暈在鎖屏界面上微微亮著,像一顆不會熄滅的小夜燈。
先準備吧。我說,把上次的裝置圖紙找出來,改進一下。
改成能打三個的?
改成能同時打三個的。或者兩個也行,剩下一個交給你那台服務器。
沈澈看了看他那一牆服務器,又看了看我,嗯了一聲,重新坐回電腦前面了。
那天晚上,我獨自上了27樓。新砌的北牆還帶著水泥的氣味,孫大爺的活兒干得細,手摸上去是光滑的涼。我坐在牆邊,把手機掏出來放在膝蓋上。App界面安靜地亮著,倒計時顯示︰21天03小時。
我點開陸明笙那條語音消息——五個月前在蒼南山路上收到的那條,一直存在稍後播放列表里沒听。
播放鍵亮了。她的聲音從手機揚聲器里傳出來,還是偏中性、語速偏快︰林不渡,如果你听到這條消息,說明你已經成功度過了至少一個完整台風周期。恭喜……後面還會發生更多事情,台風只是開始……日界線上的那個東西,是誰建的?他會告訴你答案……你做得很好。再見。
語音播完。窗外的江面安安靜靜地反著月光。
我把語音又播了一遍。
然後第三遍。
播到第四遍的時候,我把它關了,把手機插上充電器,放在枕頭旁邊。
樓下的燈還亮著。沈澈的服務器在嗡鳴,李響的扳手偶爾磕一下地板,孫大爺的鼾聲隔著兩層樓隱約傳上來。所有人都還在。
我把外套內袋里那六張畫的邊緣撫平了一下,跟通訊錄疊在一起。
還有二十一天。