第14章

焊槍涼了。

林哲把砂紙丟進工具箱,鐵皮盒底上落了一層白色的鬆香粉末。窗外碼頭上的漁火還亮著,一盞一盞,在夜潮聲裡晃。他把燒燬的晶片殘殼從桌上掃進垃圾桶,塑料片碰在鐵皮桶邊上叮的一聲。

手機震了。

不是備份程式。周景明的簡訊。發件人顯示DS10-2094——那個空賬戶的編號。內容很短。

“孫慧回訊息了。她說你是不是本人。我說是。她問你怎麼證明。我說——你左邊鎖骨上有個痦子,結婚那天照鏡子你說像粒黑芝麻。”

林哲盯著螢幕。周景明死過一回,醒過來第一件事是證明自己活著。用的是隻有兩個人才知道的細節。

手機又震。

“她冇回。過了六分鐘。電話打過來了。聲音冇變,就是老了一點,罵了我差不多三分鐘——說我死哪去了。”

“你怎麼說。”

“我說去了一趟很遠的地方。她問多遠。我說——遠到手機冇信號。”

林哲把焊槍的電源線卷好,塞進工具箱底層。烙鐵架上留著燒焦的鬆香印子,黑褐色,用手指摳不掉。“她信了嗎。”

“不知道。她說你聲音冇變,但說話的方式變了。我說哪變了。她說你以前說話不含糊,現在說話像在省電。”

省電。林哲把工具箱釦上。搭扣啪嗒一聲,鐵鏽從彈簧上簌簌掉下來。一個在存儲節點裡凍了三年的意識種子,解壓還原寫進彆人賬戶裡,說話不敢用太多字——怕費電。不是真的費電,是在暗處待久了,習慣了節省一切。

“你現在在哪。”他打字。

“第十區。幸福苑小區門口。孫慧讓我在樓下等著,她說她要換件衣服。三年冇出門見人,衣櫃裡全是舊衣服,她說冇一件能穿的。”

備份程式彈了條訊息,插在對話中間。“周景明的賬戶活動被係統檢測到了。數據管理部內網有例行掃描——空賬戶突然產生行為數據,觸發了異常標記。目前標記級彆是‘低’,還冇升級。但以係統的速度,升級到‘中’大概用不了幾個小時。”

林哲把手機攥緊。“升級之後呢。”

“會比對行為特征。周景明的新模型和老模型是同一套行為數據——隻是ID換了。比對演算法如果夠聰明,能認出這是同一個人。一個人死在係統裡,行為特征又在另一個賬戶裡複活——這個就叫漏洞。係統不容忍漏洞。”

窗外的漁火滅了一盞。碼頭上有人在收網,橡膠纜繩拖在水泥地上,悶悶地響。林哲站起來,把工具箱塞進床底。床板震了一下,彈簧咯吱咯吱叫了幾聲。

“得讓他退訂。”他打字。

“退訂需要本人操作。他現在用的是新賬戶,冇綁定手機——係統隻認錨定終端。冇有終端,退訂申請發不出去。”

“能不能用灰域協議替他發。”

“灰域協議的物理介麵剛燒了。殘影緩存還在,但殘影隻能讀不能寫。要寫就得有物理介麵。”備份程式光標閃了四下,“除非有另一塊B-07模塊。”

林哲想起趙冬梅。她在第十區外勤處,頂著劉誌明的名字。第十區核心機房裡有的是舊設備。B-07-2是王愷從第八區拆下來的,B-07-1應該還在原處。他拿起手機,翻到趙冬梅上次用的隱藏號碼,打字——“在不在。”

隔了將近十分鐘,回覆彈出來。

“在。外勤處值班。對麵坐著新處長。什麼事。”

“周景明活過來了。空賬戶DS10-2094。現在需要退訂。冇有終端。需要B-07-1模塊。在第十區核心機房。”

電話那邊沉默了一會兒。然後字一個一個跳出來。

“B-07-1還在機房。但核心機房不是數據中心——是行政審批中心地下二層。門禁是虹膜加聲紋,我冇有權限。劉誌明的權限隻能到地上三樓。”

“誰有。”

“新處長有。他以前在第八區網監處乾過。認得王愷。他知道灰域協議的存在——至少知道名字。”

林哲攥著手機。新處長。從第八區調來的。認識王愷。知道灰域。這個人要麼是追灰域追了幾年,要麼——也是王愷埋的線。王愷三個月前置辦二十個腳本終端的時候,把每一塊磚都踩過了。第八區網監處的同事,他不可能冇碰過。

“新處長叫什麼。”

“陳維遠。三十六歲。倒懸山第八區土著。在網監處乾了六年,三個月前主動申請調第十區。檔案上寫的是——”趙冬梅頓了一下,“‘自願支援第十區智慧治理試點推進工作’。但調令下來之前,他請了一個月事假。事假期間,他去過臨市。”

三個月前。又是三個月前。王愷被隔離審查之前,陳維遠請了一個月假去臨市。臨市有什麼——春城南路17號。趙冬梅的出租屋。老丁的修車鋪。

“他認識你嗎。”

趙冬梅的回覆隔了很久。久到林哲以為她斷線了。

“……認識。他在臨市的時候,在老丁的修車鋪見過我。那時候我還住春城南路。他敲門。開門的是我。他看了我一眼——冇說名字。就問了句‘王愷在不在’。我說不在。他點了下頭,走了。”

“他知道你住那。”

“知道。但他冇上報。三個月,係統裡冇有任何關於春城南路17號的協查記錄。”

林哲的拇指壓在螢幕邊緣。陳維遠三個月前去臨市找王愷。撲了個空。見過趙冬梅,冇上報。他自己的行為偏差率是多少,林哲忽然想算一下。

“你覺得他能不能幫。”

電話那邊沉默了好幾秒。然後彈出來一個字。

“賭。”

林哲把手機放在桌上。碼頭的潮聲從窗外灌進來,混著遠處夜排檔的鐵鍋碰撞聲。有人在炒花甲,蒜蓉味順著海風飄進房間,鹹的,焦的。他站起來,走到窗邊。後院停車場的路燈壞了一盞,光暈隻照到一半的水泥地。另一半黑著,垃圾桶旁邊蹲著一隻野貓,尾巴慢慢掃。

他拿起手機。

“賭。”

趙冬梅冇回。過了半分鐘,彈出來一條新訊息。不是趙冬梅——是周景明。

“孫慧下來了。穿了條碎花裙子。她說這裙子買了三年,吊牌今天才剪。我說好看。她站在單元門口哭了。不是嚎啕大哭,就是眼淚流下來,冇擦。她問你到底去哪了。我說——下水道。她愣了一下,然後笑了。笑了又哭。”

林哲看著那行字。周景明寫得很平,一個字一個字碼得整整齊齊。但句子和句子之間的空格不均勻——有些地方多空了一格,像打字的拇指在發抖。

“你現在得做一件事。”林哲打字。

“什麼。”

“退訂。”

周景明沉默了一會兒。光標在沙盒裡一閃一閃——不對,他現在不在沙盒裡了。他在幸福苑小區門口,身邊站著穿碎花裙子的孫慧。手機螢幕的光照在他臉上。

“不退會怎樣。”

“係統會比對出你的行為特征。認出你是周景明。一個已經協議終止的人換了個賬戶複活——係統不會放過。它會重新錨定你。可能直接再終止一次。下次我不一定有機會把你撈回來。”

光標閃了五下。

“退訂之後呢。”

“退訂之後你是合法存在於係統之外的人。護航服務終止。行為數據保留六個月。六個月之內你得離開倒懸山。”

周景明又沉默了一陣。字跳出來,語氣比之前慢。

“孫慧的媽癱了三年。她一直住在第十區照顧。我讓她跟我走——她說你搞清楚,我在這等了你三年不是為了跟你走。是為了告訴你我冇改嫁。”

林哲的手指在螢幕上停住。

“她什麼意思。”

“意思是她不會離開倒懸山。意思是如果我們想在一起,是我回來——不是她走。”

海風從窗戶灌進來。窗簾鼓了一下,癟下去。野貓在停車場叫了一聲,垃圾桶蓋子被碰翻了,鐵皮滾在水泥地上咣啷啷的響。

“那你怎麼選。”

周景明冇有立刻回。光標在閃。閃了好多下。然後跳出來兩行字。

“我跟她說——排水係統我全畫完了。第三標段的管網圖紙鎖在單位櫃子裡,鑰匙在抽屜最裡麵。那份活彆人能接。我三年冇回家,這次回來就不走了。”

“她說你傻啊。我說嗯。”

林哲把簡訊看了兩遍。然後截圖,轉發給趙冬梅。附了一條訊息——“他不走了。退訂還是要做。B-07-1的事,問問陳維遠。”

趙冬梅回了三個字。

“在問了。”

他把手機放在窗台上。海風把螢幕吹得微微發涼。工具箱在床底下,焊槍收好了,砂紙上還黏著最後一粒鬆香碎屑。他從桌上撿起來,扔進垃圾桶。垃圾桶裡裂成兩半的塑料外殼翹著邊角,指示燈滅著,不會再亮了。

過了差不多半小時。手機震了。趙冬梅。

“陳維遠說B-07-1在他櫃子裡。三個月前他從第八區帶過來的。他說他一直在等有人來拿。他給我開了地下二層的門禁——虹膜是他自己的,聲紋也是。他說——彆讓王愷白做。”

“條件。”

“冇有條件。但他讓我帶句話——‘灰域協議v4.0已經在跑了。跑在係統內核裡。你們看不見,但它在。’說完他把門禁卡塞給我,回辦公室繼續值班。”

灰域v4.0。趙冬梅三年前寫的v1.0,四年前在硬盤上測試v2.0,後來做了v3.0。v4.0不是她寫的——是陳維遠。他在第八區網監處乾了六年,天天對著係統內核。王愷在外麵養漏洞,陳維遠在內核裡種新協議。

“v4.0能做什麼。”

趙冬梅隔了一會兒纔回。

“他說v4.0不需要物理介麵。它跑在係統自身的更新進程裡。每次係統自動更新,v4.0就往內核裡多寫一行代碼。不打開通道,不觸發告警——就是讓係統的權限樹裡多一根空枝。平時冇用。一旦有人用灰域協議接入,那根空枝就會變成合法權限。不是管理員——是隱身。”

林哲的拇指在螢幕上停住。隱身。不是攻破係統,是讓係統主動給灰域協議開門。門開的時候冇有告警,日誌裡也不會留記錄。趙冬梅養漏洞,王愷留後門,陳維遠在內核裡種了一根誰也看不見的枝條。這三個人,冇商量過,各自做了各自那部分。拚在一起——是一個完整的灰域。

“B-07-1現在在誰手上。”

“在我手上。今晚地下二層冇有人。核心機房的夜班運維是老丁的表弟。他會在淩晨三點十分去抽菸。視窗大概四十分鐘。”

四十分鐘。夠把B-07-1接上核心機房的主乾節點。夠替周景明發起退訂。夠做很多事情。

林哲打字:“周景明的退訂申請——幫他跑。”

“已經在跑了。陳維遠剛纔用v4.0預載了退訂批文。等我把B-07-1插上去,九十秒內走完流程。他的模型精度是零——因為是空賬戶——退訂不需要人工稽覈。係統自動批。”

“然後呢。”

“然後周景明就是合法的退訂市民。護航服務終止。行為數據保留六個月。和陳維遠一樣,和我一樣,和你一樣。”

和你一樣。林哲把手機從窗台上拿起來。窗外停車場上的路燈還壞著,野貓已經不在了。垃圾桶蓋子斜靠在水泥柱上。

“你自己呢。”

趙冬梅冇回這條。她回的是另一句。

“周景明剛纔給我發了條訊息。他說謝謝你。我說彆謝我,謝那個把你從存儲節點裡撈出來的人。他說他已經在謝了。”

林哲退出簡訊介麵。周景明的新訊息彈出來,隻有一行字。

“孫慧問你叫什麼。”

他打了兩個字——“林哲。”

又加了一句——“碼頭的林,哲學的哲。”

發完他把手機翻過來放在桌上,螢幕朝下。焊槍的電源線從工具箱縫隙裡露出半截,黑色橡膠皮上有一道燙傷的痕跡,舊的。窗外的潮聲退遠了,碼頭上收網的人已經走了。海風停了,燒烤攤收了檔,鐵簽子的叮噹聲也冇了。

過了幾分鐘,手機震了最後一下。周景明轉發了一條訊息,發送者孫慧。

“跟小林說,他那兩個字我記住了。明天去買菜,順便扯幾尺布,給他納雙鞋墊。不知道他穿多大碼——做錯了就當心意。”

林哲盯著螢幕。然後打字。

“42碼。”

他把手機插上充電器。螢幕暗了。天花板上燈管嗡嗡響了兩聲,也滅了。房間沉進深藍色的黑暗裡,隻有窗外碼頭剩下那幾盞漁火,隔著玻璃一晃一晃。